@@ -206,6 +206,8 @@ public enum FictitiousGeneratorVoltageControlCheckMode {
206
206
207
207
public static final String MAX_REALISTIC_VOLTAGE_PARAM_NAME = "maxRealisticVoltage" ;
208
208
209
+ public static final String MIN_NOMINAL_VOLTAGE_REALISTIC_VOLTAGE_CHECK_PARAM_NAME = "minNominalVoltageRealisticVoltageCheck" ;
210
+
209
211
public static final String MIN_NOMINAL_VOLTAGE_TARGET_VOLTAGE_CHECK_PARAM_NAME = "minNominalVoltageTargetVoltageCheck" ;
210
212
211
213
public static final String REACTIVE_RANGE_CHECK_MODE_PARAM_NAME = "reactiveRangeCheckMode" ;
@@ -390,6 +392,7 @@ public static List<Object> getAcSolverTypePossibleValues() {
390
392
new Parameter (MAX_PLAUSIBLE_TARGET_VOLTAGE_PARAM_NAME , ParameterType .DOUBLE , "Max plausible target voltage" , LfNetworkParameters .MAX_PLAUSIBLE_TARGET_VOLTAGE_DEFAULT_VALUE , ParameterScope .FUNCTIONAL , VOLTAGE_CONTROLS_CATEGORY_KEY ),
391
393
new Parameter (MIN_REALISTIC_VOLTAGE_PARAM_NAME , ParameterType .DOUBLE , "Min realistic voltage" , AcLoadFlowParameters .DEFAULT_MIN_REALISTIC_VOLTAGE , ParameterScope .FUNCTIONAL , VOLTAGE_CONTROLS_CATEGORY_KEY ),
392
394
new Parameter (MAX_REALISTIC_VOLTAGE_PARAM_NAME , ParameterType .DOUBLE , "Max realistic voltage" , AcLoadFlowParameters .DEFAULT_MAX_REALISTIC_VOLTAGE , ParameterScope .FUNCTIONAL , VOLTAGE_CONTROLS_CATEGORY_KEY ),
395
+ new Parameter (MIN_NOMINAL_VOLTAGE_REALISTIC_VOLTAGE_CHECK_PARAM_NAME , ParameterType .DOUBLE , "Min nominal voltage realistic voltage check" , AcLoadFlowParameters .DEFAULT_MIN_NOMINAL_VOLTAGE_REALISTIC_VOLTAGE_CHECK , ParameterScope .FUNCTIONAL , VOLTAGE_CONTROLS_CATEGORY_KEY ),
393
396
new Parameter (REACTIVE_RANGE_CHECK_MODE_PARAM_NAME , ParameterType .STRING , "Reactive range check mode" , LfNetworkParameters .REACTIVE_RANGE_CHECK_MODE_DEFAULT_VALUE .name (), getEnumPossibleValues (ReactiveRangeCheckMode .class ), ParameterScope .FUNCTIONAL , GENERATOR_VOLTAGE_CONTROL_CATEGORY_KEY ),
394
397
new Parameter (LOW_IMPEDANCE_THRESHOLD_PARAM_NAME , ParameterType .DOUBLE , "Low impedance threshold in per unit" , LfNetworkParameters .LOW_IMPEDANCE_THRESHOLD_DEFAULT_VALUE , ParameterScope .FUNCTIONAL , MODEL_CATEGORY_KEY ),
395
398
new Parameter (NETWORK_CACHE_ENABLED_PARAM_NAME , ParameterType .BOOLEAN , "Network cache enabled" , LfNetworkParameters .CACHE_ENABLED_DEFAULT_VALUE , ParameterScope .FUNCTIONAL , FAST_RESTART_CATEGORY_KEY ),
@@ -539,6 +542,8 @@ public enum LowImpedanceBranchMode {
539
542
540
543
private double maxRealisticVoltage = AcLoadFlowParameters .DEFAULT_MAX_REALISTIC_VOLTAGE ;
541
544
545
+ private double minNominalVoltageRealisticVoltageCheck = AcLoadFlowParameters .DEFAULT_MIN_NOMINAL_VOLTAGE_REALISTIC_VOLTAGE_CHECK ;
546
+
542
547
private double lowImpedanceThreshold = LfNetworkParameters .LOW_IMPEDANCE_THRESHOLD_DEFAULT_VALUE ;
543
548
544
549
public enum ReactiveRangeCheckMode {
@@ -962,6 +967,15 @@ public OpenLoadFlowParameters setMaxRealisticVoltage(double maxRealisticVoltage)
962
967
return this ;
963
968
}
964
969
970
+ public double getMinNominalVoltageRealisticVoltageCheck () {
971
+ return minNominalVoltageRealisticVoltageCheck ;
972
+ }
973
+
974
+ public OpenLoadFlowParameters setMinNominalVoltageRealisticVoltageCheck (double minNominalVoltageRealisticVoltageCheck ) {
975
+ this .minNominalVoltageRealisticVoltageCheck = minNominalVoltageRealisticVoltageCheck ;
976
+ return this ;
977
+ }
978
+
965
979
public ReactiveRangeCheckMode getReactiveRangeCheckMode () {
966
980
return reactiveRangeCheckMode ;
967
981
}
@@ -1455,6 +1469,7 @@ public OpenLoadFlowParameters update(PlatformConfig platformConfig) {
1455
1469
config .getOptionalDoubleProperty (MAX_PLAUSIBLE_TARGET_VOLTAGE_PARAM_NAME ).ifPresent (this ::setMaxPlausibleTargetVoltage );
1456
1470
config .getOptionalDoubleProperty (MIN_REALISTIC_VOLTAGE_PARAM_NAME ).ifPresent (this ::setMinRealisticVoltage );
1457
1471
config .getOptionalDoubleProperty (MAX_REALISTIC_VOLTAGE_PARAM_NAME ).ifPresent (this ::setMaxRealisticVoltage );
1472
+ config .getOptionalDoubleProperty (MIN_NOMINAL_VOLTAGE_REALISTIC_VOLTAGE_CHECK_PARAM_NAME ).ifPresent (this ::setMinNominalVoltageRealisticVoltageCheck );
1458
1473
config .getOptionalEnumProperty (REACTIVE_RANGE_CHECK_MODE_PARAM_NAME , ReactiveRangeCheckMode .class )
1459
1474
.ifPresent (this ::setReactiveRangeCheckMode );
1460
1475
config .getOptionalDoubleProperty (LOW_IMPEDANCE_THRESHOLD_PARAM_NAME ).ifPresent (this ::setLowImpedanceThreshold );
@@ -1580,6 +1595,8 @@ public OpenLoadFlowParameters update(Map<String, String> properties) {
1580
1595
.ifPresent (prop -> this .setMinRealisticVoltage (Double .parseDouble (prop )));
1581
1596
Optional .ofNullable (properties .get (MAX_REALISTIC_VOLTAGE_PARAM_NAME ))
1582
1597
.ifPresent (prop -> this .setMaxRealisticVoltage (Double .parseDouble (prop )));
1598
+ Optional .ofNullable (properties .get (MIN_NOMINAL_VOLTAGE_REALISTIC_VOLTAGE_CHECK_PARAM_NAME ))
1599
+ .ifPresent (prop -> this .setMinNominalVoltageRealisticVoltageCheck (Double .parseDouble (prop )));
1583
1600
Optional .ofNullable (properties .get (REACTIVE_RANGE_CHECK_MODE_PARAM_NAME ))
1584
1601
.ifPresent (prop -> this .setReactiveRangeCheckMode (ReactiveRangeCheckMode .valueOf (prop )));
1585
1602
Optional .ofNullable (properties .get (LOW_IMPEDANCE_THRESHOLD_PARAM_NAME ))
@@ -1710,6 +1727,7 @@ public Map<String, Object> toMap() {
1710
1727
map .put (MAX_PLAUSIBLE_TARGET_VOLTAGE_PARAM_NAME , maxPlausibleTargetVoltage );
1711
1728
map .put (MIN_REALISTIC_VOLTAGE_PARAM_NAME , minRealisticVoltage );
1712
1729
map .put (MAX_REALISTIC_VOLTAGE_PARAM_NAME , maxRealisticVoltage );
1730
+ map .put (MIN_NOMINAL_VOLTAGE_REALISTIC_VOLTAGE_CHECK_PARAM_NAME , minNominalVoltageRealisticVoltageCheck );
1713
1731
map .put (REACTIVE_RANGE_CHECK_MODE_PARAM_NAME , reactiveRangeCheckMode );
1714
1732
map .put (LOW_IMPEDANCE_THRESHOLD_PARAM_NAME , lowImpedanceThreshold );
1715
1733
map .put (NETWORK_CACHE_ENABLED_PARAM_NAME , networkCacheEnabled );
@@ -1977,7 +1995,8 @@ public static AcLoadFlowParameters createAcParameters(LoadFlowParameters paramet
1977
1995
.setSolverFactory (solverFactory , parameters )
1978
1996
.setVoltageRemoteControlRobustMode (parametersExt .isVoltageRemoteControlRobustMode ())
1979
1997
.setMinRealisticVoltage (parametersExt .minRealisticVoltage )
1980
- .setMaxRealisticVoltage (parametersExt .maxRealisticVoltage );
1998
+ .setMaxRealisticVoltage (parametersExt .maxRealisticVoltage )
1999
+ .setMinNominalVoltageRealisticVoltageCheck (parametersExt .getMinNominalVoltageRealisticVoltageCheck ());
1981
2000
}
1982
2001
1983
2002
public static DcLoadFlowParameters createDcParameters (Network network , LoadFlowParameters parameters , OpenLoadFlowParameters parametersExt ,
@@ -2158,6 +2177,7 @@ public static boolean equals(LoadFlowParameters parameters1, LoadFlowParameters
2158
2177
extension1 .isVoltageRemoteControlRobustMode () == extension2 .isVoltageRemoteControlRobustMode () &&
2159
2178
extension1 .isForceTargetQInReactiveLimits () == extension2 .isForceTargetQInReactiveLimits () &&
2160
2179
extension1 .isDisableInconsistentVoltageControls () == extension2 .isDisableInconsistentVoltageControls () &&
2180
+ extension1 .getMinNominalVoltageRealisticVoltageCheck () == extension2 .getMinNominalVoltageRealisticVoltageCheck () &&
2161
2181
extension1 .isExtrapolateReactiveLimits () == extension2 .isExtrapolateReactiveLimits ();
2162
2182
}
2163
2183
@@ -2205,6 +2225,7 @@ public static LoadFlowParameters clone(LoadFlowParameters parameters) {
2205
2225
.setMaxPlausibleTargetVoltage (extension .getMaxPlausibleTargetVoltage ())
2206
2226
.setMinRealisticVoltage (extension .getMinRealisticVoltage ())
2207
2227
.setMaxRealisticVoltage (extension .getMaxRealisticVoltage ())
2228
+ .setMinNominalVoltageRealisticVoltageCheck (extension .getMinNominalVoltageRealisticVoltageCheck ())
2208
2229
.setReactiveRangeCheckMode (extension .getReactiveRangeCheckMode ())
2209
2230
.setLowImpedanceThreshold (extension .getLowImpedanceThreshold ())
2210
2231
.setNetworkCacheEnabled (extension .isNetworkCacheEnabled ())
0 commit comments