Skip to content

Commit 4b7ca9d

Browse files
committed
improve SVC validation rules wip
Signed-off-by: Samir Romdhani <samir.romdhani_externe@rte-france.com>
1 parent c3d51eb commit 4b7ca9d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

loadflow/loadflow-validation/src/main/java/com/powsybl/loadflow/validation/StaticVarCompensatorsValidation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
import com.powsybl.iidm.network.StaticVarCompensator.RegulationMode;
2626
import com.powsybl.loadflow.validation.io.ValidationWriter;
2727

28+
import static com.powsybl.loadflow.validation.ValidationUtils.isOutsideTolerance;
29+
import static com.powsybl.loadflow.validation.ValidationUtils.isUndefinedOrZero;
30+
2831
/**
2932
*
3033
* @author Massimo Ferraro {@literal <massimo.ferraro@techrain.eu>}
@@ -164,7 +167,8 @@ public boolean checkSVCs(String id, double p, double q, double vControlled, doub
164167

165168
private static boolean checkSVCsNaNValues(String id, double p, double q, double reactivePowerSetpoint) {
166169
// a validation error should be detected if there is a setpoint but no p or q
167-
if (!Double.isNaN(reactivePowerSetpoint) && reactivePowerSetpoint != 0) {
170+
// Rule2: reactivePowerSetpoint must be undefined or equal to 0 when no p or q
171+
if (!isUndefinedOrZero(reactivePowerSetpoint, 0.0)) {
168172
LOGGER.warn("{} {}: {}: P={} Q={} reactivePowerSetpoint={}", ValidationType.SVCS, ValidationUtils.VALIDATION_ERROR, id, p, q, reactivePowerSetpoint);
169173
return false;
170174
}
@@ -175,8 +179,9 @@ private static boolean checkSVCsValues(String id, double p, double q, double vCo
175179
double nominalVcontroller, double reactivePowerSetpoint, double voltageSetpoint,
176180
RegulationMode regulationMode, boolean regulating, double bMin, double bMax, ValidationConfig config) {
177181
boolean validated = true;
182+
double threshold = config.getThreshold();
178183
// Rule1: active power should be equal to 0
179-
if (Math.abs(p) > config.getThreshold()) {
184+
if (isOutsideTolerance(p, 0.0, threshold)) {
180185
LOGGER.warn("{} {}: {}: P={}", ValidationType.SVCS, ValidationUtils.VALIDATION_ERROR, id, p);
181186
validated = false;
182187
}

0 commit comments

Comments
 (0)