Skip to content

Commit 05b008d

Browse files
feat(balances-adjustment): use current thread for loadflow (#131)
Signed-off-by: Joris Mancini <[email protected]>
1 parent 93e0a5e commit 05b008d

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

src/main/java/org/gridsuite/modification/modifications/BalancesAdjustmentModification.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import com.powsybl.balances_adjustment.util.CountryAreaFactory;
1111
import com.powsybl.commons.report.ReportNode;
1212
import com.powsybl.commons.report.TypedValue;
13-
import com.powsybl.computation.ComputationManager;
13+
import com.powsybl.computation.local.LocalComputationManager;
1414
import com.powsybl.iidm.modification.scalable.ProportionalScalable;
1515
import com.powsybl.iidm.modification.scalable.Scalable;
1616
import com.powsybl.iidm.modification.scalable.ScalingParameters;
@@ -19,6 +19,7 @@
1919
import com.powsybl.loadflow.LoadFlow;
2020
import com.powsybl.loadflow.LoadFlowParameters;
2121
import com.powsybl.openloadflow.OpenLoadFlowParameters;
22+
import lombok.SneakyThrows;
2223
import org.gridsuite.modification.IFilterService;
2324
import org.gridsuite.modification.ILoadFlowService;
2425
import org.gridsuite.modification.dto.*;
@@ -128,19 +129,16 @@ private void overrideBalanceComputationParameters(BalanceComputationParameters p
128129
.setSlackDistributionFailureBehavior(OpenLoadFlowParameters.SlackDistributionFailureBehavior.FAIL);
129130
}
130131

132+
@SneakyThrows
131133
@Override
132-
public void apply(Network network,
133-
NamingStrategy namingStrategy,
134-
boolean throwException,
135-
ComputationManager computationManager,
136-
ReportNode reportNode) {
134+
public void apply(Network network, NamingStrategy namingStrategy, ReportNode reportNode) {
137135

138136
BalanceComputationParameters parameters = createBalanceComputationParameters(reportNode);
139137

140138
List<BalanceComputationArea> areas = createBalanceComputationAreas(network, reportNode);
141139

142140
BalanceComputation balanceComputation = new BalanceComputationFactoryImpl()
143-
.create(areas, LoadFlow.find(), computationManager);
141+
.create(areas, LoadFlow.find(), new LocalComputationManager(Runnable::run));
144142

145143
balanceComputation
146144
.run(network, network.getVariantManager().getWorkingVariantId(), parameters, reportNode)

src/test/java/org/gridsuite/modification/modifications/BalancesAdjustmentModificationTest.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package org.gridsuite.modification.modifications;
99

1010
import com.powsybl.commons.report.ReportNode;
11+
import com.powsybl.iidm.modification.topology.DefaultNamingStrategy;
1112
import com.powsybl.iidm.network.Country;
1213
import com.powsybl.iidm.network.Network;
1314
import com.powsybl.loadflow.LoadFlowParameters;
@@ -102,6 +103,13 @@ protected void checkModification() {
102103
// No checks implemented for this modification
103104
}
104105

106+
@Override
107+
@Test
108+
public void testApply() throws Exception {
109+
buildModification().toModification().apply(getNetwork(), new DefaultNamingStrategy(), ReportNode.NO_OP);
110+
assertAfterNetworkModificationApplication();
111+
}
112+
105113
@Test
106114
void testApplyWithLoadFlow() {
107115
var infos = BalancesAdjustmentModificationInfos.builder()
@@ -149,7 +157,7 @@ void testApplyWithLoadFlow() {
149157
.build());
150158
BalancesAdjustmentModification modification = (BalancesAdjustmentModification) infos.toModification();
151159
modification.initApplicationContext(null, loadFlowService);
152-
modification.apply(getNetwork(), false);
160+
modification.apply(getNetwork(), new DefaultNamingStrategy(), ReportNode.NO_OP);
153161

154162
assertEquals(-58d, getNetwork().getGenerator("GH1").getTerminal().getP(), PRECISION);
155163
assertEquals(-36d, getNetwork().getGenerator("GH2").getTerminal().getP(), PRECISION);
@@ -194,7 +202,7 @@ void testLoadFlowParametersNotFound() {
194202
.build();
195203

196204
// Should not throw exception but use default parameters and complete successfully
197-
assertDoesNotThrow(() -> modification.apply(network, false, reportNode));
205+
assertDoesNotThrow(() -> modification.apply(network, new DefaultNamingStrategy(), reportNode));
198206

199207
// Verify that the appropriate report message was generated
200208
TestUtils.assertLogMessage(
@@ -237,7 +245,7 @@ void testLoadFlowProviderNotSpecified() {
237245
.build();
238246

239247
// Should not throw exception but use default parameters and complete successfully
240-
assertDoesNotThrow(() -> modification.apply(network, false, reportNode));
248+
assertDoesNotThrow(() -> modification.apply(network, new DefaultNamingStrategy(), reportNode));
241249

242250
// Verify that the appropriate report message was generated
243251
TestUtils.assertLogMessageWithoutRank(
@@ -273,7 +281,7 @@ void testLoadFlowParametersIdNull() {
273281
.build();
274282

275283
// Should not throw exception but use default parameters and complete successfully
276-
assertDoesNotThrow(() -> modification.apply(network, false, reportNode));
284+
assertDoesNotThrow(() -> modification.apply(network, new DefaultNamingStrategy(), reportNode));
277285

278286
// Verify that the appropriate report message was generated
279287
TestUtils.assertLogMessageWithoutRank(

0 commit comments

Comments
 (0)