Skip to content

Power Flow (PFC)

PFC uses the following network records documented in Network Modeling: BUS, LINE, SWITCH, TRANSFO, TRFO, NRTP.

The additional records specific to power flow computations are documented below.

Load and shunt data are specified in an extended version of the BUS record:

BUS NAME VNOM PLOAD QLOAD BSHUNT QSHUNT ;
FieldDescriptionUnit
NAMEBus name (max 8 characters)
VNOMNominal voltagekV
PLOADTotal active power load (positive = consumed)MW
QLOADTotal reactive power load (positive = consumed)Mvar
BSHUNTNominal reactive power of constant-susceptance shunt (positive = capacitor)Mvar
QSHUNTReactive power of constant-power shunt (positive = capacitor)Mvar

The total reactive power QQ produced by both shunt components:

Q=BSHUNT(VVnom)2+QSHUNTQ = \text{BSHUNT} \cdot \left(\frac{V}{V_{nom}}\right)^2 + \text{QSHUNT}
GENER NAME BUS P Q VIMP SNOM QMIN QMAX BR ;
FieldDescriptionUnit
NAMEGenerator name (max 20 characters)
BUSConnection bus name
PActive power producedMW
QReactive power produced (ignored if VIMP ≠ 0)Mvar
VIMPImposed voltage (0 = PQ bus, nonzero = PV bus)pu
SNOMNominal apparent powerMVA
QMINLower reactive power limitMvar
QMAXUpper reactive power limitMvar
BRBreaker status (0 = open)

For PV buses, if reactive limits are exceeded, the bus switches to PQ type with the limit enforced. It switches back to PV if the voltage returns past the setpoint.

A variant with additional fields PMIN and PMAX exists but these are currently ignored by STEPSS.

Only one generator is allowed per bus.

A slack bus is mandatory for power flow. A PV-type generator must be connected to it.

SLACK NAME ;

PFC can handle only one connected network. If the graph is disconnected, only the sub-network containing the slack bus is treated.

The SVC is modeled with a controllable susceptance BB at a controlled bus ii, regulating the voltage at a monitored bus jj:

IQi=G(VjoVj)Vi(voltage control)I_{Qi} = G(V_j^o - V_j) V_i \quad \text{(voltage control)} IQi=BmaxVi(upper limit)IQi=BminVi(lower limit)I_{Qi} = B_{max} V_i \quad \text{(upper limit)} \quad\quad I_{Qi} = B_{min} V_i \quad \text{(lower limit)}
SVC NAME CON_BUS MON_BUS V0 Q0 SNOM BMAX BMIN G BR ;
FieldDescriptionUnit
NAMESVC name
CON_BUSControlled bus
MON_BUSMonitored bus
V0Voltage setpoint (0 = constant power mode)pu
Q0Reactive power setpoint (ignored if V0 ≠ 0)Mvar
SNOMNominal reactive powerMvar
BMAXMax nominal reactive powerMvar
BMINMin nominal reactive powerMvar
GGainpu
BRBreaker status

It is not allowed to connect both a generator and an SVC to the same bus.

PFC can adjust transformer ratios to bring a controlled voltage inside a deadband [Vdesϵ,  Vdes+ϵ][V_{des} - \epsilon,\; V_{des} + \epsilon].

The ratio corresponding to tap position pp (1pNBPOS1 \le p \le \text{NBPOS}):

n=NFIRST100+p1NBPOS1NLASTNFIRST100n = \frac{\text{NFIRST}}{100} + \frac{p-1}{\text{NBPOS}-1} \cdot \frac{\text{NLAST} - \text{NFIRST}}{100}

Relevant fields in the TRFO record: CONBUS, NFIRST, NLAST, NBPOS, TOLV, VDES.

LTC-V NAME CON_BUS NFIRST NLAST NBPOS TOLV VDES ;

Phase-Shifting Transformer Adjustment (PSHIFT-P)

Section titled “Phase-Shifting Transformer Adjustment (PSHIFT-P)”

For phase-shifting transformers, PFC can adjust the phase angle to bring the active power flow in a monitored branch inside a deadband [Pdesϵ,  Pdes+ϵ][P_{des} - \epsilon,\; P_{des} + \epsilon].

PSHIFT-P CONTRFO MONBRANCH PHAFIRST PHALAST NBPOS SIGN PDES TOLP ;
FieldDescriptionUnit
CONTRFOName of the controlled phase-shifting transformer (max 20 characters)
MONBRANCHName of the monitored branch (max 20 characters)
PHAFIRSTPhase angle at first tap positiondegrees
PHALASTPhase angle at last tap positiondegrees
NBPOSNumber of tap positions
SIGN+1 or -1 — determines direction of power flow increase with phase angle increase
PDESDesired active power on monitored branchMW
TOLPTolerance on active powerMW

The phase angle ϕ\phi at tap position pp (1pNBPOS1 \le p \le \text{NBPOS}) is:

ϕ=PHAFIRST+p1NBPOS1(PHALASTPHAFIRST)\phi = \text{PHAFIRST} + \frac{p-1}{\text{NBPOS}-1}(\text{PHALAST} - \text{PHAFIRST})

Bus Voltages: Initial Values and Results (LFRESV)

Section titled “Bus Voltages: Initial Values and Results (LFRESV)”

On output, PFC produces a file with the computed bus voltage magnitudes and phase angles. These are stored in LFRESV records. The syntax is:

LFRESV BUS MODV PHASV ;
FieldDescriptionUnit
BUSBus name (max 8 characters)
MODVVoltage magnitudepu
PHASVVoltage phase angle, referenced to slack busradians

PFC uses Newton–Raphson iterations to solve the power flow equations. Convergence is achieved when both the active and reactive power mismatches fall below specified thresholds, all transformer ratio and phase-shift controls are satisfied, and all generators and SVCs are within their reactive limits.

The following records control the computation. Each record starts with $ and has a single numeric field.

ParameterDefaultUnitDescription
$SBASE100MVASystem base power (on which pu values are expressed)
$TOLAC0.1MWConvergence tolerance on active power mismatch (ϵP\epsilon_P)
$TOLREAC0.1MvarConvergence tolerance on reactive power mismatch (ϵQ\epsilon_Q)
$NBITMA20Maximum number of Newton iterations
$MISQLIM20MVAApparent power mismatch threshold below which generator/SVC reactive limits are checked and enforced (set to 0 to skip)
$MISBLOC10MVAApparent power mismatch threshold below which the Jacobian is kept constant
$MISADJ10MVAApparent power mismatch threshold below which transformer ratios and phase shifts are adjusted (set to 0 to skip)
$DIVDET0Set to 1 to activate divergence detection; 0 to skip

The following table summarises which records are used by PFC and RAMSES respectively.

RecordPFCRAMSES
BUSAll 6 fieldsFirst 2 fields (NAME, VNOM)
LINEAll fieldsAll fields
SWITCHAll fieldsAll fields
NRTPAll fieldsAll fields
TRANSFOAll fieldsAll fields
TRFOAll fieldsFields 1–9 and 15 only
SHUNTIgnoredAll fields
GENERAll fieldsIgnored
SVCAll fieldsIgnored
SLACKUsedUsed
LFRESVInput: initial values; Output: solutionInput: initial values for RAMSES
LTC-VUsedIgnored
PSHIFT-PUsedIgnored