Class BalanceComputationImpl
java.lang.Object
com.powsybl.balances_adjustment.balance_computation.BalanceComputationImpl
- All Implemented Interfaces:
BalanceComputation
This class contains the balance adjustment computation process.
The calculation starts with defined network and areas and consists of several stages :
- LoadFlow computation
- Comparison of network area's net position with the target value
- Apply injections scaling
- Author:
- Ameni Walha <ameni.walha at rte-france.com>, Sebastien Murgey <sebastien.murgey at rte-france.com>, Mathieu Bague <mathieu.bague at rte-france.com>, Marine Guibert <marine.guibert at artelys.com>, Damien Jeandemange <damien.jeandemange at artelys.com>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
-
Constructor Summary
ConstructorsConstructorDescriptionBalanceComputationImpl
(List<BalanceComputationArea> areas, com.powsybl.computation.ComputationManager computationManager, com.powsybl.loadflow.LoadFlow.Runner loadFlowRunner) -
Method Summary
Modifier and TypeMethodDescriptionprotected double
default implementation is sum of squared mismatchesprotected boolean
isLoadFlowResultOk
(BalanceComputationImpl.BalanceComputationRunningContext context, com.powsybl.loadflow.LoadFlowResult loadFlowResult) default implementation considers LF result OK if the largest synchronous component convergedrun
(com.powsybl.iidm.network.Network network, String workingStateId, BalanceComputationParameters parameters) Run balances adjustment computation in several iterationsrun
(com.powsybl.iidm.network.Network network, String workingStateId, BalanceComputationParameters parameters, com.powsybl.commons.reporter.Reporter reporter) Run balances adjustment computation in several iterations
-
Constructor Details
-
BalanceComputationImpl
public BalanceComputationImpl(List<BalanceComputationArea> areas, com.powsybl.computation.ComputationManager computationManager, com.powsybl.loadflow.LoadFlow.Runner loadFlowRunner)
-
-
Method Details
-
run
public CompletableFuture<BalanceComputationResult> run(com.powsybl.iidm.network.Network network, String workingStateId, BalanceComputationParameters parameters) Run balances adjustment computation in several iterations- Specified by:
run
in interfaceBalanceComputation
-
run
public CompletableFuture<BalanceComputationResult> run(com.powsybl.iidm.network.Network network, String workingStateId, BalanceComputationParameters parameters, com.powsybl.commons.reporter.Reporter reporter) Run balances adjustment computation in several iterations- Specified by:
run
in interfaceBalanceComputation
-
computeTotalMismatch
protected double computeTotalMismatch(BalanceComputationImpl.BalanceComputationRunningContext context) default implementation is sum of squared mismatches- Returns:
- total mismatch to compare with balance computation net position threshold
-
isLoadFlowResultOk
protected boolean isLoadFlowResultOk(BalanceComputationImpl.BalanceComputationRunningContext context, com.powsybl.loadflow.LoadFlowResult loadFlowResult) default implementation considers LF result OK if the largest synchronous component converged- Parameters:
context
- balance computation contextloadFlowResult
- LF result- Returns:
- true if the loadFlowResult is to be considered successful
-