Bug Fixes
- Auxiliary Files (SCRIPT and DATA Sections): Fixed bug in parsing text in the Script command Scale(). Extra white space could cause the script to fail to run.
This would work: Scale (Load, MW, ["CustomFloat:0","CustomFloat:1"], Zone);
This would fail (note the space after the comma): Scale (Load, MW, ["CustomFloat:0", "CustomFloat:1"], Zone); - Bus View and Substation View Onelines: Breaker/Disconnect symbols were never added to a branch with BranchDeviceType = ZBR. In general this makes sense because the intent of a ZBR is to represent a branch that is never open. However, it is still possible in software to set Status=OPEN, so the BusView has been changed to always show a symbol if the ZBR branch is OPEN.
- Optimal Power Flow (OPF): The OPF option for "Power Flow Recalculation = After each LP solution" was not being treated correctly in the code, and affected the solution sequence of an AC OPF/SCOPF solution, but had negligible or no impact on the final solution. This is corrected. This impacted both the OPF and SCOPF.
- Security Constrained OPF (SCOPF) Tool: If an element happens to to be highly constrained during an SCOPF solution (i.e., many contingency violations), the actual number of violations for that element would exceed the value of the SCOPF option "Maximum Number of Contingency Violations Allow Per Element = N". This is not an issue, because the algorithm keeps track of the N worst violations, and keep repeating the SCOPF inner loop, provided new violations that are worse than the existing N violations are found. When the SCOPF outer loop iterations is set to a large number like 999, and the SCOPF yielded less severe than the existing N violations, the SCOPF outer loop would just keep going because it thought there were new violations being added. This would unnecessarily repeat the outer loop until 999. The fix here was to keep track of whether a new violation that is worse than the existing N was added, and only then continue the outer loop. This fix ensures quicker termination of the SCOPF solution, especially when there are several unenforceable violations, instead of giving the false impression that the SCOPF is trying hard to fix violations with many outer loop iterations.
- Transient Stability: There was a bug in the transient stability models string grid in model explorer. The Custom Expression Strings were showing the wrong name in the column heading. The Column heading was showing the regular custom expression name. This bug was fixed.