Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Honnor HVDCOperatorActivePowerRange as well as Pmax of hvdcLine in AC emulation #1005

Merged
merged 6 commits into from
Mar 29, 2024

Conversation

vidaldid-rte
Copy link
Collaborator

@vidaldid-rte vidaldid-rte commented Mar 26, 2024

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce?
Take into account active power limits of HVDC in AC emulations
They can be defined by
maxP in the HVDC line
Or in the HvdcOperatorActivePowerRange extension that provides a limit in each direction

What is the current behavior?
Limits are ignored in AC Emulation

What is the new behavior (if this is a feature change)?
Limits are honoured.
If P0+KdeltaPhi out of range, P is capped to a bound of the range?

Does this PR introduce a breaking change or deprecate an API?

  • Yes
  • No

@vidaldid-rte vidaldid-rte changed the title [WIP] Honnor HVDCOperatorActivePowerRange as well as hvdcLine.pmax in AC emulation Honnor HVDCOperatorActivePowerRange as well as hvdcLine.pmax in AC emulation Mar 27, 2024
LoadFlow.Runner loadFlowRunner = new LoadFlow.Runner(new OpenLoadFlowProvider(new DenseMatrixFactory()));
LoadFlowParameters p = new LoadFlowParameters();
p.setHvdcAcEmulation(true);
LoadFlowResult result = loadFlowRunner.run(network, p);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a test with HvdcAngleDroopActivePowerControl but no HvdcOperatorActivePowerRange extension?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rosiereflo Yes. All other tests with HVDC in AC emulation. For example testHvdcDirectionChangeAcEmulation

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have to take into account the active power range extension if the hvdc is operated in set point ?

Copy link
Collaborator Author

@vidaldid-rte vidaldid-rte Mar 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question @annetill
My approach was to consider that an extension has priority.
This is consistent with the fact that the AC emulation takes priority on both the mode (side of inverter/rectifier) and active power setPoint.
But there is nature for conflict because data is duplicated and we need to agree whether giving priority on the extension is what we want or not.
@rosiereflo

EDIT: My comment was actually on the fact that poweRange has priority over hvdcLine.pmax (I had read Anne's point too quicky)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also the fix did not cover the case where AC Emlulation is off.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But I have not seen consistency check between p and pmax in HvdcLineAdder

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In OLF, I have noticed that we can have a generator with a targetP over Pmax, it is not forbidden but maybe it should... for VSC converter station, no check either. Any idea @geofjamg ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For generators it is very common to have a targetP outside Pmin/Pmax on real data.
Usual expected behavior for these is just to leave them where they are outside Pmin/Pmax and don't change them at all, e.g. exclude them from slack distribution.
I would be against enforcing targetP within Pmin/Pmax for generators in iIDM. Same for reactive power.
For HVDC I don't have any strong opinion though... There aren't that much, and AC emulation is ultra specific to few links.

Copy link
Member

@annetill annetill Mar 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we can say that it is the user's responsibility and not the purpose of this fix, related to hvdc in AC emulation.

Signed-off-by: VIDAL Didier (Externe) <didier.vidal_externe@rte-france.com>
Signed-off-by: VIDAL Didier (Externe) <didier.vidal_externe@rte-france.com>
Signed-off-by: VIDAL Didier (Externe) <didier.vidal_externe@rte-france.com>
Signed-off-by: VIDAL Didier (Externe) <didier.vidal_externe@rte-france.com>
Signed-off-by: VIDAL Didier (Externe) <didier.vidal_externe@rte-france.com>
Copy link
Member

@annetill annetill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still approved

Copy link

@annetill annetill changed the title Honnor HVDCOperatorActivePowerRange as well as hvdcLine.pmax in AC emulation Honnor HVDCOperatorActivePowerRange as well as Pmax of hvdcLine in AC emulation Mar 29, 2024
@annetill annetill merged commit 1829422 into main Mar 29, 2024
6 checks passed
@annetill annetill deleted the hvdc_acemu_maxp branch March 29, 2024 09:22
@annetill annetill mentioned this pull request Apr 2, 2024
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants