Skip to content

Synchronous Machine Model

This page documents the mathematical model of the synchronous machine implemented in RAMSES. The model uses the Equal-Mutual-Flux-Linkage (EMFL) per unit system and supports detailed (round rotor, salient pole) and simplified (no damper) configurations through model switches.


To accommodate different rotor configurations within a single model, integer “model switches” are defined:

SwitchMeaning
Sd1S_{d1}1 if there is a damper winding d1d1, 0 otherwise
Sq1S_{q1}1 if there is a damper winding q1q1, 0 otherwise
Sq2S_{q2}1 if there is an equivalent winding q2q2, 0 otherwise
ModelSwitches
Detailed, round rotorSd1=1,  Sq1=1,  Sq2=1S_{d1} = 1,\; S_{q1} = 1,\; S_{q2} = 1
Detailed, salient poleSd1=1,  Sq1=1,  Sq2=0S_{d1} = 1,\; S_{q1} = 1,\; S_{q2} = 0
Simplified, no damperSd1=0,  Sq1=0,  Sq2=0S_{d1} = 0,\; S_{q1} = 0,\; S_{q2} = 0

Using the EMFL per unit system, the relationship between magnetic flux linkages and currents is:

(ψdψfψd1)=(L+MdMdSd1MdMdLf+MdSd1MdSd1MdSd1MdLd1+Sd1Md)(idifid1)\begin{pmatrix} \psi_d \\ \psi_f \\ \psi_{d1} \end{pmatrix} = \begin{pmatrix} L_\ell + M_d & M_d & S_{d1} M_d \\ M_d & L_{\ell f} + M_d & S_{d1} M_d \\ S_{d1} M_d & S_{d1} M_d & L_{\ell d1} + S_{d1} M_d \end{pmatrix} \begin{pmatrix} i_d \\ i_f \\ i_{d1} \end{pmatrix} (ψqψq1ψq2)=(L+MqSq1MqSq2MqSq1MqLq1+Sq1MqSq2MqSq2MqSq2MqLq2+Sq2Mq)(iqiq1iq2)\begin{pmatrix} \psi_q \\ \psi_{q1} \\ \psi_{q2} \end{pmatrix} = \begin{pmatrix} L_\ell + M_q & S_{q1} M_q & S_{q2} M_q \\ S_{q1} M_q & L_{\ell q1} + S_{q1} M_q & S_{q2} M_q \\ S_{q2} M_q & S_{q2} M_q & L_{\ell q2} + S_{q2} M_q \end{pmatrix} \begin{pmatrix} i_q \\ i_{q1} \\ i_{q2} \end{pmatrix}

The dd and qq components of the air-gap flux are:

ψad=Md(id+if+Sd1id1)\psi_{ad} = M_d(i_d + i_f + S_{d1} i_{d1}) ψaq=Mq(iq+Sq1iq1+Sq2iq2)\psi_{aq} = M_q(i_q + S_{q1} i_{q1} + S_{q2} i_{q2})

Individual flux linkages in terms of air-gap flux:

ψd=Lid+ψad\psi_d = L_\ell i_d + \psi_{ad} ψf=Lfif+ψad\psi_f = L_{\ell f} i_f + \psi_{ad} ψd1=Ld1id1+Sd1ψad\psi_{d1} = L_{\ell d1} i_{d1} + S_{d1} \psi_{ad} ψq=Liq+ψaq\psi_q = L_\ell i_q + \psi_{aq} ψq1=Lq1iq1+Sq1ψaq\psi_{q1} = L_{\ell q1} i_{q1} + S_{q1} \psi_{aq} ψq2=Lq2iq2+Sq2ψaq\psi_{q2} = L_{\ell q2} i_{q2} + S_{q2} \psi_{aq}

Rotor currents from flux linkages:

if=ψfψadLf,id1=ψd1Sd1ψadLd1,iq1=ψq1Sq1ψaqLq1,iq2=ψq2Sq2ψaqLq2i_f = \frac{\psi_f - \psi_{ad}}{L_{\ell f}}, \qquad i_{d1} = \frac{\psi_{d1} - S_{d1} \psi_{ad}}{L_{\ell d1}}, \qquad i_{q1} = \frac{\psi_{q1} - S_{q1} \psi_{aq}}{L_{\ell q1}}, \qquad i_{q2} = \frac{\psi_{q2} - S_{q2} \psi_{aq}}{L_{\ell q2}}

Let MduM_d^u and MquM_q^u be the unsaturated direct- and quadrature-axis mutual inductances. The saturated values MdM_d and MqM_q are:

Md=Mdu1+m(ψad2+ψaq2)nM_d = \frac{M_d^u}{1 + m \left(\sqrt{\psi_{ad}^2 + \psi_{aq}^2}\right)^n} Mq=Mqu1+m(ψad2+ψaq2)nM_q = \frac{M_q^u}{1 + m \left(\sqrt{\psi_{ad}^2 + \psi_{aq}^2}\right)^n}

where mm and nn are the saturation exponents specified in the SYNC_MACH record.

Substituting into the air-gap flux expressions yields the algebraic equations:

ψad(1+m(ψad2+ψaq2)nMdu+1Lf+Sd1Ld1)id1LfψfSd1Ld1ψd1=0\psi_{ad} \left( \frac{1 + m(\sqrt{\psi_{ad}^2 + \psi_{aq}^2})^n}{M_d^u} + \frac{1}{L_{\ell f}} + \frac{S_{d1}}{L_{\ell d1}} \right) - i_d - \frac{1}{L_{\ell f}} \psi_f - \frac{S_{d1}}{L_{\ell d1}} \psi_{d1} = 0 ψaq(1+m(ψad2+ψaq2)nMqu+Sq1Lq1+Sq2Lq2)iqSq1Lq1ψq1Sq2Lq2ψq2=0\psi_{aq} \left( \frac{1 + m(\sqrt{\psi_{ad}^2 + \psi_{aq}^2})^n}{M_q^u} + \frac{S_{q1}}{L_{\ell q1}} + \frac{S_{q2}}{L_{\ell q2}} \right) - i_q - \frac{S_{q1}}{L_{\ell q1}} \psi_{q1} - \frac{S_{q2}}{L_{\ell q2}} \psi_{q2} = 0

The dd and qq components of the stator voltage and current relate to the network (x,y)(x, y) components through the rotor angle δ\delta:

(vdvq)=(sinδcosδcosδsinδ)(vxvy)\begin{pmatrix} v_d \\ v_q \end{pmatrix} = \begin{pmatrix} -\sin\delta & \cos\delta \\ \cos\delta & \sin\delta \end{pmatrix} \begin{pmatrix} v_x \\ v_y \end{pmatrix} (idiq)=(sinδcosδcosδsinδ)(ixiy)\begin{pmatrix} i_d \\ i_q \end{pmatrix} = \begin{pmatrix} -\sin\delta & \cos\delta \\ \cos\delta & \sin\delta \end{pmatrix} \begin{pmatrix} i_x \\ i_y \end{pmatrix}

After transformation, the air-gap flux algebraic equations in (x,y)(x, y) coordinates become:

ψad(1+m(ψad2+ψaq2)nMdu+1Lf+Sd1Ld1)+sinδixcosδiy1LfψfSd1Ld1ψd1=0\psi_{ad} \left( \frac{1 + m(\sqrt{\psi_{ad}^2 + \psi_{aq}^2})^n}{M_d^u} + \frac{1}{L_{\ell f}} + \frac{S_{d1}}{L_{\ell d1}} \right) + \sin\delta\, i_x - \cos\delta\, i_y - \frac{1}{L_{\ell f}} \psi_f - \frac{S_{d1}}{L_{\ell d1}} \psi_{d1} = 0 ψaq(1+m(ψad2+ψaq2)nMqu+Sq1Lq1+Sq2Lq2)cosδixsinδiySq1Lq1ψq1Sq2Lq2ψq2=0\psi_{aq} \left( \frac{1 + m(\sqrt{\psi_{ad}^2 + \psi_{aq}^2})^n}{M_q^u} + \frac{S_{q1}}{L_{\ell q1}} + \frac{S_{q2}}{L_{\ell q2}} \right) - \cos\delta\, i_x - \sin\delta\, i_y - \frac{S_{q1}}{L_{\ell q1}} \psi_{q1} - \frac{S_{q2}}{L_{\ell q2}} \psi_{q2} = 0

Stator equations (algebraic, in xx-yy frame)

Section titled “Stator equations (algebraic, in xxx-yyy frame)”
0=sinδvxcosδvy+(RasinδωLcosδ)ix(Racosδ+ωLsinδ)iyωψaq0 = \sin\delta\, v_x - \cos\delta\, v_y + (R_a \sin\delta - \omega L_\ell \cos\delta)\, i_x - (R_a \cos\delta + \omega L_\ell \sin\delta)\, i_y - \omega \psi_{aq} 0=cosδvxsinδvy(Racosδ+ωNLsinδ)ix(RasinδωLcosδ)iy+ωψad0 = -\cos\delta\, v_x - \sin\delta\, v_y - (R_a \cos\delta + \omega_N L_\ell \sin\delta)\, i_x - (R_a \sin\delta - \omega L_\ell \cos\delta)\, i_y + \omega \psi_{ad} dψfdt=ωN(KfvfRfψfψadLf)\frac{d\psi_f}{dt} = \omega_N \left( K_f v_f - R_f \frac{\psi_f - \psi_{ad}}{L_{\ell f}} \right) dψd1dt=ωNRd1ψd1Sd1ψadLd1\frac{d\psi_{d1}}{dt} = -\omega_N R_{d1} \frac{\psi_{d1} - S_{d1} \psi_{ad}}{L_{\ell d1}} dψq1dt=ωNRq1ψq1Sq1ψaqLq1\frac{d\psi_{q1}}{dt} = -\omega_N R_{q1} \frac{\psi_{q1} - S_{q1} \psi_{aq}}{L_{\ell q1}} dψq2dt=ωNRq2ψq2Sq2ψaqLq2\frac{d\psi_{q2}}{dt} = -\omega_N R_{q2} \frac{\psi_{q2} - S_{q2} \psi_{aq}}{L_{\ell q2}}
1ωNdδdt=ωωcoi\frac{1}{\omega_N} \frac{d\delta}{dt} = \omega - \omega_{coi} 2Hdωdt=KmTmTeD(ωωcoi)2H \frac{d\omega}{dt} = K_m T_m - T_e - D(\omega - \omega_{coi})

where the electromagnetic torque TeT_e is:

Te=ψadiqψaqid=ψad(cosδix+sinδiy)ψaq(sinδix+cosδiy)T_e = \psi_{ad} i_q - \psi_{aq} i_d = \psi_{ad}(\cos\delta\, i_x + \sin\delta\, i_y) - \psi_{aq}(-\sin\delta\, i_x + \cos\delta\, i_y)

The model has 10 state variables: ixi_x, iyi_y, ψad\psi_{ad}, ψaq\psi_{aq}, ψf\psi_f, ψd1\psi_{d1}, ψq1\psi_{q1}, ψq2\psi_{q2}, δ\delta, ω\omega.

These are balanced by:

  • 4 algebraic equations: air-gap flux (d and q), stator voltage (d and q)
  • 6 differential equations: field flux, d1 damper flux, q1 damper flux, q2 damper flux, rotor angle, rotor speed

The synchronous machine model uses the EMFL per unit system, while the excitation system typically uses its own per unit system. The parameter IBRATIO bridges these two bases:

IBRATIO=IfBmacIfBexcIBRATIO = \frac{I_{fB}^{mac}}{I_{fB}^{exc}}

where IfBmacI_{fB}^{mac} is the field winding base current in the machine model and IfBexcI_{fB}^{exc} is the base current in the excitation system model. The relationship between per-unit field currents in the two systems is:

IBRATIO=if,puexcif,pumacIBRATIO = \frac{i_{f,pu}^{exc}}{i_{f,pu}^{mac}}

Open-circuit unsaturated machine (most common): IfBexcI_{fB}^{exc} is the field current that produces nominal stator voltage (V=1V = 1 pu) at nominal speed (ω=1\omega = 1 pu) with the stator open, neglecting saturation:

IBRATIO=Mdu=XduXIBRATIO = M_d^u = X_d^u - X_\ell

Open-circuit saturated machine: Same conditions but with saturation:

IBRATIO=Mdu1+m=XduX1+mIBRATIO = \frac{M_d^u}{1 + m} = \frac{X_d^u - X_\ell}{1 + m}

Saturated machine at nominal operating conditions: IfBexcI_{fB}^{exc} is the field current when the machine produces nominal active and reactive powers (P=cosϕNP = \cos\phi_N, Q=sinϕNQ = \sin\phi_N) at nominal voltage and speed, with saturation.


The synchronous machine is declared in the data file with the SYNC_MACH record:

SYNC_MACH name bus FP FQ P Q SNOM Pnom H D IBRATIO
XT/RL Xl Xd X'd X"d Xq X'q X"q m n Ra T'do T"do T'qo T"qo
EXC exc_type param1 param2 ...
TOR tor_type param1 param2 ... ;
ParameterDescriptionUnit
nameMachine name (max 8 characters)
busConnection bus name (max 8 characters)
FPActive power participation fraction (0–1)
FQReactive power participation fraction (0–1)
PInitial active power (used when FP = 0)MW
QInitial reactive power (used when FQ = 0)Mvar
SNOMNominal apparent powerMVA
PnomNominal active power of the turbineMW
HInertia constants
DDamping coefficientpu
IBRATIOField current base ratio IfBmac/IfBexcI_{fB}^{mac}/I_{fB}^{exc} (see above)pu
XT/RLKeyword: XT for step-up transformer reactance, RL for line resistance
Value after XT/RLStep-up transformer reactance or line resistancepu
XlLeakage reactance LL_\ellpu
Xdd-axis synchronous reactancepu
X'dd-axis transient reactancepu
X"dd-axis subtransient reactancepu
Xqq-axis synchronous reactancepu
X'qq-axis transient reactance (use * to set equal to X'd)pu
X"qq-axis subtransient reactance (use * to set equal to X"d)pu
mSaturation coefficient (use * for default)
nSaturation exponent (use * for default)
RaArmature resistancepu
T'dod-axis open-circuit transient time constants
T"dod-axis open-circuit subtransient time constants
T'qoq-axis open-circuit transient time constant (use * for round-rotor default)s
T"qoq-axis open-circuit subtransient time constants

All reactances and resistances are in per unit on the machine base (SnomS_{nom}, nominal voltage).

The EXC and TOR sub-records specify the excitation system and turbine-governor models. See the Model Reference for available models.