Skip to main content

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).
info

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
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

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 and CONTROL Commands.
  • OUTPUT: Outputs a value as an Internode Variable.
info

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:

  1. Solve considering SET COMMAND 1, SET COMMAND 2 and CONTROL COMMAND 1; then
  2. 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.

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 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 using STATUS=, SCR= and XR= 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 (where X 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.
note

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) or bus1_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.
  • VARIABLE (str): Name of the input variable/parameter to control.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to VTARGET (i.e. VTARGET x VALSCALE). 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).
note

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.

caution

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.

note

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:

  1. Solve considering SET COMMAND 1 and CONTROL COMMAND 1; then
  2. Solve considering SET COMMAND 2; then
  3. Solve considering CONTROL COMMAND 1.
note

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 as VDIRECT.
  • 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 to VTARGET (i.e. VTARGET x VALSCALE). Default value is 1.
  • VTARGET (float)[Optional]: Target voltage set point [p.u.]. Default value is the voltage specified in the usetp 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.

voltage droop characteristic with a deadband and fixed maximum and minimum reactive power limits

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 as VDROOP.
  • QBASE (float): Base reactive power [MVAr].
  • DROOP% (float): Droop percentage [%].
  • DEADBAND (float): Voltage deadband [p.u.].
  • QMIN (int)[Optional]: Minimum reactive power limit at the ATLINE= line [MVAr]. Default value is -∞.
  • QMAX (int)[Optional]: Maximum reactive power limit at the ATLINE= 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 the ATLINE= line. Default value is the 'from' (first) bus name as per the ATLINE= argument.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to VTARGET (i.e. VTARGET x VALSCALE). Default value is 1.
  • VTARGET (float): Target voltage set point [p.u.]. Default value is the voltage specified in the usetp 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 as FIXED.
  • 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 the ATLINE= line. Default value is the 'from' (first) bus name as per the ATLINE= argument.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to QTARGET (i.e. QTARGET x VALSCALE). 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 as PF.
  • 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 the ATLINE= line. Default value is the 'from' (first) bus name as per the ATLINE= argument.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to PFTARGET (i.e. PFTARGET x VALSCALE). 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 the ATLINE= line. Default value is the 'from' (first) bus name as per the ATLINE= argument.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to P (i.e. P x VALSCALE). 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 as FIXED. 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 the ATLINE= line. Default value is the 'from' (first) bus name as per the ATLINE= argument.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to QTARGET (i.e. QTARGET x VALSCALE). Default value is 1.
  • QTARGET= (float): Target reactive power set point [MVAr] for constant power load.
note

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 as PF.
  • 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 the ATLINE= line. Default value is the 'from' (first) bus name as per the ATLINE= argument.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to PFTARGET (i.e. PFTARGET x VALSCALE). Default value is 1.3
  • PFTARGET (float): Target power factor power set point.
note

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 the ATLINE= line. Default value is the 'from' (first) bus name as per the ATLINE= argument.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to P (i.e. P x VALSCALE). Default value is 1.
  • Load setpoint. Options:
    • P (float): Active power target [MW] for constant power load.
note

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 to NO. 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 to NO. 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

note

Only one value can be output per OUTPUT Command.

info

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 x VALSCALE). 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:
  • METERBUS (int)[Optional]: Case sensitive bus name, which is the metering point for the LINE= line. Default value is the 'from' (first) bus name, as per the LINE= argument.
  • 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.

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) or bus1_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 the LINE= line. Default value is the 'from' (first) bus name, as per the LINE= argument.
  • 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.

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:
  • 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.

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 the ATLINE= line [MVAr].
  • QMAX (float): Maximum reactive power limit at the ATLINE= 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 the LINE= line. Default value is the 'from' (first) bus name, as per the LINE= argument.
  • 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.

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 to Yes, the generator is treated as converged. If this Advanced Parameter is set to No 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 and voltages.higher checks? This value defaults to Yes 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 a SOLVE command.
  • Type: bool
  • Units: N/A
  • Default: No
  • Range: Yes / No
low.scr.mode=value