Skip to content

Releases: powsybl/powsybl-open-loadflow

v2.2.0

27 Mar 16:05
v2.2.0
783fc86

Choose a tag to compare

Labels correspond the associated described change.

  • Deprecated indicates that some methods were deprecated;
  • Breaking Change indicates a breaking change which could impact all users;
  • Test Data Change indicates a change in the simulation results that may affect existing tests in your application;
  • Parameter Change indicates a new parameter, a new parameter default or a new parameter usage;

📜 Release notes

Dependencies

Load flow

  • First implementation of loadflow for AC DC networks: this new feature supports the new DC detailed components (for now DC Line, DC Bus, Voltage Source Converter, DC Ground) for load flow calculations on one single connected component (#1302, #1373) Parameter Change This feature is enabled with the parameter acDcNetwork

Robustness and accuracy

  • Multiple operational limits groups can be selected at the same time, LimitViolations are detected in each of these selected groups (#1345) Test Data Change The output limit violations now contain the operationalLimitGroupId.
  • HVDC AC emulation saturation is now managed by its specific outer loop, it is available in AC calculation and DC load flow (Breaking Change Modeling of saturation in DC load flow is new, this is a functional breaking change). Note that AC emulation saturation is still not supported in Woodbury based calculation (DC Fast Security Analysis and DC Sensitivity Analysis) Test Data Change Reports and output values can vary.
  • Update of R/X/G/B values of transformers on tap changes (#1311) Test Data Change
  • Add Q-threshold for voltage controller buses in reactive limits outerloop (#1333) Test Data Change PV <-> PQ switching can vary in the corner case of being close to the reactive power tolerance
  • Fix JSON update of OpenLoadFlowParameters extension (#1335) Test Data Change This fix can change parameters in use cases where JSON parameters were incorrectly loaded
  • Fix sensitivity based connectivity calculation (#1341)
  • Fix generationTargetQ freezing and invalidating for LfBus. This fix solves an exception throwing corner case when using Secondary Voltage Control Outer Loop (#1334)
  • Fix reported ignored target V and perform inconsistent target V checks (#1362) ![Test Data Change] (https://img.shields.io/badge/-Test%20Data%20Change-c98e00.svg) Reports are impacted
  • Fix Area Interchange Control failing if one area cannot distribute its slack bus active power (#1322) Test Data Change
  • Fix Static VAR compensator shared voltage control (#1361) Test Data Change

Security Analysis

  • Add distributedActivePower to results (#1351)
  • Support filtered conditions (on limit violation type) for Security Analysis with actions (#1337)
  • Support threshold conditions for Security Analysis with actions (#1330)
  • Support three windings transformer in terminal connection actions (#1338)
  • Contingency connectivity report: Do not count HVDC stations as lost injections if both stations belong to the same synchronous component (#1307) Test Data Change Connectivity results may be impacted
  • Zero impedance branches can be monitored with state monitors in zero impedance mode (#1298)
  • Fix Security Analysis exception contingency on half-connected non-impedance branch (#1339) Test Data Change
  • Fix disconnectedElements ID-s in ContingencyResult ConnectivityResult for three windings transformer and dangling lines (#1349) Test Data Change
  • Fix infinite and NaN flowTransfer values in security analysis results (#1367) Test Data Change
  • Disable inconsistent voltage target checking tool for contingencies (the check is now only done for the base case) (#1363)

Sensitivity Analysis

  • Operator Strategies are now supported in DC sensitivity analysis (#1326)
  • Support sensitivity variable type BUS_TARGET_VOLTAGE for Battery object (#1313)
  • Clearer and earlier exception message in case of duplicate variable set ids (#1310) Test Data Change The exception thrown in case of duplicate variable set ids is modified

Performance

  • Improve naive connectivity calculation performance (#1347) (used in security analysis with remedial actions, and now also in DC sensitivity analysis with remedial actions)

Reports

  • Add reports to describe AC Load flow voltage initialization step (#1368)
  • Add trace reports for generators that have been discarded from active power control or voltage control in the network loading (#1357) Parameter Change These reports are enabled with the enum NETWORK_LOADING in the parameter reportedFeatures
  • Remove VoltageMonitoring outerloop when not needed by the network to avoid useless line in the reports (#1320) Test Data Change Tests on reports can be impacted
  • Convert french reports encoding from Latin1 to UTF-8 (#1324) Test Data Change Tests including french reports are impacted

Documentation

  • Fix load flow documentation inconsistency (theta vs. phi) (#1346)

Developper

  • Remove deprecated methods in sensitivity analysis unit tests (#1314)
  • Update tests for transformer reactive power control on three-winding transformers (#1316)
  • Woodbury engine unit testing (#1331)
  • Add third-party license files (#1325)

v2.1.1

13 Jan 10:15
v2.1.1
e88ed52

Choose a tag to compare

📜 Release notes

This is a patch release of v2.1.0

Dependencies

  • Bump powsybl-core to v7.1.1 (#1327)

Fixes

  • Fix Fast Decoupled Solver to work with SparseMatrix (#1317)
  • Fix Security Analysis exception occuring because not same number of equations and variables (#1321)

v2.1.0

04 Dec 16:13
v2.1.0
023e2ab

Choose a tag to compare

Labels correspond the associated described change.

  • Deprecated indicates that some methods were deprecated;
  • Breaking Change indicates a breaking change which could impact all users;
  • Test Data Change indicates a change in the simulation results that may affect existing tests in your application;
  • Parameter Change indicates a new parameter, a new parameter default or a new parameter usage;

📜 Release notes

Dependencies

Robustness and accuracy

  • Automatic fix of incompatible voltage targets (#1115). This debugging feature helps finding and disabling voltage targets that are mutually incompatible, that can trigger convergence issues (enabled through the parameter fixVoltageTargets Parameter Change ) . The public method VoltageTargetChecker.findElementsToDiscardFromVoltageControl can also be used to display incompatible voltage to users in interactive applications.
  • Use of generator equivalentLocalTargetV (new IIDM value) when switching from remote voltage control to local voltage control (#1295)
  • Support of fictitious bus injections (#1114) Test Data Change Load flow results may change in IIDM networks that already had non zero values for fictitiousP0 or fictitiousQ0 since they are now taken into account
  • Maximum number of shunt sections change per Shunt incremental outerloop (#1297) Introduction of parameter incrementalShuntControlOuterLoopMaxSectionShift Parameter Change Test Data Change Changes can happen when computing load flow with incremental shunt voltage control
  • Split Area Interchange Control remaining slack mismatch into several distributions, one per area (#1283)
  • Run load flow with main synchronous component mode. Parameter Change The new choice MAIN_SYNCHRONOUS is introduced for LoadFlowParameter componentMode (previously named connectedComponentMode) (#1292)

Performance

  • Vectorization of AC EquationSystem (#1275) leading to gain in performance for AC calculation
  • Support of multi-thread computation for AC Sensitivity Analysis (#1288) with introduction of a new open sensitivity analysis parameter threadCount Parameter Change

Reports

  • Reduce some log levels and send some functional log messages to reports (#1278)

v2.0.0

15 Oct 14:44
v2.0.0
b4c6611

Choose a tag to compare

Labels correspond the associated described change.

  • Deprecated indicates that some methods were deprecated;
  • Breaking Change indicates a breaking change which could impact all users;
  • Test Data Change indicates a change in the simulation results that may affect existing tests in your application;
  • Parameter Change indicates a new parameter, a new parameter default or a new parameter usage;

📜 Release notes

Dependencies

  • Built with Java 21 (PR #1267). You need java 21 or later to run OpenLoadFlow. Breaking Change
  • Update maven wrapper to version 3.3.3 (PR #1274)
  • Bump powsybl-core to v7.0.0 (Breaking Change include new load flow API support and new sensitivity API support, see the powsyble-core migration guide section Deprecated methods)

Reports

  • Report messages are available in French (PR #1260). To see reports in French, add .withLocale(Locale.FRANCE) to the root report node builder.

Robustness and accuracy

  • Update target Q of generators when target P changes (PR #1240) : when using forceTargetQWithinReactiveLimits parameter, generators Q limits can depend on target P (that can change during the load flow because of active power distribution). Now target Q can be updated whenever the target P changes during the load flow Test Data Change
  • Option to consider generators at zero TargetP as started (PR #1265) Parameter Change. To activate this mode, set parameter generatorsWithZeroMwTargetAreNotStarted to true. By default, the previous behaviour is kept: generators connected to the network with targetP set to zero do not participate to the slack distribution even if 0 is between minP and maxP.
  • Breaking Change Parameter Change Update default parameter values (PR #1273). Default parameters now provide values for reliable loadflow in most use cases, by failing if the slack distribution fails. The modified defaults are slackDistributionFailureBehavior (previous default LEAVE_ON_SLACK_BUS, now FAIL), transformerVoltageControlMode (previous default WITH_GENERATOR_VOLTAGE_CONTROL now INCREMENTAL_VOLTAGE_CONTROL) and plausibleActivePowerLimit (previous default 5000, now 10000). The latter parameter has been increased to allow powsybl sample models to run with these new defauts..
  • Fix NPE in Security Analysis in breaker mode if a generator regulates voltage on disconnected remote terminal (#1261 )
  • Parameter Change When startWithFrozenACEmulation is set to true, HVDC in AC emulation begin the simulation in fixed setPoint mode, with active set point defined by the previous values of angles of the stations. It is only after the first newton raphson converges that the HVDC AC emulation is taken into account. By default, this mode is deactivated for a loadflow, but activated for post contingency computation in security analysis and sensitivity analysis. See PR (#1199) and (#1289). This mode can help detect situations where power cannot flow to/from and HVDC station after a contingency, and until the HVDC automata reacts to the angle change (which may take several minutes). Test Data Change Since the new behaviour is active by default for security analysis or sensitivity analysis, may change some tests using HVDC emulation. .
  • Fix Q dispatch not meeting requested reactive power mismatch threshold (#1241). Test Data Change may break some tests that compare reactive injection with a tolerance smaller than the previous Q dispatch threshold.

Security analysis

  • Add scope control for applying overridden load flow parameters to operator strategies (PR #1257) : When operator strategies are defined for a contingency, the scope attribute of ContingencyLoadFlowParameters defines whether the overridden parameters also apply to the operator strategy simulations.

Sensitivity analysis

  • Allow to specify a battery ID as an injection variable id (PR #1272)
  • Support sensitivity of BRANCH_CURRENT per HVDC_LINE_ACTIVE_POWER (PR #1258) Breaking Change Any sensitivity cannot be computed according to an HVDC in AC emulation mode (because its active power set point cannot be set). This case has been clarified in this PR and now throws an exception.
  • New sensitivity API support [#1285). Breaking Change See the powsyble-core migration guide section Deprecated methods
  • Sensivity Analysis computation supports thread interruption and can be cancelled (PR #1284 )

Load Flow

  • Fix serialization of open load flow provider parameters to map. The result map can now be reused to update all parameters. (PR #1280)
  • New loadflow API support [#1285) . Breaking Change See the powsyble-core migration guide section Deprecated methods
  • The Fast_Decoupled algorithm is available as an alternative to Newton-Raphson or Newton-Krylov to solve the AC equation system. PR #1241 . For more information, see the Fast_Decoupled documentation.

Performance

  • Reduce time consumed by Equation.rhs() and EquationSystemIndex (PR #1269)

Developper

  • Removing use of deprecated methods for OperationalLimitsGroup (PR #1259)
  • Fix AcLoadFlowResult toString method, renaming newtonRaphsonIterations to a more generic name solverIterations (PR #1276)

v1.16.0

10 Jul 12:46
v1.16.0
9f4cb68

Choose a tag to compare

Labels correspond the associated described change.

  • Deprecated indicates that some methods were deprecated;
  • Breaking Change indicates a breaking change which could impact all users;
  • Test Data Change indicates a change in the simulation results that may affect existing tests in your application;
  • Parameter Change indicates a new parameter, a new parameter default or a new parameter usage;

📜 Release notes

Dependencies

  • Bump powsybl-core to v6.8.0 Breaking Change This release introduces breaking changes in IIDM 1.14. See the migration guide

Reports

  • Reports i18n (#1216) and {#1225}. Implements the powsybl-core report node V3 for i18n API. Breaking Change. When creating a root report node, you need to include the OpenLoadFlow message bundle as explained in https://github.com/powsybl/powsybl-core/wiki/Migration-guide-v6.7.0#report-node-v3-for-i18n .
  • Active Power Distribution: better reports severities when residual mismatch remains #1215 . Before this change, the active power distribution could emit a report with error severity when it failed to distribute the slack, even if the load flow parameters (such as slackBusPMaxMismatch or slackDistributionFailureBehavior) would not consider this as a failure.

IIDM changes

  • Breaking Change Test Data Change #1246 the field tapPosition of tap changers, and the field sectionCount of shunt compensators are no longer updated after a loadFlow. Instead, the fields solvedTapPosition and solvedSection are updated. For more information, see the migration guide

Robustness and accuracy

  • Fix double slack distribution in DC Security Analysis (#1209)
  • Ensure all parameters are read from the platform configuration file (#1214)
  • In Connectivity Report do not count twice lost loads and generators that are on a contingency bus (#1204)
  • Filter disabled generators when computing bus Q limits (#1220). Before the targetQ of disconnected groups of a PV bus was counted and shifted the PQ diagram . Test Data Change may change results of tests that were affected by the issue.
  • Change load flow result when there is no voltage control in a component (leads to NO_CALCULATION instead of FAILED) (#1226) Test Data Change may change results of tests that check load flow result status.
  • Force area boundary branches to min impedance (PR #1218). For more details see the Area Interchange Control algorithm description.
  • Parameter Change Extrapolate reactive capability curve limits when outside active power limits (PR #1224) adds the new parameter extrapolateReactiveLimits to allow a different computation of reactive limits for generators that control voltage during startup (targetP < pMin) instead of using the bounds of minP.
  • Parameter Change Add parameter to define min nominal voltage for unrealistic state check (PR #1217) adds the new parameter minNominalVoltageRealisticVoltageCheck to allow setting strict realistic voltage boundaries that would apply only to high voltage substations.
  • Fix slack mismatch remaining after AIC (#1223 )

Security Analysis

Sensitivity Analysis

  • Sensitivity Analysis : Select tie line factor with its dangling line id (PR #1228). This change enables to use the same API to get a dangling line sensitivity whether it is paired or not. When a dangling line id is specified, if the dangling line is paired (and its studied side is the side 1 corresponding to the network side), the corresponding LfTieLineBranch is selected.
  • Added support of BRANCH_REACTIVE_POWER and BRANCH_CURRENT per INJECTION REACTIVE POWER (PR #1237)

Performance

  • Refactor access to branch limits when detecting limit violations (#1197)
  • Save and restore only active power changes in Fast DC Security Analysis (#1205)
  • Change log levels of messages in fast DC Security Analysis (#1222) Detailed logs for post-contingency and post-operator strategy simulations are now in DEBUG level. Setting the com.powsybl.openloadflow.sa.AbstractSecurityAnalysis logger to DEBUG in your logging configuration file enables the display of detailed logs (but it is recommended to avoid it for better performance, use it only for debugging and detailed analysis purpose)
  • Cache loadTargetQ in buses (PR #1232)

v1.15.2

19 Jun 15:56
2f27060

Choose a tag to compare

📜 Release notes

This is a patch release of v1.15.1

Dependencies

  • Bump powsybl-core to v6.7.2

v1.15.1

06 May 15:34
v1.15.1
41797d6

Choose a tag to compare

📜 Release notes

This is a patch release of v1.15.0

Dependencies

  • Bump powsybl-core to v6.7.1 (#1229)

Fixes

  • Fix double slack distribution in DC Security Analysis (#1209)

v1.15.0

26 Mar 12:41
v1.15.0
2e871e0

Choose a tag to compare

Labels correspond the associated described change.*

  • Deprecated indicates that some methods were deprecated;
  • Breaking Change indicates a breaking change which could impact all users;
  • Test Data Change indicates a change in the simulation results that may affect existing tests in your application;
  • Parameter Change indicates a new parameter, a new parameter default or a new parameter usage;

📜 Release notes

Documentation

Usability

  • Clearer error message when initial LF fails in AC Sensi (#1170)
  • Improve log and report when max outerloop iterations reached (#1179)
  • Reports improved for multi-thread security analysis (#1168). They now appear in the same way whether computation is single threaded or multi-threaded. In addition reports contain information about operator strategy actions that could not be applied to a particular contingency.
  • The generators configured to control voltage that reached their reactive diagram limits or local voltage limits during loadflow computation are now reported (#1182). This can help identify causes for large number of outerloop iterations or understand why some groups are not maintaining voltage in the solution.

Security Analysis

  • For Security Analysis it is possible to override some loadflow parameters for specific contingencies via a Contingency extension (#1139 and #1156). For more information see 'Contingency Load Flow Parameters' in the Open Load Flow security analysis documentation documentation https://powsybl.readthedocs.io/projects/powsybl-open-loadflow/en/latest/security/parameters.html
  • The violation location is now reported with node information in Node Breaker topology, even when a contingency changes the merged buses ( #1180)
  • The AreaInterchangeTargetAction is now supported (#1172 and #1186)
  • In Fast DC security analysis, HVDC emulation is disabled (#1173). The active power set point is used instead for HVDC lines configured with AC emulation. Previously, fast DC could give incorrect results if the model contained HVDC lines configured with AC emulation. Test Data Change

Sensitivity Analysis

Robustness and accuracy

  • Fix injections ignored on first slack bus when using multiple slacks (#1160) Completes the fix on multi-slack made in V14.0. Test Data Change . May impact the result of models using multiple slack buses that were subject to this bug. With this fix loadflow runs are expected to provide the same result -after slack distribution- whether they are run with one or several slack nodes. (but before slack distribution the loss depends on the slack location).
  • Fix secondary voltage control in case of generator remote voltage control (#1165). Secondary Voltage Control is an optional outerloop, not activated by default, that provides a fast, static, approximation of the equilibrium state of the generator reactive power alignment process that controls the voltage of a remote pilot point.
  • Operator strategies are now supported when Security Analysis is performed in multi-thread mode (#1177)
  • Parameter Change A new parameter forceTargetQInReactiveLimits can be used to force generator targetQ to be within the generator's reactive limits (#1154). By default the parameter is set to false and, as in previous versions, if targetQ is outside the reactive limits diagram, targetQ is used for a group that is not controlling voltage.
  • Slack distribution participation factors: use maxP instead of maxTargetP (#1178 (comment)) (#1178) Test Data Change. May change test results for models that have an ActivePowerControl with a maxTargetP value that overrides a generator's maxP.
  • Unrealistic voltage check is now performed for all AC solvers #1188 . Previously the check was only performed for the NewtonRaphson AC Solver. Parameter Change The minRealisticVoltage and maxRealisticVoltage parameters now have an effect for any AC Solver (NewtonRaphson, NewtonKrylov or custom solver)
  • Parameter Change The new parameter disableInconsistentVoltageControl can be set so that Open Load Flow disables inconsistent generator voltage controls #1185 . By default, Open Load Flow will continue to keep the voltage control of an inconsistent bus, with one arbitrary configuration from the conflicting set on the bus.
  • Reduce unrealistic voltage created by remote voltage control by #1135 via a new parameter, voltageRemoteControlRobustMode set to True by default. Parameter Change . For more information, see the parameter documentation at https://powsybl.readthedocs.io/projects/powsybl-open-loadflow/en/latest/loadflow/parameters.html . Test Data Change Models that previously failed with unrealistic voltage may now succeed since voltageRemoteControlRobustMode is true by default.
  • Balance type PROPORTIONAL_TO_REMAINING_MARGIN checks active mismatch sign for participation factors [#1189]. Previously the margin vs pMax was always taken into account even when the slack mismatch was negative. Test Data Change may change the results of test using the PROPORTIONAL_TO_REMAINING_MARGIN balance type.

Advanced API

Performance

  • Fix performance issue when accessing loading limits from IIDM (#1162) makes the access to load limits more efficient and accelerates slightly the AC, DC and fast DC security analysis.
  • Load active power target caching (#1163) accelerates slightly fast DC security analysis. Test Data Change This PR changes the order of some double operations at may create small differences in the last bits...
Read more

v1.14.1

18 Dec 09:57
v1.14.1
092b42a

Choose a tag to compare

📜 Release notes

This is a patch release of v1.14.0

Fixes

  • Fix javadoc warnings (#1152)
  • Fix slack distribution outerloop incorrect stable status (#1157)

v1.14.0

12 Dec 16:47
v1.14.0
a69b3a0

Choose a tag to compare

Labels correspond the associated described change.*

  • Deprecated indicates that some methods were deprecated;
  • Breaking Change indicates a breaking change which could impact all users;
  • Test Data Change indicates a change in the simulation results that may affect existing tests in your application;
  • Parameter Change indicates a new parameter, a new parameter default or a new parameter usage;

📜 Release notes

Reports

  • Report buses out of realistic voltage range in sub reports [#1105] Test Data Change May change reference reports layout for tests having this error condition.

LoadFlow

  • The Area Interchange control is now available in DC [#1123]. Before it was only available in AC. This features, activated by the parameter areaInterchangeControl constrains OpenLoadFlow to find a solution where area interchanges match the input target interchange values. The areaInterchangeControl parameter now impacts DC computations. Parameter Change

Security Analysis

  • ViolationLocation are now returned for bus voltage violations. ViolationLocation allow to know the precise location of a bus related violation inside a VoltageLevel, in BusBreaker topology or in NodeBreakerTopology. [#1134]
  • The criteria to stop the active power flow through a disconnected HVDC line has been modified in [#1120]. Previously an HVDC line was considered disconnected if one of its stations was connected to an isolated merged bus that was not connected to a Generator or a Load. With this fix, fictive loads are ignored. So if an HVDC station is only connected to a fictive load, the HVDC line is now considered disconnected.
  • With parameter connectedComponentMode set to ALL, the security analysis now handles correctly all synchronous components of the main connected component (#1129). Previously, only the largest synchronous component of the main connected component was run. Test Data Change . May impact tests running SA on all components where the first connected component has several synchronous parts.
  • PST actions for fast DC SA are supported [#1095]. Fast DC SA is an optional algorithm for security analysis in DC activate by the dcFastMode parameter. It is much faster than the default algorithm but has currently some limitations (see the dcFastMode parameter documentation for a list of limitations)

Robustness and accuracy

  • Retry LU decomposition if incremental mode fails (#1108). This change helps in particular for the SA computation of large modes with HVDC in AC emulation that can reach or quit the maximal HVDC Active Power Range.
  • Fix injections ignored on slack buses when using multi slack (#1116) Test Data Change . May impact the result of models using multiple slack buses that were subject this this bug.
  • DC Load Flow reference bus and multi slack support [#1118]. Provides a better DC initialization for AC simulations using multiple slack buses.
  • Fixed a bug in DC : incorrect transit if a PST is near zero impedance lines, or if a HVDC in AC emulation is near a zero impedance line. FIxed by #1138. Test Data Change May change results of tests that were subject to the bug
  • Parameter Change In DC, the slackDistributionFailureBehavior parameter is now honoured [#1146]. Previously the behaviour was always LEAVE_ON_SLACK_BUS even if the parameter had a different value. Test Data Change Tests with a different value than LEAVE_ON_SLACK_BUS and a slack distribution failure condition may behave differently with this release.

Advanced API

  • An extension API is provided to allow external AC Solvers in addition to the existing NewtonRaphson and NewtonKrylov solvers (#1107). The acSolverType has evolved to support other AC solvers available in the classpath. Parameter Change
  • The utility class com.powsybl.openloadflow.util.MatrixUtil has been removed and the utility functions added to the com.powsybl.math.matrix.DenseMatrix class from powsybl-core [#1136]. Breaking Change This may break code of projets that took advantage of this internal utility class.