DIgSILENT PowerFactory Static
Introduction
The PowerFactory Static Node performs static study simulations which are powered by PowerFactory, a 3rd party power systems software. It leverages the following PowerFactory modules:
- Base package
This Node is typically used for the following:
- Completing static studies (e.g. investigating thermal loading of an asset pre and post a variety of contingencies).
- Setting up cases for dynamic studies (e.g. creating a case for a specific active power set point as part of a test).
The following PowerFactory versions are currently supported:
- PowerFactory 2021 or newer
User inputs
Select model
Title
Defines the title of the Node.
Example:
DMAT | Table 1
Model
Defines the input directory and file name of the PowerFactory Project file, including the .pfd
file extension.
For instructions on how to export your project in .pfd
format, see here.
Example:
sunny-solar-farm\SMIB.pfd
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 path | Relative file path (required by gridmo) |
---|---|
C:\Users\johnsmith\gridmo\Inputs\sunny-solar-farm\SMIB.pfd | sunny-solar-farm\SMIB.pfd |
Define simulation & Define outputs
Commands
Defines the Commands which configure the static simulation.
Supported Commands:
- SET: Sets the status or value of a network element (e.g. bus, line, generator).
- CONTROL: Controls a network element.
- SOLVE: Solves the static case, considering all previous
SET
andCONTROL
Commands. - OUTPUT: Outputs a value as an Internode Variable.
All SET
and CONTROL
Commands preceding a SOLVE
Command are applied at the same time when the SOLVE
Command is used. Multiple SOLVE
Commands are supported and can be used when you want to apply SET
and CONTROL
Commands sequentially. For example:
SET COMMAND 1
SET COMMANDS 2
CONTROL COMMAND 1
SOLVE
CONTROL COMMAND 2
SOLVE
This following two static solves will occur:
- Solve considering
SET COMMAND 1
,SET COMMAND 2
andCONTROL COMMAND 1
; then - Solve considering
CONTROL COMMAND 2
.
Advanced
PowerFactory version
Defines the PowerFactory version used for the Node. Defaults to Engine configuration.
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.
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.
gridmo uses the PowerFactory Name
field in conjunction with its PowerFactory type to find objects. 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.
Spaces are supported in all gridmo argument fields, but we recommend avoiding them to prevent ambiguity where possible.
Similarly, we recommend you give clear unique names to all PowerFactory objects you want to control using gridmo to avoid any ambiguity.
SET
Command
Set bus
SET, BUS=, [BUS=], STATUS=
Sets the status of a bus (PowerFactory type ElmTerm
).
Arguments:
- SET
- BUS (
str
): Case sensitive bus name. - BUS (
str
)[Optional]: Additional case sensitive bus names. - STATUS (
str
): Bus status. Options:STATUS=IN
: Status is in-service.STATUS=OUT
: Status is out of service.
Example: Set the bus with name Generator bus
out of service.
SET, BUS=Generator bus, STATUS=OUT
Set line
SET, LINE=, [LINE=], STATUS=, [SCR=, XR=]
Sets the status and impedance of a line (PowerFactory types ElmLne
and ElmShnt
).
Arguments:
- SET
- LINE (
pas
): Case sensitive line definition. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
. - LINE (
pas
)[Optional]: Additional case sensitive line definitions (only if usingSTATUS=
,SCR=
andXR=
arguments only support one line) - STATUS (
str
): Line status. Options:STATUS=IN
: Status is in-service.STATUS=OUT
: Status is out of service.
- SCR (
float
)[Optional]:SCR=X
(whereX
is a number): Sets the impedance of the given line to the equivalent Thévenin impedance based on the Project's rated active power [MW], the line voltage and the specified SCR and X/R ratio.SCR=INF
: Sets the impedance of the given line to the minimum impedance value applicable in PowerFactory (i.e. 1e-5 on system base).XR=
Argument is ignored.
- XR (
float
)[Optional]: Sets the impedance of the given line to the equivalent Thévenin impedance based on the Project's rated active power [MW], the line voltage and the specified SCR and X/R ratio.
SCR
and XR
Arguments must be used together. These Arguments are typically only used in SMIB studies and are used to calculate the Thévenin equivalent source impedance of the infinite generator.
Example: Set the impedance of the line from bus Poi
to the bus called Slack bus
, where the line/series reactor connecting the two has name Z_source
. The line impedance should represent the system Thévenin equivalent impedance for an SCR of 3 and X/R ratio of 2.
SET, LINE=Poi->Slack bus#Z_source, STATUS=IN, SCR=3, XR=2
Example: Set the impedance of the line from Poi
to Slack bus
, where the line/series reactor connecting the two has name Z_source
, to near-zero impedance (infinite system strength), noting that XR=
Argument is ignored if SCR=INF
.
SET, LINE=Poi->Slack bus#Z_source, STATUS=IN, SCR=INF, XR=1
Set transformer
SET, TX=, STATUS=
Sets the status of a transformer (PowerFactory types ElmTr*
).
Arguments:
- SET
- TX (
str
): Case sensitive transformer definition. Transformers are defined using the following syntax:bus1_name->bus2_name#tx_name
(two-winding transformer) orbus1_name->bus2_name->bus3_name#tx_name
(three-winding transformer). - STATUS (
str
): Transformer status. Options:STATUS=IN
: Status is in-service.STATUS=OUT
: Status is out of service.
Example: Set the three-winding transformer in-service which is located between bus Collector 1
, Collector 2
and POI
which is called Main TX
.
SET, TX=Collector 1->Collector 2->POI#Main TX, STATUS=IN
Set generator
SET, GEN=, [GEN=], STATUS=
Sets the status of a generator (PowerFactory types ElmSym
, ElmAsm
, ElmAsmsc
, ElmGenstat
, ElmVac
, ElmIac
, ElmVacbi
, ElmIacbi
and ElmPvsys
).
Arguments:
- SET
- GEN (
str
): Case sensitive generator definition. Generators are defined by their name only. - GEN (
str
)[Optional]: Additional case sensitive generator definitions. - STATUS (
str
): Generator status. Options:STATUS=IN
: Status is in-service.STATUS=OUT
: Status is out of service.
Example: Set the generator called Solar PV
out of service
SET, GEN=Solar PV, STATUS=OUT
Set load
SET, LOAD=, STATUS=
Sets the status of a load (PowerFactory types ElmLod
, ElmLodmv
and ElmLodlv
).
Arguments:
- SET
- LOAD (
str
): Case sensitive load definition. Loads are defined by their name only. - STATUS (
str
): Load status. Options:STATUS=IN
: Status is in-service.STATUS=OUT
: Status is out of service.
Example: Set the load called BESS Aux load
out of service.
SET, LOAD=BESS Aux load, STATUS=OUT
Set fixed shunt
SET, FSHUNT=, STATUS=
Sets the status of a fixed shunt (PowerFactory types ElmShnt
).
Arguments:
- SET
- FSHUNT (
str
): Case sensitive fixed shunt definition. Fixed shunts are defined by their name only. - STATUS (
str
): Fixed shunt status. Options:STATUS=IN
: Status is in-service.STATUS=OUT
: Status is out of service.
Example: Set the fixed shunt with name Harmonic filter 2
out of service.
SET, FSHUNT=Harmonic filter 2, STATUS=OUT
Set a PowerFactory object variable/parameter
SET, OBJECT_NAME/FOREIGN_KEY=, VARIABLE=, [VALSCALE=1], VAL\RELVAL=
Sets a variable/parameter of a PowerFactory object in the static simulation.
Arguments:
- SET
- 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.
- OBJECT_NAME (
- VARIABLE (
str
): Name of the input variable/parameter to control. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toVTARGET
(i.e.VTARGET
xVALSCALE
). Default value is 1. - 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
).
- VAL (
gridmo can control objects which match the following PowerFactory class types:
*.Elm*
*.Rel*
*.Sta*
*.SetSelect
Example: change the Qref
parameter to 50
for the object with name Station controller
.
SET, OBJECT_NAME=Station controller, VARIABLE=Qref, VAL=50
CONTROL
Command
Control Commands are additional solution requirements added to the convergence algorithm which is initiated by the SOLVE
Command. A SOLVE
Command is required for preceding CONTROL
Commands to be considered.
Where possible, we recommend using native control solutions within the PowerFactory convergence algorithm (e.g. 'Load Flow Controller Models' for Ppoc and Qpoc regulation). The SET
Command can be useful to change values within relevant PowerFactory controller objects.
The Control Commands provided below are primarily provided for consistency between different static study power systems software.
CONTROL
Commands are reset after each SOLVE
Command is used. If you want a CONTROL
Command to be used it must precede each SOLVE
Command. For a Node with multiple SOLVE
Commands, this may require repeating the CONTROL
Command. For example:
SET COMMAND 1
CONTROL COMMAND 1
SOLVE
SET COMMAND 2
SOLVE
CONTROL COMMAND 1
SOLVE
This following three static solves will occur:
- Solve considering
SET COMMAND 1
andCONTROL COMMAND 1
; then - Solve considering
SET COMMAND 2
; then - Solve considering
CONTROL COMMAND 1
.
You can control multiple generators by using multiple GEN=
arguments. If more than one generator specified, the active/reactive power requirement will be shared between the generators based on the ratio of the respective generators' rated MVA.
Control generator - Direct voltage control
CONTROL, GEN=, [GEN=], Q=VDIRECT, QMIN=, QMAX=, ATBUS=, [VALSCALE=1], VTARGET=
Controls one or more generators using direct voltage control (not voltage droop control). PowerFactory controllable generator types are ElmSyn
, ElmGenstat
and ElmPvsys
.
Arguments:
- CONTROL
- GEN (
str
): Case sensitive generator definition. Generators are defined by their name only. - GEN (
str
)[Optional]: Additional case sensitive generator definitions. Generators are defined by their name only. - Q (
str
): Reactive power control methodology. Set asVDIRECT
. - QMIN (
float
): Minimum reactive power capability of the generator [MVAr]. - QMAX (
float
): Maximum reactive power capability of the generator [MVAr]. - ATBUS (
int
): Case sensitive bus name, which has the target voltage. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toVTARGET
(i.e.VTARGET
xVALSCALE
). Default value is 1. - VTARGET (
float
)[Optional]: Target voltage set point [p.u.]. Default value is the voltage specified in theusetp
field for the specified generator.
Example: Control the generator with name AGG wind farm
. The control is direct voltage control of bus called POC
with a target voltage of 1.01 [p.u.]. The generator can supply reactive power between -10 MVAr and +15 MVAr
CONTROL, GEN=AGG wind farm, Q=VDIRECT, QMIN=-10, QMAX=15 ATBUS=POC, VTARGET=1.01,
Control generator - Droop voltage control
CONTROL, GEN=, [GEN=], Q=VDROOP, QBASE=, DROOP%=, DEADBAND=, [QMIN=, QMAX=], ATBUS=, ATLINE=, [METERBUS =, VALSCALE=1], VTARGET=
Controls one or more generators using voltage droop control. If the measured voltage is larger/smaller than the voltage target + deadband, the specified generators will be controlled to absorb/supply reactive power equal to the droop percentage of QBASE for every 1% the measured voltage is above the voltage target + deadband. PowerFactory controllable generator types are ElmSyn
, ElmGenstat
and ElmPvsys
.
Arguments:
- CONTROL
- GEN (
str
): Case sensitive generator definition. Generators are defined by their name only. - GEN (
str
)[Optional]: Additional case sensitive generator definitions. Generators are defined by their name only. - Q (
str
): Reactive power control methodology. Set asVDROOP
. - QBASE (
float
): Base reactive power [MVAr]. - DROOP% (
float
): Droop percentage [%]. - DEADBAND (
float
): Voltage deadband [p.u.]. - QMIN (
int
)[Optional]: Minimum reactive power limit at theATLINE=
line [MVAr]. Default value is -∞. - QMAX (
int
)[Optional]: Maximum reactive power limit at theATLINE=
line [MVAr]. Default value is ∞. - ATBUS (
int
): Case sensitive bus name, which has the target voltage. - ATLINE (
pas
): Line which is used for measuring the reactive power. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
. - METERBUS (
str
)[Optional]: Case sensitive bus name which is the metering point for theATLINE=
line. Default value is the 'from' (first) bus name as per theATLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toVTARGET
(i.e.VTARGET
xVALSCALE
). Default value is 1. - VTARGET (
float
): Target voltage set point [p.u.]. Default value is the voltage specified in theusetp
field for the specified generator.
Example: A PPC exists measuring the reactive power on POC_line
between bus POC
and bus Slack
and is controlling a generator at bus Agg wind farm
. The PPC is acting in voltage droop control with a target voltage of 1.01 [p.u.] at POC
bus, a QBASE of 50 MVAr, a droop percentage of 4% and a voltage deadband of 0.01 [p.u.].
CONTROL, GEN=Agg wind farm, Q=VDROOP, QBASE=50, DROOP%=4, DEADBAND=0.01, ATBUS=POC, ATLINE=POC->Slack#POC_line, VTARGET=1.01
Control generator - Fixed reactive power control
CONTROL, GEN=, [GEN=], Q=FIXED, ATLINE=, [METERBUS=, VALSCALE=1], QTARGET=
Controls one or more generators using fixed reactive power control. The reactive power target will be applied across the specified line. PowerFactory controllable generator types are ElmSyn
, ElmGenstat
and ElmPvsys
.
Arguments:
- CONTROL
- GEN (
str
): Case sensitive generator definition. Generators are defined by their name only. - GEN (
str
)[Optional]: Additional case sensitive generator definitions. Generators are defined by their name only. - Q (
str
): Reactive power control methodology. Set asFIXED
. - ATLINE: Location of the target reactive power. Options:
ATLINE=TERMINALS
: Reactive power target is regulated at the generator terminals.ATLINE=from_bus_name->to_bus_name#line_name
(pas
): Reactive power target is regulated across the specified line. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
.
- METERBUS (
str
)[Optional]: Case sensitive bus name which is the metering point for theATLINE=
line. Default value is the 'from' (first) bus name as per theATLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toQTARGET
(i.e.QTARGET
xVALSCALE
). Default value is 1. - QTARGET (
float
): Target reactive power set point [MVAr].
Example: Control the generator called Gen_agg
. The control mode is fixed reactive power control regulating -20 MVAr across the line Cable
from bus Main tx bus
to Poi
(measured at the Poi
end) which has an ID of 1.
CONTROL, GEN=Gen_agg, Q=FIXED, ATLINE=Main tx bus->Poi#Cable, METERBUS=Poi, QTARGET=-20
Control generator - Power factor control
CONTROL, GEN=, [GEN=], Q=PF, ATLINE=, [METERBUS=, VALSCALE=1], PFTARGET=
Controls one or more generators using power factor power control. PowerFactory controllable generator types are ElmSyn
, ElmGenstat
and ElmPvsys
.
Arguments:
- CONTROL
- GEN (
str
): Case sensitive generator definition. Generators are defined by their name only. - GEN (
str
)[Optional]: Additional case sensitive generator definitions. Generators are defined by their name only. - Q (
str
): Reactive power control methodology. Set asPF
. - ATLINE: Location of the target power factor. Options:
ATLINE=TERMINALS
: Power factor target is regulated at the generator terminals.ATLINE=from_bus_name->to_bus_name#line_name
(pas
): Power factor target is regulated across the specified line. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
.
- METERBUS (
str
)[Optional]: Case sensitive bus name which is the metering point for theATLINE=
line. Default value is the 'from' (first) bus name as per theATLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toPFTARGET
(i.e.PFTARGET
xVALSCALE
). Default value is 1. - PFTARGET (
float
): Target power factor set point.
Example: Control the generator syncgen
. The control is power factor control of -0.97 at the generator terminals.
CONTROL, GEN=syncgen, Q=PF, ATLINE=TERMINALS, PFTARGET=-0.97
Control generator - Active power control
CONTROL, GEN=, [GEN=], ATLINE=, [METERBUS=, VALSCALE=1], P=
Controls the active power of one or more generators. PowerFactory controllable generator types are ElmSyn
, ElmGenstat
and ElmPvsys
.
Arguments:
- CONTROL
- GEN (
str
): Case sensitive generator definition. Generators are defined by their name only. - GEN (
str
)[Optional]: Additional case sensitive generator definitions. Generators are defined by their name only. - ATLINE Location of the target active power. Options:
ATLINE=TERMINALS
: Active power target is regulated at the generator terminals.ATLINE=from_bus_name->to_bus_name#line_name
(pas
): Active power target is regulated across the specified line. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
.
- METERBUS (
str
)[Optional]: Case sensitive bus name which is the metering point for theATLINE=
line. Default value is the 'from' (first) bus name as per theATLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toP
(i.e.P
xVALSCALE
). Default value is 1. - P (
float
): Active power target [MW].
Example: A PPC has a target active power set point and is controlling two generators Agg BESS 1
and Agg BESS 2
. The active power set point is 95 MW and is applied across the line POI_line
from bus POI
to slackbus
(measured at the 'from-side' POI
).
CONTROL, GEN=Agg BESS 1, GEN=Agg BESS 2, ATLINE=POI->slackbus#POI_line, P=95
Control load - Fixed reactive power control
CONTROL, LOAD=, Q=FIXED, ATLINE=, [METERBUS=, VALSCALE=1], QTARGET=
Controls a load/shunt using fixed reactive power control. PowerFactory controllable load types are ElmLod
, ElmLodmv
and ElmLodlv
.
Arguments:
- CONTROL
- LOAD (
str
): Load/shunt definition. Loads and shunts are defined by their name only. - Q (
str
): Reactive power control methodology. Set asFIXED
. Options: - ATLINE Location of the target active power. Options:
ATLINE=TERMINALS
: Reactive power target is regulated at the generator terminals.ATLINE=from_bus_name->to_bus_name#line_name
(pas
): Reactive power target is regulated across the specified line. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
.
- METERBUS (
str
)[Optional]: Case sensitive bus name which is the metering point for theATLINE=
line. Default value is the 'from' (first) bus name as per theATLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toQTARGET
(i.e.QTARGET
xVALSCALE
). Default value is 1. - QTARGET= (
float
): Target reactive power set point [MVAr] for constant power load.
Only one LOAD=
argument is supported per Command.
Example: Control the load aux_gen_load
. The control mode is fixed reactive power control of -10 MVAr across the line called cable
from bus datacenter_poi
to bus slackbus
(measured at the 'from-side' datacenter_poi
).
CONTROL, LOAD=aux_gen_load, Q=FIXED, ATLINE=datacenter_poi->slackbus#cable, QTARGET=-10
Control load - Power factor control
CONTROL, LOAD=, Q=PF, ATLINE=, [METERBUS=, VALSCALE=1], PFTARGET=
Controls a load/shunt using power factor control. PowerFactory controllable load types are ElmLod
, ElmLodmv
and ElmLodlv
.
Arguments:
- CONTROL
- LOAD (
str
): Load/shunt definition. Loads and shunts are defined by their name only. - Q (
str
): Reactive power control methodology. Set asPF
. - ATLINE Location of the target power factor. Options:
ATLINE=TERMINALS
: Power factor target is regulated at the generator terminals.ATLINE=from_bus_name->to_bus_name#line_name
(pas
): Power factor target is regulated across the specified line. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
.
- METERBUS (
str
)[Optional]: Case sensitive bus name which is the metering point for theATLINE=
line. Default value is the 'from' (first) bus name as per theATLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toPFTARGET
(i.e.PFTARGET
xVALSCALE
). Default value is 1.3 - PFTARGET (
float
): Target power factor power set point.
Only one LOAD=
argument is supported per Command.
Example: Control the load at bus Electrolyser3
. The control is power factor control of -0.97 at the load terminals.
CONTROL, LOAD=Electrolyser3, Q=PF, ATLINE=TERMINALS, PFTARGET=-0.97
Control load - Active power control
CONTROL, LOAD=, ATLINE=, [METERBUS=, VALSCALE=1], P=
Controls the active power of a load/shunt. PowerFactory controllable load types are ElmLod
, ElmLodmv
and ElmLodlv
.
Arguments:
- CONTROL
- LOAD (
str
): Load/shunt definition. Loads and shunts are defined by their name only. - ATLINE Location of the target active power. Options:
ATLINE=TERMINALS
: Active power target is regulated at the generator terminals.ATLINE=from_bus_name->to_bus_name#line_name
(pas
): Active power target is regulated across the specified line. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
.
- METERBUS (
str
)[Optional]: Case sensitive bus name which is the metering point for theATLINE=
line. Default value is the 'from' (first) bus name as per theATLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied toP
(i.e.P
xVALSCALE
). Default value is 1. - Load setpoint. Options:
- P (
float
): Active power target [MW] for constant power load.
- P (
Only one LOAD=
argument is supported per Command.
Example: Control the load at bus Electrolyser_1
. The active power set point is 22 MW and is applied across load terminals.
CONTROL, LOAD=Electrolyser_1, ATLINE=TERMINALS, P=22
SOLVE
Command
SOLVE, [LOCKTAPS=, LOCKSHUNTS=]
Solves the static case, considering all previous SET and CONTROL Commands.
Arguments:
- SOLVE
- LOCKTAPS (
str
)[Optional]: Solution option specifying whether the position of transformer taps may change during the solution. Defaults toNO
. Options:LOCKTAPS=YES
: Transformer taps are locked.LOCKTAPS=NO
: Transformer taps are unlocked (stepped taps).
- LOCKSHUNTS (
str
)[Optional]: Solution option specifying whether the position of switched shunts may change during the solution. Defaults toNO
. Options:LOCKSHUNTS=YES
: Switched shunt positions are locked.LOCKSHUNTS=NO
: Switched shunt positions are unlocked (stepped shunt steps).
Example: Solve the case where transformer taps are not locked and where switched shunt positions are locked.
SOLVE, LOCKTAPS=NO, LOCKSHUNTS=YES
OUTPUT
Command
Only one value can be output per OUTPUT
Command.
The Node automatically outputs .pfd
cases ready for use by connected PowerFactory Dynamic Nodes. Therefore, you don't need to specify this to be outputted.
Output bus value
OUTPUT, BUS=, VAL=, [VALSCALE=1], NAME=
Outputs a value from a bus. PowerFactory bus types are ElmTerm
.
Arguments:
- OUTPUT
- BUS (
str
): Case sensitive bus name. - VAL (
str
): Bus value. Options:VAL=V
: Voltage [p.u.].VAL=VKV
: Voltage [kV].VAL=ANGLE
: Angle [degrees].
- VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output =VAL
xVALSCALE
). Default value is 1. - NAME (
str
): Output name. Output names must be unique within a Node.
Example: Output the voltage [p.u] at bus slackbus
and name the Internode Variable i_inf_bus_voltage
.
OUTPUT, BUS=slackbus, VAL=V, NAME=i_inf_bus_voltage
Output line value
OUTPUT, LINE=, VAL=, [METERBUS=, VALSCALE=1], NAME=
Outputs a value from a line. PowerFactory line types are ElmLne
and ElmShnt
.
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 output at the 'from-side' of the line. - VAL (
str
): Line value. Options:VAL=P
: Active power [MW].VAL=Q
: Reactive power [MVAr].VAL=S
: Apparent power [MVA].VAL=PF
: Power factor (generator convention,P/S
) [unitless]. Click here for details on how gridmo calculates power factor.VAL=LOAD%
: Thermal loading [%].
- METERBUS (
int
)[Optional]: Case sensitive bus name, which is the metering point for theLINE=
line. Default value is the 'from' (first) bus name, as per theLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output =VAL
xVALSCALE
). Default value is 1. - NAME (
str
): Output name. Output names must be unique within a Node.
Example: Output the active power flowing through the line from bus 100 to bus 200 (measured at the 'from-side') which has an ID of 1. Name the Internode Variable 'p_at_line'.
OUTPUT, LINE=100->200#1, VAL=P, NAME=i_p_at_line
Output transformer value
OUTPUT, TX=, VAL=, [METERBUS=, VALSCALE=1], NAME=
Outputs a value from a transformer. PowerFactory transformer types are ElmTr*
.
Arguments:
- OUTPUT
- TX (
pas
): Case sensitive transformer definition. Transformers are defined using the following syntax:bus1_name->bus2_name#tx_name
(two-winding transformer) orbus1_name->bus2_name->bus3_name#tx_name
(three-winding transformer). - VAL (
str
): Transformer value. Options:VAL=P
: Active power [MW].VAL=Q
: Reactive power [MVAr].VAL=S
: Apparent power [MVA].VAL=PF
: Power factor (generator convention,P/S
) [unitless]. Click here for details on how gridmo calculates power factor.VAL=TAPRATIO
: Transformer tap ratio (decimal, such as 0.90 meaning 90% of default tap) [unitless].VAL=LOAD%
: Thermal loading using the 'RATE1' field [%].
- METERBUS (
int
)[Optional]: Case sensitive bus name, which is the metering point for theLINE=
line. Default value is the 'from' (first) bus name, as per theLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output =VAL
xVALSCALE
). Default value is 1. - NAME (
str
): Output name. Output names must be unique within a Node.
Example: Output the apparent power flowing through the transformer located between bus 33_collector
to POC
which is called MAIN TX
. Name the Internode Variable 'i_tx_sload'.
OUTPUT, TX=33_collector->POC#MAIN TX, VAL=S, NAME=i_tx_sload
Output generator value
OUTPUT, GEN=, VAL=, [VALSCALE=1], NAME=
Outputs a value 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 (generator convention,P/S
) [unitless]. Click here for details on how gridmo calculates power factor.VAL=LOAD%
: Thermal loading using the 'RATE1' field [%].
- VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output =VAL
xVALSCALE
). Default value is 1. - NAME (
str
): Output name. Output names must be unique within a Node.
Example: Output the reactive power exiting the generator Agg wind farm
. Name the Internode Variable i_gen_terminal_q
.
OUTPUT, GEN=Agg wind farm, VAL=Q, NAME=i_gen_terminal_q
Output voltage droop target value
OUTPUT, VAL=VDROOPTARGET, QBASE=, DROOP%=, DEADBAND=, [QMIN=, QMAX=], ATBUS=, ATLINE=, [METERBUS=, VALSCALE=1], NAME=
Outputs the expected target voltage set point [p.u.] for a pre-defined voltage droop characteristic.
Arguments:
- OUTPUT
- VAL (
str
): Voltage droop characteristic value. Options:VAL=VDROOPTARGET
: Target voltage set point [p.u.].
- QBASE (
float
): Base reactive power [MVAr]. - DROOP% (
float
): Droop percentage [%]. - DEADBAND (
float
): Voltage deadband [p.u.]. - QMIN (
float
): Minimum reactive power limit at theATLINE=
line [MVAr]. - QMAX (
float
): Maximum reactive power limit at theATLINE=
line [MVAr]. - ATBUS (
int
): Case sensitive bus name, which has the target voltage. - ATLINE (
pas
): Case sensitive line which is used for measuring the reactive power. Lines are defined using the following syntax:from_bus_name->to_bus_name#line_name
. - METERBUS (
int
)[Optional]: Case sensitive bus name, which is the metering point for theLINE=
line. Default value is the 'from' (first) bus name, as per theLINE=
argument. - VALSCALE (
float
)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output =VAL
xVALSCALE
). Default value is 1. - NAME (
str
): Output name. Output names must be unique within a Node.
Example: Output the voltage droop target given the measured voltage at bus POC
, the reactive power flow through POC_cable
from bus 33kV Collector
to POC
metered at the POC
end, using 80 MVAr as the reactive power base, QMAX of 60 MVAr, QMIN of -60 MVAr and with a droop of 6%. Name the Internode Variable i_poc_vdroop_target
.
OUTPUT, VAL=VDROOPTARGET, QBASE=80, DROOP%=6, DEADBAND=0, QMIN=-60, QMAX=60, ATBUS=POC, ATLINE=33kV Collector->POC#POC_cable, METERBUS=POC, NAME=i_poc_vdroop_target
Advanced Parameters
node.convergence.gain
- Description: Defines the proportional gain used by the convergence algorithm. Large generators connected to weak networks with low droop percentages may require a gain lower than default to converge.
- Type:
float
- Units: N/A
- Default: 0.2
- Range: 0.001 - 0.5
node.convergence.gain=value
node.convergence.mva
- Description: Defines the acceptable tolerance error in the convergence algorithm. A load/generator is deemed converged when the absolute value of the difference (between actual and target values) is less than this value.
- Type:
float
- Units: MW or MVAr
- Default: 0.001
- Range: 0.001 - 1
node.convergence.mva=value
node.convergence.converge_at_limit
- Description: Defines if a generator in a
CONTROL
Command, which cannot achieve the control target due to hitting its minimum or maximum reactive power limit (as per the PowerFactory Case file), is considered converged. For example, a generator is asked to regulate to 22 MVAr, but it can only inject 20 MVAr. If this Advanced Parameter is set toYes
, the generator is treated as converged. If this Advanced Parameter is set toNo
the generator will prevent the static study solution from converging. Regardless of the setting, an Engine warning is raised if a generator reaches its minimum or maximum reactive power capability. - Type:
bool
- Units: N/A
- Default: Yes
- Range: Yes, No
node.convergence.converge_at_limit=value
system.convergence.mva
- Description: Defines the acceptable whole-network MVA mismatch, equivalent to PowerFactory parameter TOLN. A network is deemed converged and stable when the mismatch is less than this value.
- Type:
float
- Units: MVA
- Default: 0.5
- Range: 0.001 - 5
system.convergence.mva=value
max_iter
- Description: Defines the acceptable number of iterations during Case file and generator/load control mode convergence. Very sensitive control modes (low droop % values) or weak networks may require higher than default max_iter to converge.
- Type:
int
- Units: N/A
- Default: 500
- Range: 50 - 10000
max_iter=value
voltages.tolerance
- Description: Defines the acceptable voltage tolerance for the static study. Voltage regulation schemes are considered on target when the actual voltage is within this value (+/- the voltage tolerance).
- Type:
float
- Units: p.u.
- Default: 1e-5
- Range: 0 - 1
voltages.tolerance=value
voltages.lower
- Description: Defines the acceptable lower voltage bound for the static study. Any buses with voltage lower than this value will prevent the case from converging. A network is deemed converged and stable when all in-service buses have per unit voltage higher than this value.
- Type:
float
- Units: p.u.
- Default: 0.85
- Range: 0 - 0.99
voltages.lower=value
voltages.higher
- Description: Defines the acceptable upper voltage bound for the static study. Any buses with voltage higher than this value will prevent the case from converging. A network is deemed converged and stable when all in-service buses have per unit voltage lower than this value.
- Type:
float
- Units: p.u.
- Default: 1.15
- Range: 1.01 - 2
voltages.higher=value
system.swingbus.ignorevolt
- Description: Should the swing bus (called reference bus in PowerFactory) be excluded from the
voltages.lower
andvoltages.higher
checks? This value defaults toYes
which is typically appropriate for SMIB studies. For full system model studies, setting this value to NO is recommended. - Type:
bool
- Units: N/A
- Default: Yes
- Range: Yes / No
system.swingbus.ignorevolt=value
low.scr.mode
- Description: Enables a low SCR mode where impedance changes (via
SET, LINE=, SCR=, XR=
) are slowly ramped during aSOLVE
command. - Type:
bool
- Units: N/A
- Default: No
- Range: Yes / No
low.scr.mode=value