Skip to main content

DIgSILENT PowerFactory Dynamic

Introduction

The PowerFactory Dynamic Node performs dynamic study simulations which are powered by PowerFactory, a 3rd party power systems software. It leverages the following PowerFactory modules:

  • Base package
  • Stability Analysis Functions (RMS)

This Node is typically used for the following:

  • Completing dynamic studies (e.g. validating Generator Performance Standards).
  • Benchmarking plant models (e.g. comparing the performance of PowerFactory and PSCAD™ plant models).
info

The following PowerFactory versions are currently supported:

  • PowerFactory 2021 or newer

User inputs

Select model

Model

Defines the input directory and file name of the PowerFactory project file, including the .pfd file extension. To use the PowerFactory project file (.pfd) from a linked PowerFactory Static Node, select Use model from linked PowerFactory Static Node.

Example:

sunny-solar-farm\SMIB.pfd
note

File paths are relative to the Engine's 'inputs' directory, as defined by the Engine configuration parameter dirs.inputs. For example, if dirs.inputs was set as C:\Users\johnsmith\gridmo\Inputs\:

Absolute file pathRelative file path (required by gridmo)
C:\Users\johnsmith\gridmo\Inputs\sunny-solar-farm\SMIB.pfdsunny-solar-farm\SMIB.pfd

Dynamics user models

Defines the input directory of the PowerFactory dynamics user models.

Example:

sunny-solar-farm\dll-folder
caution

All .dll files located in the specified folder will be loaded into PowerFactory. Ensure all .dll files in this folder are compatible with the PowerFactory version you are using.

Define simulation

Simulation time

Defines the duration of the dynamic study in seconds.

Example: Run a 30 second dynamic simulation.

30
note

The minimum simulation time is 0.1 seconds.

Customize grid

These controls allow you to define the behaviour of the grid. There are three options:

  • None: No additional grid behaviour is incorporated.
  • SMIB: The grid is modelled as an infinite bus generator for SMIB studies. One of the following may be controlled in a Node:
    • Voltage [p.u.]
    • Frequency [Hz]
    • Angle [degrees]
danger

To use the SMIB control functionality, the PowerFactory project file must be configured as follows:

  • The project file (.pfd) has a single reference bus with a single AC Voltage Source (PowerFactory type ElmVac).
  • The project file (.pfd) has a single line or series inductor between the slack bus and the plant model. This line represents the Thévenin equivalent source impedance.

gridmo will not automatically convert any existing reference bus generator / grid representation to an AC Voltage Source. You must manually change the slack bus generator to an AC Voltage Source in your PowerFactory project file.

caution

If SMIB control functionality is enabled, any slack bus generator dynamic model will be replaced with a gridmo playback model to support interpolated voltage and frequency ramping.

Voltage

Defines the infinite bus generator voltage throughout the dynamic simulation. Enter a series of time [s], voltage [p.u.] pairs. The voltage is linearly interpolated between points. There are two methods for specifying the voltage - absolute and relative.

note

If your PowerFactory dynamic study uses a project file from a linked PowerFactory Static Node, it is often convenient to specify the voltage using the relative method, since it will utilise the infinite bus generator voltage solution from that specific project.

Specifying absolute voltage

Defines the infinite bus generator voltage throughout the dynamic simulation by specifying absolute voltage [p.u.].

Example: Perform a 15 second dynamic simulation. At 5 seconds, step the voltage from 1.00 [p.u.] to 0.95 [p.u.] in a single rapid step. At 10 seconds, ramp the voltage back up to 1.00 [p.u.] over 2 seconds.

0,      1.00
4.9999, 1.00
5, 0.95
10, 0.95
12, 1.00
15, 1.00
Specifying relative voltage

Defines the infinite bus generator voltage throughout the dynamic simulation by specifying relative voltage [pu]. The voltage change is relative to the voltage of the infinite bus generator voltage at the start of the dynamic simulation.

Example: Perform a 45 second dynamic simulation. At 5 seconds, step the voltage up 0.05 per unit (pu) in a single rapid step. At 15 seconds, step the voltage down to its initial value in a single rapid step. At 25 seconds, step the voltage down 0.05 per unit (pu) in a single rapid step. At 35 seconds, step the voltage up to its initial value in a single rapid step.

0,      0 pu
4.999, 0 pu
5, +0.05 pu
14.999, +0.05 pu
15, 0 pu
24.999, 0 pu
25, -0.05 pu
34.999, -0.05 pu
35, 0 pu
45, 0 pu

Frequency

Defines the infinite bus frequency throughout the dynamic simulation. Enter a series of time [s], frequency [Hz] pairs. The frequency is linearly interpolated between points.

Example: Perform a 25 second dynamic simulation. At 5 seconds, ramp the frequency up from 50.0 [Hz] to 52.0 [Hz] over 3 seconds. At 15 seconds, ramp the frequency back down to 50.0 [Hz] over 3 seconds.

0,  50
5, 50
8, 52
15, 52
18, 50
25, 50

Angle

Defines the infinite bus voltage phase angle throughout the dynamic simulation. Enter a series of time [s], angle [degrees] pairs.

The voltage phase angle is not linearly interpolated between points - instead the angle is set to the absolute value at the time specified.

caution

Voltage phase angle changes are instantaneous. Ramps are not supported.

Example: Perform a 20 second dynamic simulation. At 5 seconds, step the voltage phase angle from 0° to 40°. At 15 seconds, step the voltage phase angle back to 0°.

0,  0
5, 40
15, 0

Actions

Defines the Commands which configure the dynamic simulation.

Supported Commands:

  • CONTROL: Controls a network element.
  • SIMPLEFAULT: Applies a simple power system fault.
  • VDISTURBANCE: Dynamically applies a relative over or under voltage disturbance using a fault or shunt (capacitor).
tip

Specifying AT=0 will apply the Command at the very first time step once the dynamic simulation has been initialised. Specifying AT=-1 will apply the Command at once the dynamic data record has been loaded, but before the dynamic simulation has been initialised.

caution

If you specify the value of the AT= argument beyond the simulation duration (e.g. simulation duration is 20 [s] and AT=25), the Command will not be applied and a warning will be raised.

Define outputs

Outputs

Defines the output channels of the dynamic simulation. The output channels defined here may be used later for plotting and/or further analysis.

Supported Commands:

info

OUTPUT Commands do not require the AT= argument because dynamic simulation values are recorded for the entire simulation.

Outputs Description

Defines a short description of the dynamic simulation. This description will appear in the legend of any plot of the data generated by this Node.

Example:

Description here!

example from a Plot Node PDF output showing how the 'Description here!' text is added

Advanced

PowerFactory version

Defines the PowerFactory version used for the Node. Defaults to Engine configuration.

Distance factor

danger

Currently, gridmo only supports distance factor equal to 1 for PowerFactory Dynamic SMIB studies.

Defines the distance from the connection point at which disturbances are applied. Allowable values are between 0 and 1, where d=1 applies disturbances at the connection point. The image below shows a Thévenin equivalent of the grid as used in SMIB studies, commonly referred to as the 'infinite source', whereby:

  • Vinf: Thévenin equivalent voltage source.
  • Zinf: Thévenin equivalent impedance.
  • Zf: Disturbance impedance.
  • d: Distance factor.
  • Vpoc: Connection point voltage prior to any disturbance.
dFactor

Distance factor will apply to all relevant Commands in this Node such as:

  • SIMPLEFAULT
  • VDISTURBANCE

Advanced Parameters

Advanced Parameters allow users to configure test details which are not commonly used. Advanced Parameters are often specific to each Node type.

Each line represents a new Advanced Parameter and is entered as a=b format, where a is the name of the Parameter and b is the corresponding value. All Advanced Parameters are set to their default values if they are not included in the Advanced Parameters field.

Example: Set Advanced Parameter, sample.parameter to a value of 5.

sample.parameter=5

API Reference

This section details the Commands and Advanced Parameters specific to the Node.

tip

Lines in gridmo are defined using the following syntax: from_bus_name->to_bus_name#line_name. When completing SMIB studies, we recommend always having the to bus closer to your generator's connection point / the slack bus.

danger

gridmo uses the PowerFactory Name field (loc_name) in conjunction with its PowerFactory type to find objects for several commands. These name fields are case sensitive. For example, if a bus is named Bus 1 in PowerFactory, it must be referenced as Bus 1 in gridmo. If the name is referenced as bus 1, gridmo will not be able to find the object.

If there are multiple objects with duplicate names, gridmo will apply the change to all objects. If you want to only control one object, we recommend using the PowerFactory Foreign Key field (for_name) FOREIGN_KEY= argument instead of the Name field (loc_name) to uniquely identify the object.

Spaces are supported in all gridmo argument fields.

CONTROL Command

CONTROL, OBJECT_NAME/FOREIGN_KEY=, VARIABLE=, [VALSCALE=1], AT=, VAL\RELVAL=

Controls a PowerFactory object during a dynamic simulation. Uses a mixture of PowerFactory direct parameter changes and Parameter Events based on the AT argument.

Arguments:

  • CONTROL
  • OBJECT_NAME or FOREIGN_KEY:
    • OBJECT_NAME (str): Name (loc_name field) of the PowerFactory object to control.
    • FOREIGN_KEY (str): Foreign key (for_name field) of the PowerFactory object to control.
  • VARIABLE (str): Name of the input variable/parameter to control.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to VAL or RELVAL (i.e. new_value = VAL x VALSCALE or new_value = old_value + (RELVAL x VALSCALE)). Default value is 1.
  • AT (float): Time at which the Command is applied during the dynamic simulation [s]. Use AT=-1 to set the variable before dynamic model initialisation.
  • VAL or RELVAL:
    • VAL (float): New value, expressed absolutely (i.e. new_value = VAL).
    • RELVAL (float): New value, expressed relatively (i.e. new_value = old_value + RELVAL).
note

gridmo can control objects which match the following PowerFactory class types:

  • *.Elm*
  • *.Rel*
  • *.Sta*
  • *.SetSelect

Example: At 2 seconds, change the Plant_pref input parameter to 0.75 for the object with name REPC_A Plant Control.

CONTROL, OBJECT_NAME=REPC_A Plant Control, VARIABLE=Plant_pref, AT=2, VAL=0.75

Example: Decrease the Vref parameter of the object with name REPC_A Plant Control by 0.05 pu 10 seconds into the simulation (decrease relative to the value of Vref at the 10-second mark).

CONTROL, OBJECT_NAME=REPC_A Plant Control, VARIABLE=Vref, AT=10, RELVAL=-0.05

Example: Before the dynamic model is initialised, change the RefFlag parameter of the object with foriegn key SunnySolar_PPC to 1

CONTROL, FOREIGN_KEY=SunnySolar_PPC, VARIABLE=RefFlag, AT=-1, VAL=1

SIMPLEFAULT Command

SIMPLEFAULT, LINE=, AT=, DURATION=, [FZ=0, XR=3]

Applies a simple three phase fault at a line. The line remains in-service during and after the fault is cleared. Fault impedance can be specified in ohms or residual voltage (for SMIB studies).

info

SIMPLEFAULT is typically used in SMIB studies for simpler fault-related performance studies.

Arguments:

  • SIMPLEFAULT
  • LINE (pas): Case sensitive line definition. Lines are defined using the following syntax: from_bus_name->to_bus_name#line_name.
  • AT (float): Time at which the fault is applied during the dynamic simulation [s].
  • DURATION (float): Fault duration [ms]. When the duration has expired, the fault is removed and the line will remain in service.
  • FZ [Optional]: Fault impedance. Default value is 0 Ω (i.e. bolted fault). There are two methods for specifying the fault:
    • Fault impedance (float): Fault impedance [Ω] (e.g. 0.2).
    • Residual voltage (str): Residual voltage [%] (e.g. 20%). The percentage is relative to the nominal voltage. This method is used in SMIB studies.
  • XR (float)[Optional]: Reactance to resistance ratio of the fault. Default value is 3.

Example:

  • At 5 seconds, apply a three phase fault at the connection point bus of the SMIB model (where the from bus POC is the connection point and the to bus THEV is the Thevenin equivalent bus and the interconnecting line is called Zth).
  • Fault duration is 430 ms.
  • Fault impedance is Zf=Zs (meaning 50% residual voltage).
  • X/R ratio of the fault is 3.
SIMPLEFAULT, LINE=POC->THEV#Zth, AT=5, DURATION=430, FZ=50%

VDISTURBANCE Command

VDISTURBANCE, LINE=, [OP=VDIVIDER/COMPENSATED], AT=, DURATION=, VCHANGEPU/VPU=, [XR=3]

At AT= seconds after the start of the dynamic simulation, applies a voltage disturbance at the from bus of the LINE=from->to#id. Depending on the values of VCHANGEPU/VPU, OP and the connection point bus voltage prior to the disturbance, the Command automatically switches between:

  • Applying a 3PH fault to create an undervoltage disturbance; or
  • Inserting a capacitor to create an overvoltage disturbance.

The disturbance is removed after DURATION= milliseconds.

note

VDISTURBANCE is only for single machine infinite bus (SMIB) studies. The LINE=from->to#id Argument should be specified where the from bus is the generator point of connection and the to bus is the infinite source.

Arguments:

  • VDISTURBANCE
  • LINE (pas): Line definition of the Thévenin equivalent impedance. Lines are defined using the following syntax: from->to#id.
  • OP (str)[Optional]: Calculation methodology. Defaults to OP=VDIVIDER. Options:
    • OP=VDIVIDER: Voltage divider calculation methodology.
    • OP=COMPENSATED: Voltage divider calculation methodology extended to consider generating system contribution prior to voltage disturbances.
  • AT (float): Time at which the Command is applied during the dynamic simulation [s].
  • DURATION (float): Disturbance duration [ms]. When the duration has expired, the disturbance is removed.
  • VCHANGEPU or VPU:
    • VCHANGEPU (float): Relative voltage disturbance [p.u.]. The voltage is relative to the from bus voltage of the LINE=from->to#id prior to the disturbance.
    • VPU (float): Absolute voltage disturbance [p.u.].
  • XR (float)[Optional]: Reactance to resistance ratio of the 3PH fault impedance used for undervoltages. Default value is 3. When inserting a capacitor for overvoltage disturbances, XR is ignored.
note

Multiple VDISTURBANCE Commands are supported in a single Node, which may include a mix of under and over voltage disturbances. To enable this functionality, distance factor is fixed at 1 (i.e. all disturbances are applied at the connection point).

Calculation methodology

The image below shows a Thévenin equivalent of the grid as used in SMIB studies, commonly referred to as the 'infinite source', whereby:

  • Vinf: Thévenin equivalent voltage source.
  • Zinf: Thévenin equivalent impedance.
  • Vpoc: Connection point voltage prior to any disturbance.
vdisturbance-general

The VDISTURBANCE Command introduces a fault impedance, Zf, in order to achieve a desired voltage disturbance as specified by VCHANGEPU or VPU. There are two calculation methodologies used to calculate Zf:

  • OP=VDIVIDER; and
  • OP=COMPENSATED.
vdisturbance-vdivider
Zf is calculated using voltage divider circuit theory. The formula assumes that the generating system current contribution prior to the disturbance is ≈ 0 (i.e. Vpoc ≈ Vinf) and the generating system current contribution during the disturbance is ≈ 0.

Example: At 5 seconds, apply a 430 ms voltage disturbance at the connection point which is located at bus 200. The voltage disturbance should cause a -0.1 p.u. relative change in the connection point voltage by applying a 3PH fault. The fault impedance should be calculated using the Thévenin equivalent source impedance (a line called 'Zth' between buses called 'POC' and 'THEV').

VDISTURBANCE, LINE=POC->THEV#Zth, AT=5, DURATION=430, VCHANGEPU=-0.1

At 5 seconds, apply a 500 ms voltage disturbance at the connection point which is located at bus 200. The voltage disturbance should target 1.2 p.u. at the connection point voltage by switching in a capacitor. The fault impedance should be calculated using the Thévenin equivalent source impedance (a line called 'Zth' between buses called 'POC' and 'THEV').

VDISTURBANCE, LINE=POC->THEV#Zth, AT=5, DURATION=500, VPU=1.2

At 5 seconds, apply a 500 ms voltage disturbance at the connection point which is located at bus POC. The voltage disturbance should target 1.2 p.u. at the connection point voltage by switching in a capacitor. The capacitance should be calculated using the Thévenin equivalent source impedance (a line called 'Zth' between buses called 'POC' and 'THEV').

At 10 seconds, once the previous disturbance has cleared, apply another 500 ms voltage disturbance at the connection point which is located at bus POC. The voltage disturbance should target 0.35 p.u. at the connection point voltage by applying a 3PH fault. The fault impedance should be calculated using the Thévenin equivalent source impedance (a line called 'Zth' between buses called 'POC' and 'THEV').

VDISTURBANCE, LINE=POC->THEV#Zth, AT=5, DURATION=500, VPU=1.2
VDISTURBANCE, LINE=POC->THEV#Zth, AT=10, DURATION=500, VPU=0.35

OUTPUT Command

caution

By default when completing SMIB studies, the Thevenin equivalent voltage source and impedance should not be used for POC metering in OUTPUT Commands or in dynamic user models. This is for two reasons:

  1. SMIB studies: During certain SMIB events (e.g. faults, consideration of distance factor), there will be fictitious Thevenin equivalent source contribution or we will need to break the Thevenin equivalent impedance line into multiple parts to complete the event. See the image below considering the example of applying a fault using SIMPLEFAULT; and
  2. Network studies: When your generating system is merged into a network model, the Thevenin equivalent voltage source and impedance will no longer be present and therefore can't be referenced.

For clarity:

  • ✅ Example of recommended POC metering:
    • OUTPUT, BUS=POC, VAL=V, NAME=i_poc_v
    • OUTPUT, TX=PLANT_MV->POC#MAIN_TX, METERBUS=POC, VAL=P, NAME=i_ch_poc_p
    • OUTPUT, TX=PLANT_MV->POC#MAIN_TX, METERBUS=POC, VAL=Q, NAME=i_ch_poc_q
  • ❌ Example of incorrect POC metering:
    • OUTPUT, BUS=THEV, VAL=V, NAME=i_poc_v
    • OUTPUT, LINE=POC->THEV#Zth, VAL=P, NAME=i_ch_poc_p
    • OUTPUT, LINE=POC->THEV#Zth, VAL=Q, NAME=i_ch_poc_q
PowerFactory Dynamic recommended POC metering

Output bus variable

OUTPUT, BUS=, VAL=, [VALSCALE=1], NAME=, [LEGEND=]

Outputs a variable from a bus.

Arguments:

  • OUTPUT
  • BUS (str): Case sensitive bus name.
  • VAL (str): Bus value. Options:
    • VAL=V: Voltage [p.u.].
    • VAL=F: Frequency [Hz].
    • VAL=ANGLE: Angle [degrees]. Angle is relative to the generator which was specified as the slack generator prior to the start of the dynamic simulation.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output = VAL x VALSCALE). Default value is 1.
  • NAME (str): Output name. Output names must be unique within a Node.
  • LEGEND (str)[Optional]: Subplot legend name. Default value is no legend name.

Example: Output the voltage [p.u] at bus 100, name this output "i_poc_v".

OUTPUT, BUS=100, VAL=V, NAME=i_poc_v

Output line variable

OUTPUT, LINE=, [METERBUS=], VAL=, [PBASE=, QBASE=, SBASE=, VALSCALE=1], NAME=, [LEGEND=]

Outputs a variable from a line.

Arguments:

  • OUTPUT
  • LINE (pas): Case sensitive line definition. Lines are defined using the following syntax: from_bus_name->to_bus_name#line_name. Values are given at the 'from-side' of the line.
  • METERBUS (str)[Optional]: Bus number which is the metering point for the LINE= line. Default value is the 'from' bus number as per the LINE= argument.
  • VAL (str): Line value. Options:
    • VAL=P: Active power [MW].
    • VAL=Q: Reactive power [MVAr].
    • VAL=S: Apparent power [MVA].
    • VAL=PF: Power factor [unitless] (positive power factor corresponds to active power travelling towards the to bus from the from bus). Click here for details on how gridmo calculates power factor.
    • VAL=I: Current [p.u.] on SBASE, where I [p.u.] = S [MVA] / (V [p.u.] * SBASE [MVA]).
    • VAL=ID: Active current [p.u.] on PBASE; where ID [p.u.] = P [MW] / (V [p.u.] * PBASE [MW]).
    • VAL=IQ: Reactive current [p.u.] on QBASE; where IQ [p.u.] = Q [MVAr] / (V [p.u.] * QBASE [MVAr]).
  • PBASE (float)[Optional]: MW base used for Id calculation [MW]. Only required if VAL=ID .
  • QBASE (float)[Optional]: MVAr base used for Iq calculation [MVAr]. Only required if VAL=IQ.
  • SBASE (float)[Optional]: MVA base used for I calculation [MVA]. Only required if VAL=I.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output = VAL x VALSCALE). Default value is 1.
  • NAME (str): Output name. Output names must be unique within a Node.
  • LEGEND (str)[Optional]: Subplot legend name. Default value is no legend name.

Example: Output the active power flowing through the line Zth from bus 100 to bus 200 (measured at the 'from-side' of the line). Name this output "i_poc_p".

OUTPUT, LINE=POC->THEV#Zth, VAL=P, NAME=i_poc_p

Example: Output the active power flowing through the line poc_line from bus Collector33 to bus POC (measured at the 'to-side' of the line) . Name this output "i_poc_p_farend".

OUTPUT, LINE=Collector33->POC#poc_line, METERBUS=POC, VAL=P, NAME=i_poc_p_farend

Output transformer variable

OUTPUT, TX=, [METERBUS=], VAL=, [PBASE=, QBASE=, SBASE=, VALSCALE=1], NAME=, [LEGEND=]

Outputs a variable from a transformer.

Arguments:

  • OUTPUT
  • TX (pas): Transformer definition. Transformers are defined using the following syntax: bus1_name->bus2_name#tx_name (two-winding transformer) or bus1_name->bus2_name->bus3_name#tx_name (three-winding transformer).
  • METERBUS (str)[Optional]: Bus number which is the metering point for the TX= line. Default value is the 'from' bus number as per the TX= argument.
  • VAL (str): Transformer value. Options:
    • VAL=P: Active power [MW].
    • VAL=Q: Reactive power [MVAr].
    • VAL=S: Apparent power [MVA].
    • VAL=PF: Power factor [unitless] (positive power factor corresponds to active power travelling towards the to bus from the from bus). Click here for details on how gridmo calculates power factor.
    • VAL=I: Current [p.u.] on SBASE, where I [p.u.] = S [MVA] / (V [p.u.] * SBASE [MVA]).
    • VAL=ID: Active current [p.u.] on PBASE; where ID [p.u.] = P [MW] / (V [p.u.] * PBASE [MW]).
    • VAL=IQ: Reactive current [p.u.] on QBASE; where IQ [p.u.] = Q [MVAr] / (V [p.u.] * QBASE [MVAr]).
  • PBASE (float)[Optional]: MW base used for Id calculation [MW]. Only required if VAL=ID .
  • QBASE (float)[Optional]: MVAr base used for Iq calculation [MVAr]. Only required if VAL=IQ.
  • SBASE (float)[Optional]: MVA base used for I calculation [MVA]. Only required if VAL=I.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output = VAL x VALSCALE). Default value is 1.
  • NAME (str): Output name. Output names must be unique within a Node.
  • LEGEND (str)[Optional]: Subplot legend name. Default value is no legend name.
danger

The OUTPUT, TX= Command currently only supports two-winding transformers. If you need to monitor a three-winding transformer, please consider instead using a 'dummy' line and monitoring that line.

Example: Output the apparent power flowing through the transformer called Main TX between bus Collector1 to bus Collector33. Name this output, i_tx_s.

OUTPUT, TX=Collector1->Collector33#Main TX, VAL=S, NAME=i_tx_s

Output generator variable

OUTPUT, GEN=, VAL=, [PBASE=, QBASE=, VALSCALE=1], NAME=, [LEGEND=]

Outputs a variable from a generator.

Arguments:

  • OUTPUT
  • GEN (str): Case sensitive generator definition. Generators are defined by their name only.
  • VAL (str): Generator value. Options:
    • VAL=P: Active power [MW].
    • VAL=Q: Reactive power [MVAr].
    • VAL=S: Apparent power [MVA].
    • VAL=PF: Power factor [unitless] (positive power factor corresponds to active power exiting the generator). Click here for details on how gridmo calculates power factor.
    • VAL=ID: Active current [p.u.] on PBASE; where ID [p.u.] = P [MW] / (V [p.u.] * PBASE [MW]).
    • VAL=IQ: Reactive current [p.u.] on QBASE; where IQ [p.u.] = Q [MVAr] / (V [p.u.] * QBASE [MVAr]).
  • PBASE (float)[Optional]: MW base used for Id calculation [MW]. Only required if VAL=ID .
  • QBASE (float)[Optional]: MVAr base used for Iq calculation [MVAr]. Only required if VAL=IQ.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output = VAL x VALSCALE). Default value is 1.
  • NAME (str): Output name. Output names must be unique within a Node.
  • LEGEND (str)[Optional]: Subplot legend name. Default value is no legend name.

Example: Output the reactive power being injected by the generator SOLAR_PV. Name this output, i_terminal_q.

OUTPUT, GEN=SOLAR_PV, VAL=Q, NAME=i_terminal_q

Output variable from a PowerFactory object

OUTPUT, OBJECT_NAME/FOREIGN_KEY=, VAL=, [VALSCALE=1], NAME=, [LEGEND=]

Outputs a variable from a PowerFactory object by specifying the complete PowerFactory variable string representation (such as s:Voltage_Dip).

Any variable which can be selected by PowerFactory's Variable Selection window can be output by gridmo.

Arguments:

  • OUTPUT
  • OBJECT_NAME or FOREIGN_KEY:
    • OBJECT_NAME (str): Name (loc_name field) of the PowerFactory object to control.
    • FOREIGN_KEY (str): Foreign key (for_name field) of the PowerFactory object to control.
  • VAL (str): PowerFactory complete string representation of the variable to output (see below info block for guidance).
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output = VAL x VALSCALE). Default value is 1.
  • NAME (str): Output name. Output names must be unique within a Node.
  • LEGEND (str)[Optional]: Subplot legend name. Default value is no legend name.
info

To find the string representation, go to the PowerFactory Variable Selection window, select the model using the Object drop down in the center of the screen and then select the variables you want gridmo to display. Then select the Editor on the right hand side of the screen to view the string representation.

For dynamic model parameters, you will often need to calculate the dynamic simulation's initial conditions before the parameters are visible in the Variable Selection window.

recording of the gridmo web app, loading a saved simulation

note

gridmo can control objects which match the following PowerFactory class types:

  • *.Elm*
  • *.Rel*
  • *.Sta*
  • *.SetSelect

Example: Output the signal s:Voltage_Dip from the Model with name REEC_A Electrical Control Model and name this output, i_ch_frt.

OUTPUT, OBJECT_NAME=REEC_A Electrical Control Model, VAL=s:Voltage_Dip, NAME=i_ch_frt

Example: Output the signal s:Voltage_Dip from the Model with foreign key SunnySolar_PPC and name this output, i_ch_frt.

OUTPUT, FOREIGN_KEY=SunnySolar_PPC, VAL=s:Voltage_Dip, NAME=i_ch_frt

Advanced Parameters

info

The below default values align with the requirements as per Appendix A1 of AEMO's Dynamic Model Acceptance Guidelines (Appendix A1, item 15) released November 2021.

sim.timestep

  • Description: Simulation time step.
  • Type: float
  • Units: [s]
  • Default: 0.001
  • Range: 0.001 to 0.01
sim.timestep=value