What was new in Version 18?

What’s New in Version 19

The following is a list of many of the most noticeable changes in Simulator Version 19, which builds on PowerWorld Corporation’s dedication to creating powerful, easy-to-use analysis software. Version 19 contains a number of major new features and hundreds of smaller enhancements to improve the performance and convenience of the package.

Auxiliary Files and Display Auxiliary Files

  • Use Concise Variable Names and Headers option to show new variable names and allow saving an auxiliary file without excess information
  • Modified reading the BusSlack field of an Area and the Voltage Controlling Converter Bus for a multi-terminal DC line so that they can also read the bus by label.
  • Added ability to save out Dynamic Formatting defined for a specific oneline to an AXD file.
  • Added the Time Delay field for ContingencyElement and RemedialActionElement to the WECC Contingency AUX format.
  • Added the Time Delay field to the SUBDATA format for Contingency Elements, Global Actions, and Remedial Actions.
  • Cleaned up how the creation of a star bus is handled when creating a three-winding transformer from an AUX file. Previously you had to input a star bus that was an existing bus in the case, and thus had to create this bus ahead of time and know its number. Now the user may optionally enter special strings for BusIDStar (BusIdentifier:3).
    • Number : enter an unused bus number and Simulator will create this bus as part of creating the three-winding transformer
    • STAR : enter this and Simulator will create a star bus by starting at the primary bus number and incrementing by 1 until a unique number is found
    • STARMAX : enter this and Simulator will create a star bus with a number equal to the maximum bus number plus 1
    • STAR98765 : enter this and Simulator will create a star bus by starting at the number given after STAR and incrementing by 1 until a unique number is found
    • Syntax Note: You may optionally put a spaces between “STAR MAX” or “STAR 98765”. If the string starts with STAR but doesn’t match this syntax we default to treating it as though it said STAR only.
  • When choosing to save settings to an auxiliary file from the Contingency Analysis Dialog, we now automatically append “, AUXDEF, YES” to the DATA section headers of the following objects so that those objects are always created when loading the auxiliary file and a dialog does not appear prompting the user about this: LimitSet, ModelExpression, ModelCondition, ModelFilter, CustomMonitor, various Contingency Definition objects.
  • When choosing to save settings to an auxiliary file from the Transient Stability Dialog, we now automatically append “, AUXDEF, YES” to the DATA section headers of the following objects so that those objects are always created when loading the auxiliary file and a dialog does not appear prompting the user about this: TSLimitMonitor, TSContingency, TSContingencyElement, TSPlotSeries, TSPlotVertAxisGroup, TSSubPlot, TSPlot.
  • When choosing to save the PV Curve Plot definitions to an auxiliary file from the PV Curve Dialog, we now automatically append “, AUXDEF, YES” to the DATA section headers of the following objects so that those objects are always created when loading the auxiliary file and a dialog does not appear prompting the user about this: PVPlotSeries, PVPlotVertAxisGroup, PVSubPlot, PVPlot.
  • When choosing to save Limit Monitoring setting to an Auxiliary File from the Limit Monitoring Dialog, we now automatically append “, AUXDEF, YES” to the DATA section header of the LIMITSET object so that those objects are always created when loading the auxiliary file and a dialog does not appear prompting the user about this.
  • When choosing to save settings to an auxiliary file from the Available Transfer Capability Dialog, we now automatically append “, AUXDEF, YES” to the DATA section headers of the following objects so that those objects are always created when loading the auxiliary file and a dialog does not appear prompting the user about this: TransferLimiter, ATCLineChange, ATCLineChangeB, ATCGeneratorChange, ATCZoneChange, TATCInterfaceChange, ATCScenario.
  • When choosing to save settings to an auxiliary file from the Default Drawing Values for New Objects Dialog, we now automatically append “, AUXDEF, YES” to the DATA section headers of all the option objects so that those objects are always created when loading the auxiliary file and a dialog does not appear prompting the user about this.
  • When using the special string &ModelExpression or &objecttype key key variable:loc:digits:decimals,, if no digits or decimals are specified then we use 7 decimal places. We will now also remove any trailing zeros if no decimals are specified.
  • Added new ability when pasting a string into a field (or by using the SetData() script command). The string can start the character & and then be followed by the objecttype, key fields, and then a variablename. When using a string of this type Simulator will parse to find the object referred to and then evaluate the variable name for that object and convert the string to the result of this evaluation. This feature can also be used in the Extra Strings in the SaveDataWithExtra() script command. An example of such as string is “&Gen ‘563’ ‘ab’ GenMW:0:8:3″This would instruct that the MW output of with 8 characters and 3 decimal points for the generator at bus 563 with an genid ‘ab’ be used.
  • Allow string expressions to be referenced by name in addition to location number.

Auxiliary File SCRIPT and SimAuto

  • When closing an instance of Simulator using SimAuto, previously the various options in Simulator which are normally stored to the Windows registry were not stored. This includes settings like Distributed Computing and Keyboard shortcuts, but other things as well. Now when closing an instance of Simulator in SimAuto the behavior will be the same as though you closed from the traditional graphical interface.
  • New Script Commands and SimAuto Functions
    • Added script command CTGWriteAllOptions(“filename”, KeyField, UseSelectedDataMaintainers)
    • Added script command EditMultipleOnelineAction(path, LinkType, FileType)
    • Added script command CTGCreateContingentInterfaces(filter)
    • Added script command ATCCreateContingentInterfaces(filter)
    • Added script command ExpandBusTopology(BusIdentifier, TopologyType)
    • Added script command ExpandAllBusTopology
    • Added script command CTGReadFilePTI(“filename”) that will load a PTI CON file
    • Added script command CTGReadFilePSLF(“filename”) that will load a PSLF OTG file
    • Added script command CTGClearAllResults that does what the name implies. This does the same thing as the Other > Clear All Contingency Results button on the contingency analysis dialog.
    • Added CTGApply(“ContingencyName”) script command to apply the actions in a contingency without solving the power flow.
    • Added two script commands, StoreState and RestoreState, that will allow user to store and restore a system state while in Run Mode.
    • Added script command CalculateLODFAdvanced(IncludePhaseShifters, FileType, MaxColumns, MinLODF, NumberFormat, DecimalPoints, OnlyIncludingLinesIncreasing, FileName) to mimic what is done on the Advanced LODF Calculation dialog in the GUI.
    • Added script command CTGCreateStuckBreakerCTGs(filter, AllowDuplicates, PrefixName, IncludeCTGLabel, BranchFieldName, SuffixName, PrefixComment, BranchFieldComment, SuffixComment).
    • Added script command CTGCreateExpandedBreakerCTGs.
    • Added script command CalculateLODFScreening(FilterNameProcess, FilterNameMonitor, IncludePhaseShifters, IncludeOpenLines, UseLODFThreshold, LODFThreshold, UseOverloadThreshold, OverloadLow, OverloadHigh, DoSaveFile, FileLocation, CustomFieldHighLODF, CustomFieldHighLODFLine, CustomFieldHighOverload, CustomFieldHighOverloadLine).
    • Added script command OpenWithBreakers(ObjectType,filter or [object identifier], [SwitchingDeviceTypes]).
    • Added the MergeMSLineSections(Filter). It does the same as the Merge Lines right click in Model Explorer.
    • Added the script command: RenameInjectionGroup(“Oldname”,”Newname”).
    • Added script command Remove3WXFormerContainer(filter) to delete 3 winding transformers matching the specified filter while leaving the internal 2 winding transformer structures intact. It takes one optional parameter, if you have a filter that specifies which 3-winding transformers you wish to delete.
    • Added script command ReassignIDs(objecttype, field, filter, UseRight) to automatically set the ids of specified Branches, Gens, Loads, or Shunts to the first two characters of a specified field. It takes each object of a specified type (currently “Branch”, “Load”, “Shunt”, and “Gen” are supported), and sets that object’s ID to the first two characters of a specified field. An optional filter parameter allows you to use a filter to only run the command on a specific group of elements. If UseRight is YES, then the last two characters of the specified field will be used to create the new id rather than the first two characters. The parameter defaults to NO.
    • Added new script command PVWriteInadequateVoltages(“filename”, AppendFile, InadequateType) that will write the inadequate voltages stored during a PV run to a comma separated file (CSV).
    • Added new script command CTGCompareTwoListsofContingencyResults(“Controllingfilename”,”Comparisonfilename”); A filename may be replaced with the word PRESENT to mean the presently open contingency list.
    • Added script command DoFacilityAnalysis(“filename’) that will perform the Minimum Cut and create an auxiliary file with separate bus DATA sections corresponding to each path and the minimum cut.
  • Changes to Existing Script Commands and SimAuto Functions
    • Added optional parameter filter to the end of SetSensitivitiesAtOutOfServiceClosest and CalculateTLR script commands to specify a bus filter for the out of service buses that should have their sensitivities set.
    • Added optional parameter to the end of the SaveData and SaveDataWithExtra script commands to Transpose the results. Input is either YES or NO and default is NO. The transpose will only be done when writing CSV type files and will be ignored for all others.
    • Modified the SplitBus script command to specify an optional BranchDeviceType parameter that determines the type of the bus tie that is created. Full script command is now SplitBus([element], NewBusNumber, InsertBusTieLine, LineOpen, BranchDeviceType).
    • In the TapTransmissionLine script command the first bus entered is now the nearbus and this will be used as the reference for the PosAlongLine. Previously, we were always using the frombus of the line as the reference.
    • Made some changes to how the user-specified extra headers and values are read when using the SaveDataWithExtra script command. Any strings enclosed in double quotes will be stripped of the enclosers. Any strings containing double double quotes will have them replaced with single double quotes. The input should be formatted in a manner to indicate how it should be written to the CSV.
    • OpenWithBreakers and CloseWithBreakers script commands now allow the specification of any branch device type that can be switched in the SwitchingDeviceTypes parameter.
    • Added new parameter “EstimateVoltages” to AppendCase script when appending either an EPC or RAW file. Set this to YES (this is the default) to estimate voltages for newly created buses and to smooth angles across newly created lines or NO not to do this.
    • Modified new feature for script commands using the magic string “@CASENAME” so that the string is replaced with the present name of the case file. It now will NOT include the file extension of the case file.
    • Modified so that the SaveData and any other script commands that save something to a file now allow you to embed the NAME of the open case file to a file being saved using a script using the magic string “@CASENAME”.
    • Added “Simulation: Successful Power Flow Solution (but may have converged to a low-voltage solution)” and “Simulation: Power Flow did no Converge!” to the message log when running a power flow using script commands.
    • Modified “Move” script action to allow moving a 3WXFormer record.
    • Added two optional parameters to the SendToExcel script command, [Header_List] and [Header_Value_List]. These allow user specified headers and values to be included with the object fields.
    • Added optional parameter, SetOutOfServiceBuses, to the CalculateTLR script command. If set to YES, this will set the sensitivities of out of service buses to the sensitivity of the closest in-service buses. Default value is NO.
    • The SendToExcel script command now allows an optional parameter SortFieldList to specify the order in which the fields should be sent to Excel. The script command parameters are now SendToExcel(objecttype,[fieldlist],filter,UseColumnHeaders,”workbookname”,”worksheetname”,[SortFieldList]).
    • Added DoDistributed parameter to the TSSolveAll(DoDistributed) script command.
    • Added command line parameters to write out the machine ID and also to load a license. Allows for scripting.
    • Added Left, Top, Width, and Height parameters to OpenOneline script command to specify form position when opening one line diagram. Syntax of script is now OpenOneline(“filename”, “view”, FullScreen, ShowFull, LinkMethod, Left, Top, Width, Height).
    • Added the ability to use the special string @ to the file name to the DeleteFile script and to any script that uses the function InterpretFileNameIsOpenDialog to interpret the filename.
    • Scale script command now allows you not to scale LOAD MW or Mvar while scaling the other value. The [parameters] entries can now be specified as NO. Scale(LOAD, MW, [-250, NO], AREA) will only scale MW and will not scale Mvar. Scale(LOAD, MW, [NO, -250], AREA) will only scale Mvar and will not scale MW.
    • Return an error message when using the SimAuto OpenCaseType function with an ArevaHDB export file and the file load fails due to an unexpected error in the file.

Available Transfer Capability (ATC)

  • Added local menu option on the Transfer Limiters display to “Create Contingent Interface for Selection.” This will create interfaces with a monitored branch being the Limiting Element in the Transfer Limiter and the contingent element in the interface being the Contingency Element of the Transfer Limiter.
  • ATC option to Allow Generator MW Limit Enforcement in Single Linear Step is now used when using the iterated methods instead of just automatically enforcing the limits if all other options are set to enforce limits. This option is not applicable if using the Economic Merit Order option with injection group ramping.

Case Information Displays

  • Added options to right-click on objects in case information displays or onelines to “Open or Close with Breakers and All Disconnects”.
  • Added Gen MW Setpoint field for generators to allow access to the output of the generator regardless of it being online or not
  • Eliminated the option of whether or not to highlight column headers. This is now always done.
  • When saving to a CSV file from a case information display, now have the option to save using Variable Names or Column Headers.
  • Added 4 new fields to a BRANCH object to show the open ends charging and per unit voltage.
  • Added field for bus Type (PV, PQ, etc.) to generator records.
  • Made some changes to impedance correction table fields with a transformer. Now have two fields: Correction Table Used and Correction Table Specified. The Used value might be different than the Specified value if the table that the user specifies cannot be found. If the user changes either of these fields as input to a case information display or through an auxiliary file, the Specified value will change. This should allow the retention of what the user specified but still notify if that table cannot be used. This will allow transformers to keep their impedance correction table settings if they are set prior to the impedance correction tables themselves actually being created.
  • Added new Injection Group fields to show the “Number of Gens Online”, “Number of Loads Online”, and “Number of Shunts Online”.
  • Added new fields with branches to show the from and to MW and Mvar flows calculated from voltages and also ignoring the branch status. Fields will contain “(Calculated from voltages ignoring status)” in their name. If either of the terminal buses is disconnected, nothing will be calculated.
  • Added fields for displaying Near Bus, Far Bus and Element ID for interface elements.
  • Added a new field for branch objects to the “MWSurge Impedance Loading”. This will show the surge impedance loading on the line.
  • Added field called Limit Group Percentage to branches and interfaces to return the percentage that is being used in each object’s Limit Group settings.
  • Added the ability to use filtering across other object types for the InterfaceElements. They can now use Branch, Gen, Load, Interface, Injection Group, and MSLine filters directly.
  • When using the Find Text in Oneline tool, the case information table listing all of the display objects found with the specified text now has the Layer Name available for the objects.
  • Added a new field for BRANCH, GEN, and SHUNT objects called “RegBus by ObjectID”. When showing this field, the option that is used to specify which key field to use in SUBDATA sections is used to identify the regulated bus by either primary, secondary, or label identifiers. When reading from an AUX file any of these identifiers can be used to identify the regulated bus.
  • With Branch and Transformer tables can now show the regulated bus for a transformer due to ZBR (very low impedance branches) groupings. The ZBR bus is the bus that is actually regulated.
  • Removed the “-CE” from the end of the column header string for custom expressions that have names.
  • Modified so that the Selected field can be edited or toggled while in Difference or Base Case mode for the Difference Flows tool.
  • The YBus case information table now allows you to change the number of digits after the decimal point.
  • Added new field to Switched Shunts, “Controlling SVC Object ID”, that will allow identifying an SVC that controls a fixed shunt by any of the available key fields. Previously, the controlling SVC could only be identified by a bus number and shunt ID.

Contingency Analysis

  • Added Switched Shunt Post CTG options that will allow specification of a Control Mode for any type of switched shunt. For switched shunts that are designated as continuous during contingency analysis, the low and high voltage target range and the min and max Mvar outputs can be changed.
  • Added SOLUTIONFAIL Status type. The criteria will be evaluated only after a power flow solution failure occurs during the contingency process.
  • Injection Group MW Effect action
  • Persistent option for actions with TOPOLOGYCHECK, POSTCHECK, and SOLUTIONFAIL status
  • Time Delay has been added to a Model Filter Condition for use during contingency analysis
  • What Actually Occurred includes the order in which actions were implemented
  • When using Merit Order Open contingency actions with injection groups that contain other injection groups, the contained injection groups will be treated as a single entity and be dropped completely.
  • Greatly enhanced the dialog to save options, results, and objects from the Save button on the Contingency Anaylsis dialog.
  • Contingency Sensitivity Analysis tool that allows sensitivity analysis on a particular contingency and violation
  • Tool to convert power flow contingencies into transient stability contingencies
  • Contingency actions that refer to expression and fields will use a string that contains the special <Expression> or <Field> tags.
  • Contingency violations can now access the Monitor field for their elements so that this can be set directly from the contingency results instead of going to the Limit Monitoring Settings.
  • Added fields to display owner names and numbers with contingency elements.
  • Added ability of Limit Violations to show the Custom Float, Integer, and String fields associated with the overloaded object
  • Added new field with branches, “Contingency ResultsMax % Ld Loading Direction”, that shows the direction of flow for the branch at the maximum loading level under all contingencies for which this branch is a violation.
  • Added support with LHVRT transient stability model to trip generators in the power flow (steady state) contingency analysis if the voltage thresholds of the LHVRT are met during the contingency process.
  • Injection Group contingency actions using Merit Order or Merit Order Open now include loads in addition to generators. If using Merit Order Open and both gens and loads exist in the injection group, only loads will be opened if the change is to increase injection and only generators will be opened if the change is to decrease injection. When using Merit Order, both gens and loads will move to their appropriate limits. Loads where both the Min and Max limit are 0 can only move to 0 MW. If using Merit Order Open and the change is to increase injection and no loads exist in the injection group, generators will be moved toward their max limits instead. If the change is to decrease injection and no generators exist, loads will be moved toward their max limits instead. You may need to modify your injection groups if you have been using Merit Order with injection groups containing both loads and generators and you want to maintain the same functionality.
  • Added option to create stuck breaker contingencies. This will process each contingency that has explicit breaker outages defined and create new contingencies by treating each breaker as stuck in turn. The new contingencies will be comprised of all existing elements, minus the stuck breaker outage, plus open actions for breakers that are identified to isolate the stuck breakers.
  • Added option to create expanded breaker contingencies. This will convert any “Open with Breakers” or “Close with Breakers” contingeny actions into Open actions on explicit breakers. This will permanently modify the contingency definitions.
  • Time Delays can now be specified with power flow contingency actions. This serves as a relative ordering for the implementation of actions. Actions with the smallest time delay will be applied first during the TOPOLOGYCHECK, POSTCHECK, and SOLUTIONFAIL solution steps.
  • Added accounting of Total Dropped Load during a contingency. This shows the MW amount of load that was islanded due to a contingency action or opened due to a direct contingency action to the load.
  • Added the ability to auto-insert a list of substation outages.
  • Added a new contingency element for “Substation OPEN”. This will open all AC Branches, DC Lines, and multi-terminal DC lines connected to the substation.
  • Added a new contingency element for “Substation OPEN with Breakers”. This will open all breakers necessary to isolate all AC Branches and DC Lines which have exactly one terminal in this substation. Note: this will not open breakers necessary to isolate devices completely inside the substation, such as transformers.
  • Added a new contingency element for setting the resistance of a DC Line.
  • Added contingency action that will set the contingency rating of a line.
  • Added options to open the Bus View or Substation View by right-clicking on a contingency violation.
  • New option with Injection Group actions to “Evaluate Part Points In Reference State.” If this option is selected and the Participation Point is set to AutoCalc = YES, the ParFac for the Participation Point will be evaluated in the contingency reference state and used wherever the ParFac is needed as part of the contingency action.
  • Added new contingency action with Injection Groups to drop a specified number of elements in the group.
  • Added option with Injection Group contingency action to specify when using Merit Order Open if the total MW dropped is allowed to exceed the desired amount or not. Previously, the default was to never exceed the desired amount.
  • Added an option to auto-insert contingencies and name them by label.
  • Modified the layout of the Contingency Definitions folder on the Options tab of the Contingency Dialog. Previously entries for All Contingency Elements, Remedial Actions, Contingency Blocks, Model Filters/Conditions/Expressions, etc. were all under one folder. They have now been split up into folders to make “Remedial Action Definitions” more prominent and also to add Contingency Blocks and Global Actions to a “Legacy Definitions” folder to discourage their future use.

Difference Flows

  • Started work on including input data for stability models in the Difference Flows

Fault Analysis

  • When defining multiple faults you now have the option to specify the position of the fault along the line. To save computation time, by default a location >= 50 assumes a fault at the To Bus and < 50 assumes a fault at the from bus. A checkbox has been added to instead add a dummy bus at the actual fault location.
  • Added additional locations on the Fault Analysis Dialog to specify that current values be shown in per unit or Amps.
  • Added an option to auto-insert faults and name them by label.

File Formats

  • PWB Format
    • When loading a PWB file, the message log will indicate that we are “Validating Case”. This is the point at which things such as a topology check on the system to verify slack buses are defined is done. Previously this validation was done BEFORE we had actually read the case option indicating if slack buses can be dynamically added/removed. As a result, if the PWB case had been saved to NOT allow this, during an interim point in reading the PWB slack buses would created and viable islands would be created. However immediately after doing this, the option would be read indicating that slack buses should not be dynamically created. Simulator would properly remove the slack buses as soon as the user did something to cause a topology check to occur (such as solving the case or even just looking at the list of islands). However, until this happened the various case information displays may show additional viable islands and thus different amounts of MW and Mvar injections as well. This interim situation with the extra slacks was causing confusion. We have fixed this by simply doing the “Case Validation” AFTER reading the option regarding slacks.
  • PowerWorld Text Formats
    • Added special parsing when reading text descriptions of a branch to recognize special versions for an individual winding of a three-winding transformer or an individual section of a multi-section line. This is done when reading: (1) INTERFACEELEMENT, (2) Various objects that refer to specific objects (Model Condition, Model Expression, Custom Monitor, and (3) ObjectID of BRANCH
  • PTI CON Format
    • When writing out contingency containing any section of a multi-section line in the PTI CON format, write out the from bus, to bus, and circuit of the multi-section line rather than the section.
    • When loading unlinked elements from a PTI CON file, keep the unlinked element with the contingency definition. This will NOT be able to be relinked, but a record of the error will exist.
    • When loading three-winding transformers from a PTI CON file, all three winding buses must be specified. If not, there is an error and the contingency element will be unlinked.
  • PSLF OTG Format
    • Added code when reading OTG format files that will look for the keyword “newbase” in the file, and treat the rest of the contingencies in the file as n-1-1 contingencies that get combined with the first contingency read after the newbase keyword, until another newbase keyword is encountered to signify the base contingency will change from that point to the next newbase.
    • When reading contingency OTG files, added ability to read three-winding transformer outages and DC converter outages.
    • Added reading the description portion of the OTG file as comments.
    • Made parsing of name kV portions of OTG files more generic.
    • Lshunt actions, which cause a line shunt to be opened or closed or have a new susceptance value, are now supported when reading the OTG format.
    • Isolate actions, which cause a bus to be opened, are now supported when reading the OTG format.
  • EPC Format
    • Added support for reading and writing version 19 EPC files.
    • Added a new pop-up message to question the user it they want to save the bus records when saving an individual shunt, gen or transformer to an EPC file.
    • When saving selected generator records to an EPC file, bus records will also be saved so that the generator setpoint information is available.
    • When using the case information display options from a table of switched shunts or transformers to save the records to the EPC format we now also save the bus records automatically as well. The EPC format embeds the voltage regulation information for the shunts and transformers in bus records. Saving the bus records additionally helps avoid some confusion, though the user still must be careful.
    • When reading an EPC file, a generator Mvar output that is within 0.1% of the Minimum Mvar or Maximum Mvar output will now be initialized to assume that the generator is stuck at its min/max Mvar limit (it will be initialized to a PQ bus instead of a PV bus). Consider an example generator set at 29.98 Mvar which has MvarMin = -20.00 and MvarMax = 30.00. This means that it is within 0.04% of it’s upper limit: (30 – 29.98)/(30 – (-20))*100. When Simulator reads this we will assume the generator is stuck at it’s maximum Mvar limit and we will change the value to 30.00 instead.
  • RAW Format
    • Modified reading of a RAW file so that when a BusType = 4 is read we enforce that this bus is dead after reading the file. We were encountering RAW files with BusTypes that were inconsistent with the line statuses that were contained in the RAW file. A bus would appear in PowerWorld Simulator to be in a viable and online island due to the fact that the bus was connected by CLOSED branches to online generation. However, in the RAW file the BusType was marked as 4 indicating it was dead. Previously PowerWorld had obeyed the branch statuses. This has been modified so that in this situation all branches that connect to this bus will be opened and an appropriate log message indicating the input file inconsistency will be written.
    • A log warning message is written if duplicate generators are encountered when reading a RAW file.
    • When reading in a 2-winding transformer in a RAW file, the cosmetic storage of the Fixed Tap ratio on the to-bus side was not being done properly when the flag CZ=2 and when the nominal kV of the secondary winding was different than the nominal kV of the bus. This has been fixed so that you can see the values on the transformer base correctly inside Simulator. Note, this did not affect the solution as we were still converting and storing everything in Simulator on the System MVA base correctly. This only effecting viewing input data on the transformer base.
    • Added process to check the voltage magnitude and angle of star buses at the end of the RAW file read, and evaluate the mismatches at the three terminal buses of the three winding transformer. If we determine that our own estimate of what we think the voltage and angle should be at the star bus results in improved mismatches at the three terminal buses, we will apply our estimated voltage values to the star bus, otherwise we will keep the voltage magnitude and angle as read from the RAW file for the star bus.
    • Added the Simulator software version number and build date to a comment at the top of an exported PTI RAW file.
    • When loading a RAW file if a bus is marked as a slack bus, but does not have any generators connected to it, Simulator will now automatically remove the slack bus designation and write a warning to the message log.
    • Modified reading of the RAW file format so that if comments are found for data records of the format /* [ my label, my second label ] */, then labels will automatically be created for the object. The string parsing removes all leading and trailing /, *, or space characters. Then if the remaining string starts with a [ and ends with a ], we assume that what is inside the bracket is a comma-delimited list of strings representing labels.
    • When reading a RAW file, the options to specify the starting bus number of star buses are now stored in the computer registry.
  • EPC and RAW Format
    • When loading a text file format (such as RAW or EPC file) if the file has only line feeds and not carriage returns, then a dialog appears asking if you’d like to fix the file. When loading a case from a script command however, this dialog is not wanted so we will now automatically assume that the file should be converted to Carriage Return/Line Feed pairs.
  • hdbexport CSV Format
    • Added new fields to objects when reading an hdbexport file to retain the native key fields from that file format. This will allow Simulator to directly find objects when reading in data associated with hdbexport cases without requiring the user to create labels in a consistent format. This included the following new fields. Bus: EMSType, EMSID Gen: EMSType, EMSID Load: EMSType, EMSID Shunt: EMSType, EMSID Branch: EMSType, EMSID, EMSLineID, EMSCBTyp
    • Added button to clear hdbexport cbtype mapping table.
    • Added option to create custom labels when loading an hdbexport file. Can choose whether or not to create the default labels as well.
    • Updated hdbexport file parser so that it will use the TYPE_CB record to set the cb type when it’s available (rather than following the P__CBTYP and using the information on the CBTYP records).
    • Changed the parser for hdbexport files so that it supports the reverse direction of some pointers
    • Added support for PRIO field on CP records (putting it in the VarRegulationSharing property).
    • Added support pointers in either direction from XFs to PSs or PSs to XFs.
    • When loading in Areva HDBExport files, the EMS ID and EMS CBTyp fields are now in their own fields with branches instead of being added as custom strings.
    • When reading the hdbexport CSV file, fixed SVS parsing code so that AVR status is used properly.
    • When reading hdbexport CSV files, modified the prompt regarding unrecognized CBTyp entries. Dialog will appear but check-box on dialog will be available to specify if user choices should be saved to registry for use when loading future CSV files. This will be checked by default. In addition, an extra confirmation prompt appears if the user choices will result in a case with no Breakers.
    • Adding options to read limit options from hdbexport files. The fields below on the ITEM record indicate whether or not to treat the line limits as AMPS instead of MVA. The transformer option doesn’t make much sense so a message will be printed to the log if it is ever true. LNAMP=T,XFAMP=F,ZBRAMP=T,EQLNAMP=F.
    • Modified to include option about whether to create 3-winding transformers when reading the hdbexport file.
    • Added AUX file support for setting the Delimiter used for creating labels when reading the hdbexport CSV file.
    • Added the ability to choose the default label delimiter when reading in HDB export CSV files.
  • Areva Contingency Format
    • Can now read the contingency CSV file that is exported by an Areva EMS
  • KML Format
    • Added ability when loading the KML file for ERCOT to have it create parallel transmission lines between the same 2 buses if there are duplicate entries in the KML file.
  • UCTE Format
    • For UCTE format, added reading the regulated voltage for tap-changing transformers and regulated MW flow for phase shifting transformer. For tap-changers regulated voltage is read as the value specified +/- 0.01 per unit. For phase-shifting transformers regulated MW flow is read as the value specified +/- 5 MW.
    • When reading a UCTE file, added ability to read the phase angle shift values from the ##R records. Previously they were being ignored and all phase shifts were being set to zero. One important note when comparing angles you see in Simulator. Simulator always assumes the variable phase is on the FROM bus side of the transformer while the UCTE file assumes it is always on the TO side, so the angles read in Simulator will have the opposite sign convention.
    • When reading a UCTE file, modified how the tap ratios were begin calculated from the ##R records in a UCTE file. Previously for tap ratios, if the ##T record “Rated Voltage 1” and “Rated Voltage 2” did not match the terminal bus nominal voltages, then the tap ratios being read were not handle quite correct. The Simulator “Tap Ratio” column shows the tap ratio converted to the system base, while the UCTE file tap ratios described in the ##R records are the transformer base voltages. These were not being properly scaled when reading the ##R record. Also keep this mind if you compare the tap ratios you calculated in the UCTE file to those shown in Simulator. When doing this comparison you need to keep two things in mind: 1. Simulator always assumes the variable tap is on the FROM bus side of the transformer. The UCTE file assume it is always on the TO bus side, so that tap ratios will be the reciprocal of one another. 2. Ratios will only match if you compare the “Transformer BaseTap Ratio” value in Simulator which shows the tap ratio of the transformer on the transformer base instead of the system base.
  • PROMOD Format
    • Modified reading the “Promod” format for defining interfaces so that we look for the keyword “BASECASE” and treat it the same as “BASE” was treated before.
  • WECC Switch Data Format
    • Parse fault impedance with FB record
    • Use OPEN BOTH action when parsing FL record that opens both ends of the line at the same time
    • Use solid fault if impedance values are all 0.0

General

  • Added support for a new logic operator XOR with Filter and ModelFilter objects. This will return true if an odd number of the inputs is true.
  • Added support for a new logic operator with Filter and ModelFilter objects called “OneTRUE”. This feature will return true if exactly one of the inputs is true.
  • Generators and Branches now support up to 8 owners
  • Switched Shunts and Line Shunts now support up to 4 owners
  • All of the components of multi-terminal DC lines now support up to 8 owners
  • Two-terminal DC lines now support up to 8 owners
  • VSC DC Lines now support up to 8 owners
  • Data Maintainer object that represents the entity responsible for maintaining the input data for an object
  • Balancing Authority object to which buses, generators, and loads can be added. It functions as a container object similar to a zone.
  • Supplemental Data and Supplemental Classification objects can be used for user-defined containers for objects
  • 15 limits are now available with each branch and interface
  • Rating sets can be given name which is useful for identifying different rating sets for different purposes. These can be specified on a branch, interface, or bus basis and the names will then appear in column headers.
  • Distributed generation can be defined with loads. This is used with steady-state and transient stability analysis.
  • Modified so that when loading a Branch from an auxiliary file or via copy/paste to/from Excel that either the R/X on the system base OR the R/X on the transformer base can be used as required fields when creating a new transformer
  • Line B field is no longer a required field to create a Branch
  • Vhigh and Vlow are no longer required fields to create a Switched Shunt
  • R can be defined in addition to X as part of generator line drop compensation impedance.
  • Evaluating Model Expressions that are interlinked could become very slow. This will make it impossible to view the expressions or do any calculations with them like contingency analysis, ATC, PV, and QV. This evaluation process has been sped up.
  • Three-winding transformers can now be used as part of Model Conditions and Model Expressions.
  • ViolationCTG and LimitViol object types can now be filtered using secondary object filters.
  • Store Auto XF and Auto Shunt for areas to the system state. This will make it possible to set these in the Post Contingency Auxiliary File.
  • The number of limits that can be defined with branches has been increased to 15.
    If using the Scale tool to scale an Injection Group and using Merit Order Dispatch, loads will now be included in the dispatch. Previously, any loads in the injection group were ignored. Loads will move towards either their minimum or maximum MW limit as appropriate. If both the minimum and maximum limits are 0, loads will only be allowed to decrease to 0 MW. Mvar load will be adjusted by keeping a constant power factor.
    *** You may need to modify your injection groups if you have been using Merit Order with injection groups containing both loads and generators and you want to maintain the same functionality. ***
  • Added button to open Monitors dialog so that they can a now be defined in Simulator. Monitors are used with the Trainer tool and allow for the triggering of alarms when specified events occur.
  • Speed increase in expression parsing.
  • Added Left(), Right() and Mid() functions to expression parser for string expressions.
  • Added options with individual Participation Points for Injection Groups to specify the ParFac based on a field of the participant or a Model Expression.
  • When renumbering Multi-section Line dummy buses, either through the special text file or through a SUBDATA section, the default will now be to keep the original bus name instead of renaming to the new bus number if no bus number is specified.

Geographic Data View

  • Sparklines which are small character-sized graphics can be displayed when specifying transient stability data
  • Contouring is allowed on geographic data view objects based on the object type that they represent
  • Up to three lines of information can be displayed within a geographic data view object including identifying information such as name and/or number, selected field value, or a sparkline
  • More options for managing the geographic data view objects on a oneline
  • Added options to make it easier to create a new oneline for adding geographic data view objects including the option to insert geographic borders

GIC Analysis

  • Hot spot analysis
  • Now have the ability to automatically incorporate scaling factors for geomagnetic latitude and earth resistivity according to the NERC Benchmark Geomagnetic Disturbance Event Description (Draft: April 21, 2014).

Integrated Topology Processing

  • Modified consolidation of superbuses to iteratively remove superbuses that contain ONLY switching devices that are connected to other superbus only by open switching devices. These are of no significance so merging into a superbus removes the clutter.
  • Modified consolidation so that if a switching device that is directly in parallel (between exact same buses) with a non-switching device then the switching device is internally flagged to prevent consolidation due to this switch. This is done to prevent series capacitors from being removed from the model when they are bypassed by their bypass circuit breaker. Note that the series cap can still be completely consolidated if the more complex network typically involving a disconnect causes their terminals to be at the same super bus, but prevent the obvious parallel switch is helpful.
  • When saving a Consolidated Case or when viewing the Consolidated Superbus in the Bus View, generally open switching devices are maintained in the model to show where they are. We have modified it so that if a CLOSED switching device is parallel with a open switching device we do not display the open switching device. CLOSED switching devices in this situation are unusual as they must be specified as Consolidate=NO or part of an interface or tie-line, so this is a special situation.
  • Modified so that we consolidate a dead bus to its neighbors if all three of the following conditions are met: 1. It has no gens, loads, or shunts, 2. It is connected to the rest of the system only by open AC branches, 3. It is only connected to ONE other SuperBus through these AC branches.  The objective here is to consolidate a disconnect and dead auxiliary bus.

Model Explorer

  • Show the “Branches By Type” folder in the Model Explorer regardless of whether the Integrated Topology Processing add-on has been purchased.

Oneline Diagrams

  • Added options to right-click on objects in case information displays or onelines to “Open or Close with Breakers and All Disconnects”.
  • Sparklines which are small character-sized graphics can be displayed when specifying transient stability data in display object fields
  • Option to select objects on a oneline diagram and open case information displays of the selected objects
  • Contouring color key can be pulled outside of a oneline window. It will still retain its relative position to the oneline when the oneline is moved.
  • Added ability to re-load active display in the Oneline Viewer by double-clicking on its tree node.
  • Added the ability to search for text inside Background Text.
  • Added the ability to convert multi-section line display objects to background lines.
  • Added a new map projection that uses an Albers Conic Projection useful for Alaska.
  • Added drawing of automatic control symbol when drawing transformer symbol using circles.
  • A line will be drawn through a switched shunt display object if it is on continuous control or an SVC.
  • While in Run Mode, left clicking on a bus name or number field will open the Bus View for that bus.

Power Flow Solution

  • Check Back Off Immediately option for generator Mvar limits. Choosing this option will mean that during the inner power flow loop a check will be done if generators can back off Mvar limits (i.e. PQ goes back to PV bus) but a check will not be done for generators hitting limits (i.e. PV goes to PQ bus).
  • Mvar adjustment of individual generators at buses with multiple generators will now obey the regulation percentage instead of adjusting to the same point in their min/max range.
  • Now allow the user to specified a ZBR Threshold. Previously the ZBR Threshold was 0.0002 per unit, but can now be changed by the user. The ZBR threshold is used to build groups of buses connected by low impedance branches. Any generator that regulates a bus within these groups will coordinate with other generators when performing voltage control. In addition multiple switched shunts that control buses in the same group automatically coordinate their control. Finally, these groupings are used to find parallel transformers whose tap ratios are then balanced.
  • New object Voltage Control Group to control switched shunts. Used to model Centralized Grid Capacitor Control algorithm.
  • Made a correction to SVSMO2 SVC model to use a look-up table with all of the possible combinations of B MVARS to determine the B output to the closest step.
  • Improved DC line tap calculations to avoid controller oscillations in the power flow solution.
  • When reading in an EPC or RAW file which contained multiple slack bus designation for one electrical island, Simulator picks on of these as the slack and removes the other. An appropriate message is then written to the message log alerting the user of this. This message was then being repeated every time a power flow solution was done. The ongoing annoying messages were removed and only the first message will be shown now.
  • Added option with a VSC DC Line to specify whether the DC MW Setpoint is interpreted as the MW flow on the “AC side” or “DC Side” of the converter. If there are not any converter losses modeled then this does not matter. Modified reading VSC DC Lines from a RAW file so that the DC MW Setpoint is interpreted as the “AC side” MW. When writing out to the RAW format, if the option in Simulator is set to “DC Side”, then the appropriate AC flow will be calculated and written out to the RAW file instead.
  • Changed the way the 2-terminal DC line firing angle and tap control are handled when GammaMin = GammaMax. Under other situations once the maximum tap value is reached and the DC voltage is still above the desired setpoint, then Simulator will calculate a firing angle that exceeds GammaMax. This has been changed now so that if GammaMin=GammaMax, then the firing angle will remain constant and instead the DC voltage setpoint enforcement is abandoned and the DC voltage will be higher than the setpoint. When this occurs a prominently highlighted message will be written to the log. This change in control feature was added primarily to match the treatment in several ERAG/MMWG, PJM, and MISO cases we have seen recently which have some erroneous input data.

PV and QV Curve

  • Options to Show Gridlines on both the Horizontal Axis and Vertical Axis of a PV plot
  • Added option to track high voltage limits during PV analysis.
  • With the QV Curve Tool added an option to allow specification of QV Make-Up Power. Previously, any MW changes during the QV curve tracing were made up at the system slack bus. Now can choose to use the system slack bus or the same option that is set as the Contingency Analysis Make-Up Power option. The default is to use the same setting as used with the Contingency Analysis Make-Up Power.
  • Added a new button with PV plots to save plot images to file.
  • Added option with PV plotting to specify how the objects on the plots are identified, i.e. number, name_kv, or label.
  • Added new option with PV plots to only save a specified number of critical scenario plots to file. This is done on a plot-by-plot basis. When plotting critical scenarios, the options with contingencies that determine if scenarios should be plotted are ignored.
  • Added options to allow saving PV plots to file at the end of a PV run.
  • When using Injection Group Ramping option for Merit Order Dispatch, loads will now be included in the dispatch. Previously, any loads in the injection group were ignored. Loads will move towards either their minimum or maximum MW limit as appropriate. If both the minimum and maximum limits are 0, loads will only be allowed to decrease to 0 MW. Mvar load will be adjusted by keeping a constant power factor.
    *** You may need to modify your injection groups if you have been using Merit Order with injection groups containing both loads and generators and you want to maintain the same functionality. ***

Sensitivity Calculations

  • Interfaces can now be monitored with the LODF Matrix tool.
  • Added the ability to store the display/column option settings for the grids on the Flows and Voltages Sensitivities dialog under the “Self Sensitivity” and the “Multiple Meters, Single Control Change” tabs. Previously these could be modified but after closing the dialog and reopening it, Simulator would not maintain display/column options on those.
  • For TLR calculations, determine the island in which the calculations occur based on the island of the TLR element. If the element’s terminals are in different islands, no calculation is done. When doing the calculations, only the buses in the transactor object that are in the same island as the TLR element will be used. Previously, we would not do the calculation and notify the user that the transactor spanned multiple islands. When doing the weighted calculations for areas and injection groups, we also only include the buses that are in the same island as the TLR element.
  • Added option when doing TLR calculations for injection groups that will allow offline devices to be included in the calculation.
  • Provide access to the Loss Increase % value found on the PTDF dialog through the PWCaseInformation objecttype and LinePTDFLosses variablename.
  • Added sensitivity calculations for dAmp/dControl and dMVA/dControl for the Multiple Meters, Single Control Change calculations.
  • Added new option to calculate sensitivities due to a change in generator MW injection for the Multiple Meters, Single Control Change and Multiple Meters, Multiple Control Change calculations.
  • Added calculations for ETLR and WTLR on injection groups.
  • Added access to the dV/dControl values for each terminal of a branch for use with the multiple sensitivities to a control change calculations.
  • When opening the PTDF dialog, the type is automatically set to Multiple if any directions are defined.
    When calculating PTDF values added a new MWAtZero:1 field for an interface which is similar to MWAtZero, but it assumes each transfer direction containing an injection group is configured to represent an area and as a result the “net injection” of each injection group in the MWAtZero:1 calculation is assumed to be equal to the export of the most common area in the injection group.
  • Added LODF Screening tool to screen single line contingencies by LODF magnitude or loading. Pairs of contingencies can be created from contingencies that are deemed to be significant based on screening thresholds. Purpose is to create a more manageable list of contingencies rather than run all pairs of single contingencies.

Time Step Simulation

  • When changing the injection of an Injection Group and using Merit Order Dispatch, loads will now be included in the dispatch. Previously, any loads in the injection group were ignored. Loads will move towards either their minimum or maximum MW limit as appropriate. If both the minimum and maximum limits are 0, loads will only be allowed to decrease to 0 MW. Mvar load will be adjusted by keeping a constant power factor.

Transient Stability

  • Transient Stability Options
    • When choosing a generator as the Angle Reference in the Result Options which is presently out-of-service and choosing to use an angle reference which uses that generator, Simulator will now create a validation warning alerting you of this problem. The simulation will still run, but the angle reference will be the synchronous reference frame (no shift) instead of your choice.
  • Transient Stability Solution
    • Added hard-coded minimum values of the following for use in a transient stability simulation: 0.3 for Minimum Per Unit Voltage for Constant Power Loads and 0.2 for Minimum Per Unit Voltage for Constant Current Loads.  If input values are below these thresholds, Simulator will include a validation warning indicating that we will assume values equal to these threshold.
    • When using the option to only include generic limit monitors for synchronous generators without relay models, relay models will not be considered unless they are active. GP2 relays will always be ignored in this check.
    • Modified the treatment of the LD1PAC model in the algebraic network boundary equations when LD1PAC is not stalled. It was possible for the LD1PAC model to cause a voltage collapse when operating in the “running state 2” portion of the curve. We have modified the algebraic equations to relax this equation to make it less likely for this to occur.
    • Modified the network boundary equation treatment of the svsmo3 switched shunt model for modeling SVCs. All other switched shunt models (including svsmo1 and svsmo2) are modeled as an impedance in the network equations. The svsmo3 however is now handled internally in PowerWorld Simulator as a constant current injection instead. This matches the treatment used for various generator machine models such as wt3g, wt4g, regc_a, pvd1, etc.
    • Changed the DC line algebraic equation solution in transient stability. Previously when using algebraic models of the DC network (no model, EPCDC, CDC6, etc.) during the network boundary equation solution, after each Newton iteration, the firing angles would be recalculated to attempt to exactly set the desired Current (or Power) of the DC converters. For algebraic solutions near points where firing angle limits were either hit or backed off, this could make the network boundary solution oscillate and fail. Attempting to get the current/power setting exact is unnecessary though. Instead, we now only modify the firing angle at the beginning of each time step in the simulation and then leave the firing angle constant. This is the same process that is done when actually modeling the dynamics of the DC network and using a transient stability model for the DC converters. Essentially the new algebraic solution is assuming that the firing angle is calculated based on the last time step’s AC voltage profile and thus essentially the firing angle control has a 1 time-step delay. This is perfectly appropriate and makes the network boundary solution much more robust and the current/power control is still met exactly withing a couple time steps.
  • Transient Models
    • Added Area Automatic Generation Control (AGC) which also added MWRef control to various models
    • Added SVCALS Switched Shunt model
    • Added FRQDCAT/FRQTPAT and VTGDCAT/VTGTPAT transient models and the entire support for allowing multiple instances of the same relay in the gens others models.
    • Started work on including input data for stability models in the Difference Flows
    • Added REPC_B plant controller model.
    • Added DIRECLEN line relay model
    • Added RELODEN line relay model.
    • Added UEL1 under excitation limiter model
    • Added MSLR1 Line Shunt model.
    • Added MSR1 Switched Shunt model.
    • Added MEXS Exciter model.
    • Added Generator Relay GVPHZIT (Volts per Hertz Relay Inverse Time).
    • Added Generator Relay LHSRT (Overspeed Relay). This relay is largely identical to the LHFRT relay, but monitors generator rotor speed instead of bus frequency.
    • Added Generator Relay GVPHZFT (Volts per hertz Fixed Time Relay).
    • Added ATRRELAY model.
    • Added OOSMHO Line Relay Model.
    • Added generator over frequency relay model called GENOF_PW. This allows monitoring of frequency at a specified bus or generator. When monitoring a generator only the generator will be opened when over frequency is detected. If monitoring a bus, generators, loads, and shunts connected at that bus will be opened when over frequency is detected. The relay can also be used for monitoring without actually tripping any devices.
    • Added a new REEC_C model that permits modeling of a battery storage device allowing a negative Ipmin (to represent charging) and providing a charging state which can result in a modification of the limits of the Ip.
    • Added support for the LSDT3 load relay models
    • Added support for the LSDT7 load relay models
    • Added support for GP2 relay model.
    • Added support for PV1G machine model and the PV1E electrical model.
    • Added support for the PVD1 Photo-Voltaic Distributed Generation model.
    • Added cross-current compensation model CCOMP which is an equivalent model to the COMPCC but with slightly different algebraic expressions. CCOMP specifies a Zc and Zt value instead of Z1 and Z2.
    • Added simplified line OC model.
    • Added support for PTIST3 stabilizer
    • Added default parameters for model WEHGOV
    • Added new stability model HYGOVRU which is really the same as HYGOVR
    • Added EPCDC, CDC4T, CDC6T, and CDC6 DC line models.
    • Implemented LDELEC load model.
    • Added WPIDHY governor model.
    • Added SIMPLEOC1 line relay model
  • Transient Model Modifications
    • When using the Scaled Quadratic Saturation Model for an exciter model, if a value of E1=0 we now automatically ignore the saturation function. The saturation function is B*(E-A)^2/E so if E=0 this function is undefined so this input data does not make sense.
    • Can assign Criteria to a transient model that defines the conditions (advanced filter or advanced filter condition) under which the model will be used. This will allow multiple models of the same class (i.e. two different machine models) to be active at the same time as long as their Criteria are all not true at the same time.
    • Modified REGC_A to contain Khv and Qlim parameters. These parameters are NOT used by PowerWorld Simulator, but they are part of the DYD file so we read and maintain them for users with DYD files to avoid confusion.
    • Modified the REGC_A to contain an Xe parameter to represent generator effective reactance in per unit. If this value is zero then we will divide the value Iq by this amount and also model an impedance of (jXe) at the bus in the network boundary equations. This mimics what is done for WT3G type 3 wind turbines.
    • Modified EXAC1 that have derivative feedback and very small time constant (Tf) so that the subinterval integrations would start at 32 subintervals instead of 16. This helps ensure numerical stability of the algorithms.
    • Added option for CSVGN5 to change limit on Bmax/Bmin for initial limit violations.
    • Made a correction to SVSMO2 SVC model to use a look-up table with all of the possible combinations of B MVARS to determine the B output to the closest step.
    • Modified the REEC_A, REEC_B, and REEC_C models so that when pfflag = 1 (constant power factor), then we initialize Qext to 0.0.  It really doesn’t matter in this particular situation because Qext isn’t used if pfflag = 1, but it is less confusing when connected to an REPC_A model if it defaults to zero in this situation.
    • Made changes to LHFRT way of handling the user input data. They frequency deviation are given in Hz but were previously being interpreted as per unit.
    • Added option with LOCTI Relay to trip the entire three-winding transformer or only the monitored winding.
    • Modified TLIN1 model so that multiple TLIN1 can be assigned to the same end of a branch. The Device ID must then be unique.
    • Added more parameters to WNDTGE governor model.
    • For LD1PAC, when fuvr=0 we were still reporting transient stability events related to the pickup of the under voltage relay even though it would never actually open anything. This has been fixed to no longer report these events if fuvr=0.
    • Changed the CONV_IntMtnPP and CONV_Adelanto converter models to use a CosMinAngle equal to 0.95630476 instead of 0.956. It’s a very minor change but using 0.956 signifies an minimum firing angle of 17.059 degrees which doesn’t match the initial condition of 17.000 often seen in cases.
    • Modified to not model motors which are less than 0.01 MW and added appropriate warning message to indicate this.
    • Modified the WT1G1, WT2G1, WT3G1, WT3G2, and WT4G1 wind turbine models so that they ignore any implicit step-up transformers.
    • Added an additional “Other Field” for induction motors to report the presently used Device MVABase used internally by Simulator. This can change throughout the simulation by load relays or by models such as CMPLDW.
    • Added other field for CMPLDW to show the “Fraction not tripped on under voltage” for the Type 3 motors.
  • Transient Plots
    • New feature for easy creation of a time series of images using the Transient Contour Toolbar
    • Options to Show Gridlines on both the Horizontal Axis and Vertical Axis of a plot
    • Added option with a SubPlot regarding whether to show the legend. “YES” means always show legend. “No” means never show legend. “Default” means show the legend if the number of plot series is below the global threshold specified on the plot tab of the Plot Designer. The default behavior is “Default” which matches the previous hardcoded feature.
    • Added ability on Transient Stability Plot titles and axis titles to use the special string “@CTGMemo” to include the memo of the transient contingency in the plot
  • Transient Stability File Formats
    • Fixed error when writing out REGC_A models to the DYD file format. The following values are now always written Khv = 0.7 and qmin = -1.3. These values are not used by PowerWorld Simulator and these represent typical used (nearly universally used) value in DYD files.
    • Modified loading of DYR files to look for particular user-written models commonly used in ERCOT and MMWG cases which represent wind turbine models.
      USRMDLs W4G2U and SWTGU1 are both converted to WT4G1. USRMDL VTGTPA is converted to VTGTPAT. USRMDL VTGDCA is converted to VTGDCAT. USRMDL FRQTPA is converted to FRQTPAT. USRMDL FRQDCA is converted to FRQDCAT. USRMDL which are part of the GEWTG1/GEWTE1/GEWTT/WGUSTC/GEWTA/GEWTP/GEWTPT suite of user-written models are automatically converted to WT3G2/WT3E1/WT3T1/WT3P1. (This suite of models is seen in ERCOT cases.). USRMDL which are part of the GEWTG2/GEWTE2/GEWTT1/GEWTP2/GEWGD1/GEWTA2/GEWPLT2 suite of user-written models are automatically converted to WT3G2/WT3E1/WT3T1/WT3P1. (This suite of models is seen in MMWG cases.)
    • Improved messages written to the log when encountering user-written model in the DYR file.
    • When reading DYR files, added support for reading a USRMDL/GENROA model. This is a user-written model commonly used in NY-ISO in North America which simply copies the input parameters for GENROU from another GENROU model.
    • Added support for reading the REEC_C model from a DYD file.
    • Added reading of the AMETA record from a DYD file to indicate storage of angle information to transient stability results.
    • Added ability to read DYD file containing devices identified by label.
    • Modified reading of the DYD file so that when the IFMON record is encountered we modify all our options regarding storing results to include the MW and Mvar flows on interfaces.
    • Added a check at the end of reading a DYD file to determine if there are loads which do not have any static/algebraic stability models assigned to them. If this is the case, then a dialog would previously appear asking the user to choose a default load model. This dialog caused more confusion than clarity, thus it has been modified so that instead messages are written to the log notifying the user that all loads that do not have static load models will default to a “Constant Current P, Impedance Q”. Also checking is done to see if there are ALWSCC models assigned to some areas but not others, and if this is the case then log messages are written to notify the user that some areas do not have ALWSCC models and list those areas.
    • Added color to log text when loading in DYD files. “Missing” notes are written in gray. “Error” in red.
    • Modified reading of a GNET.idv file to allow multiple gnet sections in the same file to be read.
    • Added support for reading/writing the EPCDC, CDC4T, CDC6T, and CDC6 DC line models from DYD and DYR files.
  • Transient Stability Contingency Definitions
    • Cleaned up Fault Type specification and added diagrams to make it clear to the user how faults should be specified
    • Added new feature with a transient stability fault to “Apply Fault to achieve a desired voltage”
    • Added ability to clone transient contingencies
    • The Start Time and End Time for a transient contingency analysis can be negative
    • Made a slight modification so the SET Power command for transient contingencies will interpret an actual MW value and convert it to a delta MW value if necessary instead of treating everything like a delta MW value.
    • Added an option to auto-insert transient contingencies and name them by label.
  • Transient Stability User Dialogs and Auxiliary File Support
    • Modified to store and show generator Speed values in per unit instead of in Hz
    • In case information tables listing particular classes of transient models (i.e. Machine Models, Governors, etc.) an option has been added to Only Show Used Models
    • Islanded Load and Islanded Gen fields are now available with transient contingency results
    • Expanded on the “Solved” field for a transient contingency. Previously this field said “YES” if the transient contingency had been attempted at all regardless of whether it was successfully finished. There are now 3 fields: 1. Processed: This will say YES if the transient contingency solution was attempted, 2. Solved: This will say YES only if the transient contingency solution was run and successfully finished, 3. Reason Not Solved: When Solved = NO, this will be a string indicating why the solution was not finished
    • When saving transient stability settings to an auxiliary file, the dialog that allows you to select what to save has been modified. There is now an option that allows you to Save Transient Limit Monitors.
    • Added ability to open the Bus View from the Transient Limit Monitor Violation case information display.
    • Added ability to open the Bus View from case information displays of transient stability models.
    • Modified to bring the transient stability dialog back up in multiple contingency mode if it was in that mode the last time the user open the dialog.
    • On the Transient Stability Dialog, we were finding that the button on the Result Storage page called “Load from Hard Drive File into RAM results specified by Store to RAM Options” was causing confusion. Users were assuming that in order to plot results or use the Transient Contour Toolbar that results must first be loaded into RAM. This has never been the case as these features simply obtain data directly from the TSR file without requiring you to load results into RAM. The same button is available at the bottom of the “Results from RAMTime Values” and in practice the only place that you see these results from RAM is on this page. To avoid continued user confusion, we have removed the button from the Result Storage tab and it is now only available on the Time Values page.
    • When loading in transient stability data from an AUX, DYD, or DYR file, Simulator would prompt you asking “Do you want to clear the existing transient stability data first?”. Feedback from many users was they would NEVER want to do this and it was a dangerous dialog to continually show users. We have removed this prompt and the clearing of stability data when loading a file.
    • In the Transient Stability dialog, modified the drop-down showing all of the transient contingencies so that the strings also show the categories of the contingency (if any categories have been assigned).
    • In the Transient Stability dialog, added a Find button next to the drop-down showing all the transient contingencies. The Find button allows you to find by either: 1. Name of the Transient Contingency or 2. Find the first transient contingency that has a transient contingency element that acts on a generator, load, bus, or switched shunt.
    • Added additional features to the “Insert Apply and Clear Fault” button on the transient stability dialog. Previously when doing this we did the following: Branch fault: create 3 events: Fault, OpenFrom, and OpenTo, Bus Fault: create 2 events: Fault, ClearFault.  We have now modified it so that the user may choose whether to “Clear Fault” or “Open” for the extra events.   Note: The auto-insert transient contingency tool will always do OPEN for all extra events.
  • Transient Stability Storage
    • Option to not monitor Min/Max results during simulation
    • Option to not store Events during simulation
    • Option to not store Solution Details during simulation
  • Transient Stability Results
    • When creating plots, option to only show results in RAM and ignore results stored in hard drive
    • Option to save Min/Max results stored in RAM in PWB file instead of just always saving them
    • Results for Line Shunts are now included
    • Results for Substations are now included
    • Results for Case Information (case-wide quantities) are now included
    • Fixed reporting of a limit violation on GPWSCC model when Ki = 0. It was reporting a limit violation even though the state was ignored.
    • When checking a limit against a min/max limit pair, sometimes Simulator would report a state violation even when the value was exactly at the limit. It will now only report limit violations to the user if they exceed the limit by more than 0.01% of the limit. Thus if the max limit is 1.0000 then it will only report a limit violation if it’s 1.0001 or higher. Note, this ONLY effects the reporting of limit to the user. The value is still pegged at the limit, but we just don’t report state limit violations that are likely due to numerical precision.
    • Modifications were made when transferring results from transient stability for viewing inside Simulator: 1. The situation where one end of a transmission line is open is now handled by putting in a fictitious bus shunt so that mismatches which are viewed are meaningful and 2. We now show islands that exist in stability which would not be permitted to exist in the power flow, such as an island without any load or an island with only 1 bus.
    • Added an event in the Events table to indicate that the network solution failed during the simulation.
    • Min/Max, Events, and Summary information are now saved to a PWB file if not storing the Time Values to PWB.
    • Added Level designation to Transient Events. Options have been added to easily display Events by specific Levels: Error, Info, Skipped, User, Transition, Model Trip, and Relay Trip. Result Event Reporting options have been added to specify if events are reported to the Message Log in addition to the Event table. These new options are especially useful when using the CMPLDW composite load model which has many possible events associated with it.
  • Transient Data Validation
    • Many renewable energy machine models feed a commanded Ip and Iq through a small time delay with the output then feeding into the network boundary equations as the real and reactive current injections. We have added parameter checking to ensure that these time delays are no larger than 0.20 seconds. If the time delay is larger than 0.2 seconds then it will be treated as 0.2 seconds. In the 1000s of models like these we have seen, these time delay values are on the order of 0.02 seconds, but we were seeing a case with a value of 1.0 second which creates an unstable model. This affects the following models presently: WT3G, WT3G1, WT3G2, WT4G, WT4G1, REGC_A, PVD1.
    • Modified the Validation message about treating generators with no machine model as negative load to make it clear that we treat the generator as constant current in this situation.
    • For a GENTPF/GENTPJ model when setting Tdopp or Tqopp to 0.0, this indicates that a transient model should be used for the generation model. The model should then be configured such that Xdpp=Xdp and Xqpp=Xqp=Xq to function appropriately. If the model was not setup this way from the start, then Simulator will change the parameter inside the simulation automatically to be treated in this manner. There was a bug however such that this wasn’t properly handled which could cause generation to initialize incorrectly. This was occurring at the LITFAL generation in a WECC case. Simulator will now properly handle this without user-intervention.
    • For GENTPF/GENTPJ models which had Tqop=0 to indicate special handling of a salient pole machine with a single amortisseur winding, we were not performing any validation checks on the magnitude of Xqpp relative to Xdpp. As a result, invalid data such as Xqpp=0 was not being flagged as an error and was not being auto-corrected. We now perform the same check on Xqpp as we do for all other GENTPF/GENTPJ model and thus if the value is very small (Xqpp < 0.01*Xdpp, basically zero) then we set Xqpp=Xdpp.
    • Modified the validation check on synchronous machines to ensure that Xqpp is not too big. Previously we enforced (Xqpp <= 1.1Xdpp), but have changed this to (Xqpp <= 1.5*Xdpp).
    • Added error checking for WT3G2, WT3G, WT4G, WT4G1 and REGC_A so that if LVPL=0 then it ignores the low voltage power logic
    • Added error checking for using a distribution equivalent which could not support the load specified. This was caused because the distribution equivalent impedances are given on an MVABase that is proportional to the MW of the load. In a situation which had a load of 2.0 MW and 120 Mvar, the load would exceed the maximum power transfer of the distribution system because the Mvar values was so huge relative to the MW. An appropriate error message will now be shown.
    • Added error checking for WT3E and WT3E1 model to disallow Kpp=0 AND Kip=0. That doesn’t make any sense and is showing up in the MMWG cases at a generator.
    • Modified the validation check for GEWTG machine so that if the electrical model is EWTGFC or EXWTGE, but the fcflag does not match the expected value (0 for EXWTGE and 1 for EWTGFC), then the auto-correction routine will change the fcflag to match the expected value. The assumption is that the user specification of an electrical model is more reliable than setting of fcflag to 0 or 1.
    • Modified the synchronous generator (GENROU, GENSAL, GENTPF, GENTPJ, etc.) validation so that we allow Xl=Xdpp or Xl=Xqpp. We also added a check to enforce that Xl < Xdp and Xl < Xqp.
    • Changed validation for REEC_A, REEC_B, and REEC_C so that when Pfflag = 1 we no longer report as an error if Qflag = 1. This is now simply reported as a warning indicating that this is a possible configuration, though not a typical one.

User Interface Dialogs

  • When using the Save Case As option from the file menu, the directory will default to the location where the present case was opened.
  • Modified the Recent Cases list so that the file extension is included. Also now include the file path in situations that duplicate entries are shown in the Recent Cases List (This can occur with the same file name, but different file path).
  • Added menu options for Append Case to directly access the different file types from the dropdown menu.
  • Added a Populate button on the LODF Screening dialog to populate Branch custom fields from the summary results after the analysis is complete. This is useful if you forget to set the options ahead of time or want to change the key fields used to identify branches in the summary.
  • When using the Test button on the custom expression (or string expression) dialog, added additional error message when no object has been selected for one of the variables.
  • Modified the Set Selected Field Inside a Network Cut dialog so that the check box “Require paths to be energized” is checked by default.
  • On the Injection Group Auto Insert dialog added option to specify participation factor by Field or Model Expression. Also, added option to include Bus participation points.
  • In Set Selected from Network Cut tool, added option to prompt user asking if they would like to initialize the Selected field.
  • Added Line length information on Branch Information dialog while in Run mode.