Custom Exciter Models
This page documents the custom excitation system models available in RAMSES. These models range from a trivial constant-voltage source to full-featured AVR with PSS and OEL. Models without a .txt definition file are implemented directly in Fortran and are described from their source headers.
exc_constant
Section titled “exc_constant”Scientific Description
Section titled “Scientific Description”The exc_constant model provides a constant field voltage source. The field voltage is fixed at its load-flow initialisation value and does not respond to any input:
The single algebraic state satisfies:
This model is useful for open-loop tests, for machines that are not equipped with a voltage regulator, or as a placeholder during model development.
Implementation details (from Fortran source):
nbxvar = 1,nbzvar = 0,nbdata = 0- One additional parameter:
prm(1) = Vf0(set at initialisation from the load-flow field voltage) - Observables:
vf,if
Parameters
Section titled “Parameters”| Parameter | Description |
|---|---|
| (none) | No user-supplied data parameters. The field voltage is taken from the initialisation (load-flow) value automatically. |
Usage Example
Section titled “Usage Example”SYNC_MACH GEN1 BUS1 1. 1. 0. 0. 600. 570. 3. 0. 0.95 XT 0.15 1.1 0.25 0.2 0.7 * 0.2 0.1 6.0257 0. 5.00 0.05 * 0.1 EXC CONSTANT TOR CONSTANT ;- No parameters need to be supplied; the model self-initialises to the load-flow value.
- Useful for simulation of machines operating in manual excitation mode.
- The model name in the data file is
CONSTANT(notexc_constant).
exc_1storder
Section titled “exc_1storder”Scientific Description
Section titled “Scientific Description”The exc_1storder model is a first-order automatic voltage regulator (AVR). It represents the simplest dynamic exciter: a proportional gain acting on the terminal voltage error, filtered through a single first-order lag , with output limits.
The AVR computes the voltage error and drives the field voltage:
The reference voltage is initialised from:
Implementation details (from Fortran source):
nbxvar = 1,nbzvar = 1,nbdata = 4- Parameters:
prm(1) = KA,prm(2) = TA,prm(3) = Vfmin,prm(4) = Vfmax - Additional parameter:
prm(5) = V0(voltage setpoint, computed at initialisation) - The ODE in the continuous mode is:
- With anti-windup: if the limiter is active,
f(1) = Vf - Vfmin(orVfmax).
Parameters
Section titled “Parameters”| Parameter | Description |
|---|---|
KA | AVR gain (pu/pu) |
TA | AVR time constant (s) |
Vfmin | Minimum field voltage (pu) |
Vfmax | Maximum field voltage (pu) |
Usage Example
Section titled “Usage Example”SYNC_MACH GEN1 BUS1 1. 1. 0. 0. 600. 570. 3. 0. 0.95 XT 0.15 1.1 0.25 0.2 0.7 * 0.2 0.1 6.0257 0. 5.00 0.05 * 0.1 EXC 1storder 200.0 0.05 0.0 6.0 ! KA TA Vfmin Vfmax TOR CONSTANT ;- This model is the Fortran-coded equivalent of a simple
tf1plimblock with input . KAandTAtogether set the closed-loop bandwidth.- The model name in the data file is
1storder(notexc_1storder).
exc_kundur
Section titled “exc_kundur”Scientific Description
Section titled “Scientific Description”The exc_kundur model implements the excitation system from Kundur’s textbook (Power System Stability and Control, 1994). It includes a first-order voltage transducer, a proportional AVR with transient gain reduction (TGR), and a two-stage PSS acting on rotor speed deviation.
Voltage transducer:
AVR with transient gain reduction (lead–lag):
where is computed at initialisation and is the PSS output.
PSS (two-stage lead–lag with washout):
This is the standard two-stage phase-compensating PSS structure. The CODEGEN blocks in the .txt file are:
| Block | CODEGEN type | Function |
|---|---|---|
| Voltage filter | tf1p | |
| Main summing junction | algeq | |
| AVR (TGR) | tf1p1z | |
| PSS washout | tfder1p | |
| PSS lead–lag 1 | tf1p1z | |
| PSS lead–lag 2 | tf1p1z |
Parameters
Section titled “Parameters”| Parameter | Description |
|---|---|
TR | Voltage measurement filter time constant (s) |
KA | AVR gain (pu/pu) |
TA | TGR lead time constant (s) |
TB | TGR lag time constant (s) |
KSTAB | PSS gain |
TW | PSS washout time constant (s) |
T1 | PSS first lead–lag zero time constant (s) |
T2 | PSS first lead–lag pole time constant (s) |
T3 | PSS second lead–lag zero time constant (s) |
T4 | PSS second lead–lag pole time constant (s) |
Computed at initialisation: Vref = V + Vf / KA
Usage Example
Section titled “Usage Example”SYNC_MACH GEN1 BUS1 1. 1. 0. 0. 600. 570. 3. 0. 0.95 XT 0.15 1.1 0.25 0.2 0.7 * 0.2 0.1 6.0257 0. 5.00 0.05 * 0.1 EXC kundur 0.02 200.0 0.02 10.0 9.5 1.41 0.154 0.033 0.154 0.033 ! TR KA TA TB KSTAB TW T1 T2 T3 T4 TOR CONSTANT ;- Parameters match the Example 12.6 from Kundur (1994), applicable to a medium-speed generator.
- The PSS stabilises local modes in the 0.5–2 Hz range.
- No output limiter is defined in the base model; add clipping externally if required.
- The model name in the data file is
kundur(notexc_kundur).
exc_generic1
Section titled “exc_generic1”Scientific Description
Section titled “Scientific Description”The exc_generic1 model is a generic AVR with OEL (Over-Excitation Limiter) and PSS, implemented in Fortran. It includes a proportional–integral AVR, a PSS acting on rotor speed or active power, and an inverse-time OEL.
AVR:
The excitation system uses a first-order integrating controller (washout or PI-type, set by the gain and time constants , ) with output limits :
PSS (speed or power input, selectable):
Input signal is selected by SPEEDIN: 1 = rotor speed , 0 = electrical power .
Output is clamped to .
OEL (inverse-time limiter):
The OEL monitors field current . When , a timer begins accumulating via:
- Dead zone and phase parameters control OEL activation thresholds.
- The OEL integrates the overcurrent error and reduces once the timer reaches threshold , with output range .
Parameters from Fortran source (prm array):
| Index | Name | Description |
|---|---|---|
| 1 | IFLIM | Field current OEL threshold (pu) |
| 2 | d | OEL dead zone (pu) |
| 3 | f | OEL phase characteristic |
| 4 | S | AVR setpoint input (usually 0 = ) |
| 5 | K1 | AVR lead numerator gain |
| 6 | K2 | AVR lag denominator gain |
| 7 | L1 | OEL integrator lower limit (pu) |
| 8 | L2 | OEL integrator upper limit (pu) |
| 9 | G | AVR overall gain |
| 10 | TA | AVR lead time constant (s) |
| 11 | TB | AVR lag time constant (s) |
| 12 | TE | Exciter time constant (s) |
| 13 | L3 | AVR output lower limit (pu) |
| 14 | L4 | AVR output upper limit (pu) |
| 15 | SPEEDIN | PSS input signal: 1 = speed, 0 = power |
| 16 | KPSS | PSS gain |
| 17 | Tw | PSS washout time constant (s) |
| 18 | T1 | PSS lead–lag 1 zero (s) |
| 19 | T2 | PSS lead–lag 1 pole (s) |
| 20 | T3 | PSS lead–lag 2 zero (s) |
| 21 | T4 | PSS lead–lag 2 pole (s) |
| 22 | DVMIN | PSS output lower limit (pu) |
| 23 | DVMAX | PSS output upper limit (pu) |
Usage Example
Section titled “Usage Example”SYNC_MACH GEN1 BUS1 1. 1. 0. 0. 600. 570. 3. 0. 0.95 XT 0.15 1.1 0.25 0.2 0.7 * 0.2 0.1 6.0257 0. 5.00 0.05 * 0.1 EXC GENERIC1 1.05 -0.1 0.5 0.0 1.0 1.0 0.0 0.5 200.0 0.02 0.10 0.05 0.0 6.0 ! IFLIM d f S K1 K2 L1 L2 G TA TB TE L3 L4 1 9.5 1.40 0.15 0.03 0.15 0.03 -0.10 0.10 ! SPEEDIN KPSS Tw T1 T2 T3 T4 DVMIN DVMAX TOR CONSTANT ;exc_generic2
Section titled “exc_generic2”Scientific Description
Section titled “Scientific Description”The exc_generic2 model is a more detailed generic AVR (formerly known as exc_generic3 internally), developed and validated with Hydro-Québec data. It includes a voltage compensator, a combined PI–proportional regulator, an AC exciter with saturation, a PSS, and an OEL.
Voltage measurement with line-drop compensation:
PI–proportional AVR with transient gain reduction:
AC exciter with saturation:
where is the piecewise-linear saturation function defined by and .
PSS (type selectable by typss):
OEL (inverse-time, three-segment):
The OEL uses a three-level piecewise-linear characteristic , , to compute the allowable overcurrent time.
Parameters from Fortran associate block (39 data parameters + 4 additional):
| Index | Name | Description |
|---|---|---|
| 1 | Xc | Line-drop compensation reactance (pu) |
| 2 | Tr | Voltage measurement time constant (s) |
| 3 | C | TGR numerator gain |
| 4 | Tc | TGR lead time constant (s) |
| 5 | Tb | TGR lag time constant (s) |
| 6 | Ka | AVR proportional gain |
| 7 | Ta | AVR time constant (s) |
| 8 | Ki | AVR integral gain |
| 9 | Kp | AVR proportional path gain |
| 10 | VrmaxD | Regulator max (dynamic, pu) |
| 11 | VrminD | Regulator min (dynamic, pu) |
| 12 | G | Exciter overall gain |
| 13 | Ke | Exciter self-excitation coefficient |
| 14 | Te | Exciter time constant (s) |
| 15 | E1 | Saturation breakpoint 1 (pu) |
| 16 | SeE1 | Saturation factor at |
| 17 | E2 | Saturation breakpoint 2 (pu) |
| 18 | SeE2 | Saturation factor at |
| 19 | Vrmax | Field voltage upper limit (pu) |
| 20 | Vrmin | Field voltage lower limit (pu) |
| 21 | typss | PSS input type (1 = speed, 2 = power) |
| 22 | W | PSS input gain |
| 23 | Tf | PSS derivative filter time constant (s) |
| 24 | Kpss | PSS gain |
| 25 | Tw | PSS washout time constant (s) |
| 26 | T1 | PSS lead–lag 1 zero (s) |
| 27 | T2 | PSS lead–lag 1 pole (s) |
| 28 | T3 | PSS lead–lag 2 zero (s) |
| 29 | T4 | PSS lead–lag 2 pole (s) |
| 30 | Lim | PSS output symmetric limit (pu) |
| 31 | LimSup | PSS upper asymmetric limit (pu) |
| 32 | s1 | OEL segment 1 (pu ) |
| 33 | toel1 | OEL time at segment 1 (s) |
| 34 | s2 | OEL segment 2 (pu ) |
| 35 | toel2 | OEL time at segment 2 (s) |
| 36 | s3 | OEL segment 3 (pu ) |
| 37 | toel3 | OEL time at segment 3 (s) |
| 38 | perm | OEL permanent current limit (pu) |
| 39 | LimInf | PSS lower asymmetric limit (pu) |
Usage Example
Section titled “Usage Example”SYNC_MACH GEN1 BUS1 1. 1. 0. 0. 600. 570. 3. 0. 0.95 XT 0.15 1.1 0.25 0.2 0.7 * 0.2 0.1 6.0257 0. 5.00 0.05 * 0.1 EXC generic2 0.0 0.02 1.0 0.10 1.00 200.0 0.05 5.0 1.0 6.0 -6.0 1.0 0.0 0.50 ! Xc Tr C Tc Tb Ka Ta Ki Kp VrmaxD VrminD G Ke Te 3.10 0.066 4.18 0.91 6.0 -6.0 1.0 1.0 0.05 9.5 1.40 0.154 0.033 0.154 0.033 ! E1 SeE1 E2 SeE2 Vrmax Vrmin typss W Tf Kpss Tw T1 T2 T3 T4 0.10 0.10 1.1 200. 1.2 60. 1.5 10. 1.05 -0.10 ! Lim LimSup s1 toel1 s2 toel2 s3 toel3 perm LimInf TOR CONSTANT ;exc_GENERIC3
Section titled “exc_GENERIC3”Scientific Description
Section titled “Scientific Description”The exc_GENERIC3 model (note capital letters) is a generic AVR with integrated PSS and OEL, defined via the CODEGEN .txt description. It provides a clean, modular three-block structure: AVR, PSS, and OEL.
AVR (transient gain reduction + exciter):
where is computed at initialisation.
PSS (washout + two lead–lag stages):
Output is limited to .
OEL (inverse-time integrator):
The CODEGEN block structure from the .txt file:
| Block | CODEGEN type | Signal |
|---|---|---|
| AVR summing junction | algeq | |
| Transient gain reduction | tf1p1z | |
| Exciter | tf1plim | with |
| PSS washout | tfder1p | |
| PSS lead–lag 1 | tf1p1z | |
| PSS lead–lag 2 | tf1p1z | |
| PSS limiter | lim | |
| OEL error | algeq | |
| OEL upper bound | min1v1c | |
| OEL integrator | inlim | with |
| OEL multiplier | algeq | |
| OEL output limiter | lim |
Parameters
Section titled “Parameters”| Parameter | Description |
|---|---|
G | AVR gain (pu/pu) |
Ta | AVR lead time constant / TGR zero (s) |
Tb | AVR lag time constant / TGR pole (s) |
Te | Exciter time constant (s) |
vfmin | Minimum field voltage (pu) |
vfmax | Maximum field voltage (pu) |
Kpss | PSS gain |
Tw | PSS washout time constant (s) |
T1 | PSS first lead–lag zero (s) |
T2 | PSS first lead–lag pole (s) |
T3 | PSS second lead–lag zero (s) |
T4 | PSS second lead–lag pole (s) |
C | PSS output symmetric limit (pu) |
if1lim | OEL field current threshold (pu) |
if2lim | OEL maximum overcurrent error (pu) |
Toel | OEL integrator time constant (s) |
Koel | OEL output gain |
L1 | OEL integrator lower limit |
L2 | OEL integrator upper limit |
L3 | OEL output upper limit (pu) |
Computed at initialisation: Vo = V + Vf / G
Usage Example
Section titled “Usage Example”SYNC_MACH GEN1 BUS1 1. 1. 0. 0. 600. 570. 3. 0. 0.95 XT 0.15 1.1 0.25 0.2 0.7 * 0.2 0.1 6.0257 0. 5.00 0.05 * 0.1 EXC GENERIC3 200.0 0.05 10.0 0.04 0.0 5.0 ! G Ta Tb Te vfmin vfmax 9.5 1.40 0.154 0.033 0.154 0.033 0.10 ! Kpss Tw T1 T2 T3 T4 C 1.05 0.30 30.0 1.0 0.0 1.0 2.0 ! if1lim if2lim Toel Koel L1 L2 L3 TOR CONSTANT ;exc_GENERIC4
Section titled “exc_GENERIC4”Scientific Description
Section titled “Scientific Description”The exc_GENERIC4 model is a compiled version of exc_GENERIC3, implemented directly in Fortran using the new-style RAMSES API (single subroutine with mode selector). The mathematical structure is identical to exc_GENERIC3:
The OEL integrates the overcurrent error , capped at , then multiplies by to produce .
Implementation details (from Fortran source):
nbdata = 20,nbaddpar = 1(Vo computed at init),nbxvar = 16,nbzvar = 5- The advantage over
exc_GENERIC3is performance: all equations are compiled, not interpreted.
Parameters
Section titled “Parameters”| Parameter | Description |
|---|---|
G | AVR gain |
Ta | Lead time constant (s) |
Tb | Lag time constant (s) |
Te | Exciter time constant (s) |
vfmin | Field voltage lower limit (pu) |
vfmax | Field voltage upper limit (pu) |
Kpss | PSS gain |
Tw | PSS washout time constant (s) |
T1 | PSS lead–lag 1 zero (s) |
T2 | PSS lead–lag 1 pole (s) |
T3 | PSS lead–lag 2 zero (s) |
T4 | PSS lead–lag 2 pole (s) |
C | PSS output symmetric limit (pu) |
if1lim | OEL threshold (pu) |
if2lim | OEL max overcurrent (pu) |
Toel | OEL time constant (s) |
Koel | OEL gain |
L1 | OEL lower limit |
L2 | OEL upper limit |
L3 | OEL output limit (pu) |
Usage Example
Section titled “Usage Example”SYNC_MACH GEN1 BUS1 1. 1. 0. 0. 600. 570. 3. 0. 0.95 XT 0.15 1.1 0.25 0.2 0.7 * 0.2 0.1 6.0257 0. 5.00 0.05 * 0.1 EXC GENERIC4 200.0 0.05 10.0 0.04 0.0 5.0 ! G Ta Tb Te vfmin vfmax 9.5 1.40 0.154 0.033 0.154 0.033 0.10 ! Kpss Tw T1 T2 T3 T4 C 1.05 0.30 30.0 1.0 0.0 1.0 2.0 ! if1lim if2lim Toel Koel L1 L2 L3 TOR CONSTANT ;exc_GENERIC4is the compiled-code equivalent ofexc_GENERIC3. Use when simulation speed is a priority, as the Fortran subroutine is faster than the interpreted CODEGEN version.- Parameter order and meaning are identical to
exc_GENERIC3. - The model name in the data file is
GENERIC4(notexc_GENERIC4).