You are on page 1of 12

1 Machine Model GENQEC

Saturation Terms Saturated Subtransient Reactances


𝑆𝑆𝑎𝑎 = 𝑆𝑆𝑆𝑆𝑆𝑆�𝜓𝜓𝑎𝑎𝑎𝑎 � ′′
𝑋𝑋𝑑𝑑′′ − 𝑋𝑋𝑙𝑙
𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = + 𝑋𝑋𝑙𝑙
1 + 𝑆𝑆𝑎𝑎
1 2 2 ′′
𝜓𝜓𝑎𝑎𝑎𝑎 = ��𝑉𝑉𝑞𝑞𝑞𝑞𝑞𝑞 � + �𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑 � ′′
𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑙𝑙
1+𝜔𝜔 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = + 𝑋𝑋𝑙𝑙
1 + 𝑆𝑆𝑎𝑎
It is a function of the air gap voltage
Electrical Torque
𝑉𝑉𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑉𝑉𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 + 𝐼𝐼𝑞𝑞 𝑅𝑅𝑎𝑎 + 𝐼𝐼𝑑𝑑 𝑋𝑋𝑙𝑙
ψ𝑞𝑞 = ψ𝑞𝑞′′ − 𝐼𝐼𝑞𝑞 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞
′′
= −𝐸𝐸𝑑𝑑′′ − 𝐼𝐼𝑞𝑞 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞
′′
𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 + 𝐼𝐼𝑑𝑑 𝑅𝑅𝑎𝑎 − 𝐼𝐼𝑞𝑞 𝑋𝑋𝑙𝑙
ψ𝑑𝑑 = ψ𝑑𝑑 − 𝐼𝐼𝑑𝑑 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = +𝐸𝐸𝑞𝑞 − 𝐼𝐼𝑑𝑑 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
′′ ′′ ′′ ′′

𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 = ψ𝑑𝑑 𝐼𝐼𝑞𝑞 − ψ𝑞𝑞 𝐼𝐼𝑑𝑑


Network Interface Equations
Mechanical Swing Equations 𝑑𝑑�ψ𝑑𝑑′′ +𝑗𝑗 ψ𝑞𝑞′′ �
1 𝛿𝛿̇ = 𝜔𝜔 ∗ 𝜔𝜔0
𝑉𝑉𝑑𝑑 + 𝑗𝑗𝑉𝑉𝑞𝑞 =
𝑑𝑑𝑑𝑑
1 𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚ℎ −𝐷𝐷𝐷𝐷 𝑉𝑉𝑑𝑑 + 𝑗𝑗𝑉𝑉𝑞𝑞 = 𝑗𝑗(1 + 𝜔𝜔) �ψ𝑑𝑑′′ + 𝑗𝑗ψ𝑞𝑞′′ �
2 𝜔𝜔̇ = �
2𝐻𝐻
− 𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 �
1+𝜔𝜔
𝜔𝜔 = per unit speed deviation, so 𝜔𝜔 = 0 means 𝑉𝑉𝑑𝑑 + 𝑗𝑗𝑉𝑉𝑞𝑞 = (1 + 𝜔𝜔) �−ψ𝑞𝑞′′ + 𝑗𝑗ψ𝑑𝑑′′ �
we are at synchronous speed and 𝜔𝜔 = 1 𝑉𝑉𝑑𝑑 + 𝑗𝑗𝑉𝑉𝑞𝑞 = �𝐸𝐸𝑑𝑑′′ + 𝑗𝑗𝐸𝐸𝑞𝑞′′ �(1 + 𝜔𝜔)
would mean it’s spinning at double ′′ ′′
Because 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 <> 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 we cannot use a circuit
synchronous speed
𝜔𝜔0 = synchronous speed 2𝜋𝜋𝑓𝑓0 where 𝑓𝑓0 is the model for network interface equations and must
nominal system frequency in Hz instead directly use the following.
′′
Note: If option Ignore Speed Effects in 𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑉𝑉𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑑𝑑 + 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝐼𝐼𝑞𝑞
′′
Generator Swing Equation is true, then 𝑉𝑉𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑉𝑉𝑞𝑞 − 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝐼𝐼𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑞𝑞
instead use Convert to Network Reference
𝜋𝜋
1
𝜔𝜔̇ = (𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚ℎ − 𝐷𝐷𝐷𝐷 − 𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 ) 𝐼𝐼𝑟𝑟 + 𝑗𝑗𝐼𝐼𝑖𝑖 = �𝐼𝐼𝑑𝑑 + 𝑗𝑗𝐼𝐼𝑞𝑞 �𝑒𝑒 𝑗𝑗(𝛿𝛿− 2 )
2𝐻𝐻 𝜋𝜋
𝑉𝑉𝑟𝑟 + 𝑗𝑗𝑉𝑉𝑖𝑖 = �𝑉𝑉𝑑𝑑 + 𝑗𝑗𝑉𝑉𝑞𝑞 �𝑒𝑒 𝑗𝑗(𝛿𝛿− 2 )
1.1 Initialization
This model is similar to GENROU, but the saturation is handled much differently. We will more formerly
discuss the theory of this model in a later section. Conceptually though, the saturation function is
applied to the field voltage input (𝐸𝐸𝑓𝑓𝑓𝑓 ), field current output (𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓 ), and also the various time constants


(𝑇𝑇𝑞𝑞𝑞𝑞 ′′
, 𝑇𝑇𝑞𝑞𝑞𝑞 , 𝑇𝑇𝑑𝑑𝑑𝑑 ′′
, 𝑇𝑇𝑞𝑞𝑞𝑞 ). The model also permits transient saliency so that 𝑋𝑋𝑑𝑑′′ <> 𝑋𝑋𝑞𝑞′′ . The saturation
function is a function of the air gap flux �𝜓𝜓𝑎𝑎𝑎𝑎 �. Satuation is then applied directly to both d and q axis
without any scaling because we are dividing all reactance terms by the same (1 + 𝑆𝑆𝑎𝑎 ) value. The
saturation function is calculated from the air gap voltage magnitude on either the d/q reference frame
or the network reference frame. Similar to GENROU with saturation we need to be a little clever with
the initialization. We know that the initial speed deviation is ω = 0, however we cannot directly solve
for rotor angle. Let’s just write out the 5 equations that must be satisfied for steady state.
𝐼𝐼
1. +𝐸𝐸𝑞𝑞′ − ψ′𝑑𝑑 − (𝑋𝑋𝑑𝑑′ − 𝑋𝑋𝑙𝑙 ) 1+𝑆𝑆𝑑𝑑 = 0 Sum inputs integrator for State 4
𝑎𝑎
𝑋𝑋𝑑𝑑′′ −𝑋𝑋𝑙𝑙 𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑑𝑑′′
2. ψ′′
𝑑𝑑
−� 𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙
� 𝐸𝐸𝑞𝑞′ − � 𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙
� ψ′𝑑𝑑 = 0 Final summation block resulting in ψ′′
𝑑𝑑
𝐼𝐼𝑞𝑞
3. −𝐸𝐸𝑑𝑑′ + �𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑞𝑞′ � 1+𝑆𝑆 = 0 Sum inputs integrator for State 5
𝑎𝑎
𝐼𝐼𝑞𝑞
4. +𝐸𝐸𝑑𝑑′ − ψ′𝑞𝑞 + �𝑋𝑋𝑞𝑞′ − 𝑋𝑋𝑙𝑙 � 1+𝑆𝑆 = 0 Sum inputs integrator for State 6
𝑎𝑎
𝑋𝑋𝑞𝑞′′ −𝑋𝑋𝑙𝑙 𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑞𝑞′′
5. −ψ′′
𝑞𝑞
−� 𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑙𝑙
� 𝐸𝐸𝑑𝑑′ − � 𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑙𝑙
� ψ′𝑞𝑞 = 0 Final summation block resulting in ψ′′
𝑞𝑞

The value of the saturation function 𝑆𝑆𝑆𝑆𝑆𝑆�𝜓𝜓𝑎𝑎𝑎𝑎 � is vital to this initialization. We can get the air-gap
voltage on the network reference frame and the magnitude on the d/q reference frame will be the same

• 𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖 = 𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 + 𝐼𝐼𝑖𝑖 𝑅𝑅𝑎𝑎 + 𝐼𝐼𝑟𝑟 𝑋𝑋𝑙𝑙 (air gap voltage)


• 𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟 = 𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 + 𝐼𝐼𝑟𝑟 𝑅𝑅𝑎𝑎 − 𝐼𝐼𝑖𝑖 𝑋𝑋𝑙𝑙 (air gap voltage)
1 2 2 1 2 2
• 𝜓𝜓𝑎𝑎𝑎𝑎 = ��𝑉𝑉𝑞𝑞𝑞𝑞𝑞𝑞 � + �𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑 � = ��𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟 � + �𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖 �
1+𝜔𝜔 1+𝜔𝜔
• 𝑆𝑆𝑎𝑎 = 𝑆𝑆𝑆𝑆𝑆𝑆�𝜓𝜓𝑎𝑎𝑎𝑎 �
The initial rotor angle can be solve using the following equation which is derived in a section shortly.
𝑋𝑋𝑞𝑞 −𝑋𝑋𝑙𝑙
𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 +𝑅𝑅𝑎𝑎 𝐼𝐼𝑖𝑖 +𝐼𝐼𝑟𝑟 � +𝑋𝑋𝑙𝑙 �
• δ = tan−1 � 1+𝑆𝑆𝑎𝑎
𝑋𝑋𝑞𝑞 −𝑋𝑋𝑙𝑙 �
𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 +𝑅𝑅𝑎𝑎 𝐼𝐼𝑟𝑟 −𝐼𝐼𝑖𝑖 � +𝑋𝑋𝑙𝑙 �
1+𝑆𝑆𝑎𝑎
• 𝑉𝑉𝑑𝑑 = 𝑉𝑉𝑟𝑟 sin(δ) − 𝑉𝑉𝑖𝑖 cos(δ) convert to dq axis using δ
• 𝑉𝑉𝑞𝑞 = 𝑉𝑉𝑟𝑟 cos(δ) + 𝑉𝑉𝑖𝑖 sin(δ) convert to dq axis using δ
• 𝐼𝐼𝑑𝑑 = 𝐼𝐼𝑟𝑟 sin(δ) − 𝐼𝐼𝑖𝑖 cos(δ) convert to dq axis using δ
• 𝐼𝐼𝑞𝑞 = 𝐼𝐼𝑟𝑟 cos(δ) + 𝐼𝐼𝑖𝑖 sin(δ) convert to dq axis using δ
• ψ𝑞𝑞′′ = −𝑉𝑉𝑑𝑑 / (1 + ω) really we can ignore ω as it’s zero
• ψ𝑑𝑑′′ = +𝑉𝑉𝑞𝑞 / (1 + ω) really we can ignore ω as it’s zero
𝐼𝐼𝑑𝑑
• ψ′𝑑𝑑 = ψ′′ 𝑑𝑑
− (𝑋𝑋𝑑𝑑′′ − 𝑋𝑋𝑙𝑙 ) �1+𝑆𝑆 � Solve Equation 1 for 𝐸𝐸𝑞𝑞′ and substitute into Equation 2
𝑎𝑎
𝐼𝐼
• 𝐸𝐸𝑞𝑞′ = ψ′𝑑𝑑 + (𝑋𝑋𝑑𝑑′ − 𝑋𝑋𝑙𝑙 ) �1+𝑆𝑆 𝑑𝑑
� Equation 1 solve for 𝐸𝐸𝑞𝑞′
𝑎𝑎
𝐼𝐼𝑞𝑞
• 𝐸𝐸𝑑𝑑′ = �𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑞𝑞′ � �1+𝑆𝑆 � Equation 3 solve for 𝐸𝐸𝑑𝑑′
𝑎𝑎
𝐼𝐼
• ψ′𝑞𝑞 = 𝐸𝐸𝑑𝑑′ + �𝑋𝑋𝑞𝑞′ − 𝑋𝑋𝑙𝑙 � �1+𝑆𝑆
𝑞𝑞
� Equation 4 solve for ψ′𝑞𝑞
𝑎𝑎
Once we have solved this set of equations, then we solve for initial values of 𝐸𝐸𝑓𝑓𝑓𝑓 and 𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓 which are

equal at the initial condition because their difference is fed into the 𝑇𝑇𝑑𝑑𝑑𝑑 integration block. This is similar
to GENROU without saturation except the yellow terms below. Notice the extra (1 − 𝐾𝐾𝑤𝑤 𝐼𝐼𝑑𝑑𝑑𝑑 ) term.
1+𝑆𝑆𝑎𝑎 𝐼𝐼 𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑑𝑑′′ 𝐼𝐼
𝐸𝐸𝑓𝑓𝑓𝑓 = 𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓 = �1−𝐾𝐾 � �+𝐸𝐸𝑞𝑞′ + (𝑋𝑋𝑑𝑑 − 𝑋𝑋𝑑𝑑′ ) �1+𝑆𝑆
𝑑𝑑
+� 2 � �+𝐸𝐸𝑞𝑞′ − ψ′𝑑𝑑 − (𝑋𝑋𝑑𝑑′ − 𝑋𝑋𝑙𝑙 ) 1+𝑆𝑆
𝑑𝑑
�� �
𝑤𝑤 𝐼𝐼𝑑𝑑𝑑𝑑 𝑎𝑎 �𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙 � 𝑎𝑎

1.1.1 Initial Rotor Angle Derivation


It is possible to get a closed form solution of these equations as follows.
Use equation 4 to solve for 𝐼𝐼
ψ′ = �𝑋𝑋 ′ − 𝑋𝑋 � � 𝑞𝑞 � + 𝐸𝐸 ′
𝑞𝑞 𝑞𝑞 𝑙𝑙 1+𝑆𝑆𝑎𝑎 𝑑𝑑
Substitute this into equation 5 −ψ′′
𝑋𝑋𝑞𝑞′′ −𝑋𝑋𝑙𝑙 𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑞𝑞′′
− � 𝑋𝑋 ′ −𝑋𝑋 � 𝐸𝐸𝑑𝑑′ − � 𝑋𝑋 ′ −𝑋𝑋 � ��𝑋𝑋𝑞𝑞′ − 𝑋𝑋𝑙𝑙 � �1+𝑆𝑆
𝑞𝑞
� + 𝐸𝐸𝑑𝑑′ � = 0
𝐼𝐼
𝑞𝑞 𝑞𝑞 𝑙𝑙 𝑞𝑞 𝑙𝑙 𝑎𝑎
Expand this to −ψ′′ −
𝑋𝑋𝑞𝑞′′ −𝑋𝑋𝑙𝑙
� 𝑋𝑋 ′ −𝑋𝑋 � 𝐸𝐸𝑑𝑑′ −
𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑞𝑞′′
� 𝑋𝑋 ′ −𝑋𝑋 � 𝐸𝐸𝑑𝑑′
𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑞𝑞′′
− � 𝑋𝑋 ′ −𝑋𝑋 � �𝑋𝑋𝑞𝑞′ − 𝑋𝑋𝑙𝑙 � �1+𝑆𝑆
𝑞𝑞
�=
𝐼𝐼
𝑞𝑞 𝑞𝑞 𝑙𝑙 𝑞𝑞 𝑙𝑙 𝑞𝑞 𝑙𝑙 𝑎𝑎
0
Group 𝐸𝐸𝑑𝑑′ terms to simply to −ψ′′ − 𝐸𝐸𝑑𝑑′ − �𝑋𝑋𝑞𝑞′ − 𝑋𝑋𝑞𝑞′′ � �1+𝑆𝑆
𝑞𝑞
�=0
𝐼𝐼
𝑞𝑞 𝑎𝑎
Flip signs to get 𝐼𝐼𝑞𝑞
+ψ′′
𝑞𝑞
+ 𝐸𝐸𝑑𝑑′ + �𝑋𝑋𝑞𝑞′ − 𝑋𝑋𝑞𝑞′′ � �1+𝑆𝑆 �=0
𝑎𝑎
Use equation 3 to solve for 𝐼𝐼
𝐸𝐸𝑑𝑑′ = +�𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑞𝑞′ � �1+𝑆𝑆
𝑞𝑞

𝑎𝑎

Substite this into previous 𝐼𝐼𝑞𝑞 𝐼𝐼𝑞𝑞


+ψ′′
𝑞𝑞
+ �𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑞𝑞′ � �1+𝑆𝑆 � + �𝑋𝑋𝑞𝑞′ − 𝑋𝑋𝑞𝑞′′ � �1+𝑆𝑆 � = 0
equation to get 𝑎𝑎 𝑎𝑎

This then simplifies to 𝐼𝐼𝑞𝑞


+ψ′′
𝑞𝑞
+ �𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑞𝑞′′ � �1+𝑆𝑆 � = 0
𝑎𝑎
Network equation for 𝑉𝑉𝑑𝑑 ψ′′
𝑞𝑞
′′
= −𝑉𝑉𝑑𝑑 = −𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑑𝑑 + 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝐼𝐼𝑞𝑞
This becomes ′′ 𝐼𝐼
−𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑑𝑑 + 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝐼𝐼𝑞𝑞 + �𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑞𝑞′′ � (1+𝑆𝑆
𝑞𝑞
)
=0
𝑎𝑎
Substitute in the value of 𝑋𝑋𝑞𝑞′′ −𝑋𝑋𝑙𝑙
−𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑑𝑑 + � 1+𝑆𝑆 + 𝑋𝑋𝑙𝑙 � 𝐼𝐼𝑞𝑞 +
�𝑋𝑋𝑞𝑞 −𝑋𝑋𝑞𝑞′′ �
𝐼𝐼𝑞𝑞 = 0
′′
𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝑎𝑎 (1+𝑆𝑆𝑎𝑎 )

This then simplifies to 𝑞𝑞 𝑙𝑙 𝑋𝑋 −𝑋𝑋


−𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑑𝑑 + � 1+𝑆𝑆 + 𝑋𝑋𝑙𝑙 � 𝐼𝐼𝑞𝑞 = 0
𝑎𝑎
Convert them to the network 𝐼𝐼𝑞𝑞 = 𝐼𝐼𝑟𝑟 cos(δ) + 𝐼𝐼𝑖𝑖 sin(δ) ; 𝐼𝐼𝑑𝑑 = 𝐼𝐼𝑟𝑟 sin(δ) − 𝐼𝐼𝑖𝑖 cos(δ)
reference and define 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 sin(δ) − 𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 cos(δ) ; 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = �
𝑋𝑋𝑞𝑞 −𝑋𝑋𝑙𝑙
+ 𝑋𝑋𝑙𝑙 �
1+𝑆𝑆𝑎𝑎
This gives us −[𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 sin(δ) − 𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 cos(δ)] −𝑅𝑅𝑎𝑎 [𝐼𝐼𝑟𝑟 sin(δ) − 𝐼𝐼𝑖𝑖 cos(δ)]
+𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 [𝐼𝐼𝑟𝑟 cos(δ) + 𝐼𝐼𝑖𝑖 sin(δ)] = 0
Group the sine and cosine � 𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 + 𝑅𝑅𝑎𝑎 𝐼𝐼𝑟𝑟 − 𝐼𝐼𝑖𝑖 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 � sin(δ) = � 𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 + 𝑅𝑅𝑎𝑎 𝐼𝐼𝑖𝑖 + 𝐼𝐼𝑟𝑟 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 � cos(δ)
terms and move sine terms
Turn this into the tangent sin(δ) 𝑉𝑉 +𝑅𝑅 𝐼𝐼 +𝐼𝐼 𝑋𝑋
= tan(δ) = 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 𝑎𝑎 𝑖𝑖 𝑟𝑟 𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞
cos(δ) 𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 +𝑅𝑅𝑎𝑎 𝐼𝐼𝑟𝑟 −𝐼𝐼𝑖𝑖 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞
function
This gives us our steady state rotor angle based only on the network reference frame terminal voltage
and current and the saturation value which can be calculted from terminal voltage.
𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑙𝑙
𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 + 𝑅𝑅𝑎𝑎 𝐼𝐼𝑖𝑖 + 𝐼𝐼𝑟𝑟 � + 𝑋𝑋𝑙𝑙 �
1 + 𝑆𝑆𝑎𝑎
δ = tan−1 � �
𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑙𝑙
𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 + 𝑅𝑅𝑎𝑎 𝐼𝐼𝑟𝑟 − 𝐼𝐼𝑖𝑖 � + 𝑋𝑋𝑙𝑙 �
1 + 𝑆𝑆𝑎𝑎
Writing this way is nice, because you can see that when the parameter 𝑆𝑆𝑎𝑎 = 0 (meaning no saturation)
this simplifies to exactly what we had in GENROU without saturation.
𝑉𝑉𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 + 𝑅𝑅𝑎𝑎 𝐼𝐼𝑖𝑖 + 𝑋𝑋𝑞𝑞 𝐼𝐼𝑟𝑟
δ = tan−1 � �
𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 + 𝑅𝑅𝑎𝑎 𝐼𝐼𝑟𝑟 − 𝑋𝑋𝑞𝑞 𝐼𝐼𝑖𝑖
1.2 Derivative Calculations
With your model initialized you now simply implement the differential equations from the block
diagram. To do this, first define some algebraic relationships as follows
𝑋𝑋𝑑𝑑′′ −𝑋𝑋𝑙𝑙 𝑋𝑋 ′ −𝑋𝑋 ′′
1. ψ′′ = 𝐸𝐸𝑞𝑞′ + ψ′𝑑𝑑 𝑑𝑑′ 𝑑𝑑
𝑑𝑑 𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙 𝑋𝑋𝑑𝑑 −𝑋𝑋𝑙𝑙
𝑋𝑋 ′′ −𝑋𝑋 𝑋𝑋 ′ −𝑋𝑋 ′′
2. ψ′′
𝑞𝑞
= −𝐸𝐸𝑑𝑑′ 𝑋𝑋𝑞𝑞′ −𝑋𝑋 𝑙𝑙 − ψ′𝑞𝑞 𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑞𝑞
𝑞𝑞 𝑙𝑙 𝑞𝑞 𝑙𝑙

′′ �𝑋𝑋𝑑𝑑′′ −𝑋𝑋𝑙𝑙 �
3. 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑡𝑡 = 𝑋𝑋𝑙𝑙 + 1+𝑆𝑆𝑎𝑎
′′ �𝑋𝑋𝑞𝑞′′ −𝑋𝑋𝑙𝑙 �
4. 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑋𝑋𝑙𝑙 + 1+𝑆𝑆𝑎𝑎
′′ ′′
5. ψ𝑞𝑞 = ψ𝑞𝑞 − 𝐼𝐼𝑞𝑞 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞
′′
6. ψ𝑑𝑑 = ψ′′
𝑑𝑑
− 𝐼𝐼𝑑𝑑 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
7. 𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 = ψ𝑑𝑑 𝐼𝐼𝑞𝑞 − ψ𝑞𝑞 𝐼𝐼𝑑𝑑
1+𝑆𝑆𝑎𝑎 𝐼𝐼 𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑑𝑑′′ 𝐼𝐼
8. 𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓 = �1−𝐾𝐾 � �𝐸𝐸𝑞𝑞′ + (𝑋𝑋𝑑𝑑 − 𝑋𝑋𝑑𝑑′ ) �1+𝑆𝑆
𝑑𝑑
+� 2 � �+𝐸𝐸𝑞𝑞′ − ψ′𝑑𝑑 − (𝑋𝑋𝑑𝑑′ − 𝑋𝑋𝑙𝑙 ) 1+𝑆𝑆
𝑑𝑑
���
𝑤𝑤 𝐼𝐼𝑑𝑑𝑑𝑑 𝑎𝑎 �𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙 � 𝑎𝑎

𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓 is the field current, so you need to keep this around to pass to exciter models as an input. With
this algebra and using the 𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚ℎ input from governor and 𝐸𝐸𝑓𝑓𝑓𝑓 input from exciter, calculate derivatives as
follows.
𝑑𝑑δ
1. = 𝜔𝜔 ∗ 𝜔𝜔0
dt
d𝜔𝜔 1 𝑃𝑃 −𝐷𝐷𝐷𝐷
2. = � 𝑚𝑚𝑚𝑚𝑚𝑚ℎ − 𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 �
𝑑𝑑𝑑𝑑 2𝐻𝐻 1+𝜔𝜔
𝐸𝐸𝑓𝑓𝑓𝑓 𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓
d𝐸𝐸𝑞𝑞′ 𝐸𝐸𝑓𝑓𝑓𝑓 −𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓 (1+𝑆𝑆𝑎𝑎 )� − �
1+𝑆𝑆𝑎𝑎 1+𝑆𝑆𝑎𝑎
3. dt
= ′
𝑇𝑇𝑑𝑑𝑑𝑑
= ′
𝑇𝑇𝑑𝑑𝑑𝑑
′ 𝐼𝐼
𝑑𝑑ψ′d (1+𝑆𝑆𝑎𝑎 )�−ψ𝑑𝑑 −�𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙 � 𝑑𝑑 +𝐸𝐸𝑞𝑞′ �
1+𝑆𝑆𝑎𝑎
4. dt
= ′′
𝑇𝑇𝑑𝑑𝑑𝑑
𝐼𝐼
dψ′𝑞𝑞 (1+𝑆𝑆𝑎𝑎 )�−ψ′𝑞𝑞 +�𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑙𝑙 � 𝑞𝑞 +𝐸𝐸𝑑𝑑′ �
1+𝑆𝑆𝑎𝑎
5. = ′′
dt 𝑇𝑇𝑞𝑞𝑞𝑞

𝐼𝐼 𝑋𝑋′ −𝑋𝑋′′ 𝐼𝐼
(1+𝑆𝑆𝑎𝑎 )�−𝐸𝐸𝑑𝑑′ +�𝑋𝑋𝑞𝑞 −𝑋𝑋𝑞𝑞′ �� 𝑞𝑞 −� 𝑞𝑞 𝑞𝑞 2 ��+𝐸𝐸𝑑𝑑′ −ψ′𝑞𝑞 +�𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑙𝑙 � 𝑞𝑞 ���
1+𝑆𝑆𝑎𝑎 1+𝑆𝑆𝑎𝑎
d𝐸𝐸𝑑𝑑′ �𝑋𝑋′𝑞𝑞 −𝑋𝑋𝑙𝑙 �
6. dt
= ′
𝑇𝑇𝑞𝑞𝑞𝑞

1.3 Network Interface Calculations


The network interface calculations are treated identically to the GENTPF and GENPTJ model. The big
difference is that the saturation is modeled directly on the inductance (reactance) terms instead of
simply as an additive term in the derivative terms for 𝐸𝐸𝑑𝑑′ and 𝐸𝐸𝑞𝑞′ as was done for GENROU and GENSAL.
′′ ′′
This will now make the network interface more complicated. 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 <> 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 due to the fact that 𝑋𝑋𝑞𝑞′′ <
> 𝑋𝑋𝑑𝑑′′ . As a result we cannot use a circuit model for network interface equations and must instead
directly use the following equations. Remember that for GENTPF and GENTPJ we get 𝑉𝑉𝑑𝑑 and 𝑉𝑉𝑞𝑞 from the
state equations using 𝑉𝑉𝑑𝑑 = 𝐸𝐸𝑑𝑑′′ (1 + 𝜔𝜔) and 𝑉𝑉𝑞𝑞 = 𝐸𝐸𝑞𝑞′′ (1 + 𝜔𝜔). Also a reminder that our saturated sub-
′′ �𝑋𝑋𝑑𝑑′′ −𝑋𝑋𝑙𝑙 � ′′ �𝑋𝑋𝑞𝑞′′ −𝑋𝑋𝑙𝑙 �
transient reactances are 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑋𝑋𝑙𝑙 + 1+𝑆𝑆𝑎𝑎
and 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑋𝑋𝑙𝑙 + 1+𝑆𝑆𝑎𝑎
.
′′
𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑉𝑉𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑑𝑑 + 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝐼𝐼𝑞𝑞
′′
𝑉𝑉𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑉𝑉𝑞𝑞 − 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝐼𝐼𝑑𝑑 − 𝑅𝑅𝑎𝑎 𝐼𝐼𝑞𝑞
Which can also be written in matrix form as
′′
𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑉𝑉𝑑𝑑 𝑅𝑅𝑎𝑎 −𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝐼𝐼𝑑𝑑
�𝑉𝑉 � = � 𝑉𝑉 � − � ′′ � �𝐼𝐼 �
𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝑞𝑞 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑅𝑅𝑎𝑎 𝑞𝑞
1.4 Theory of model: Modification of Saturation Model used in GENROU
The improvements with the GENQEC are similar as for GENTPF and GENTPJ models and are primarily
related to the treatment of saturation. It has however been noticed that the dynamic equations (block
diagram) in GENTPF and GENTPJ are simplified from the GENROU resulting a small change in transient
behavior. To avoid this, let’s step back to the complete GENROU model and add a similar treatment as
done for GENTPF for saturation.

1.4.1 Application of Saturation to the block diagram terms


To see where this comes from, let’s go back to the book Power System Dynamics and Stability by Peter
Sauer and M.A. Pai and look at equations the derivation of the equations that led to the
GENROU/GENSAL models. In particular, page 39 and 40 of that book and equations 3.120 and 3.130 –
3.139. A scanned image of these equations is shown in the follow image.
Taking a closer look at all the terms boxed in blue above, going back a page in the book are the following
definitions.

These terms then refer to the green and ultimately red boxed terms in the following equations.

Ultimately, all our reactance, time constant, and even the scaled field voltage and current end up being
directly proportional to the following red-boxed terms.
• 𝐿𝐿𝑚𝑚𝑚𝑚 : d-axis stator inductance
• 𝐿𝐿𝑚𝑚𝑚𝑚 : q-axis stator inductance
• 𝐿𝐿𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 , 𝐿𝐿1𝑑𝑑1𝑑𝑑 : d-axis rotor inductances
• 𝐿𝐿1𝑞𝑞1𝑞𝑞 , 𝐿𝐿2𝑞𝑞2𝑞𝑞 : q-axis rotor inductances
These inductance terms represent inductance in the windings of the synchronous machine. Thus all of
these terms are going to experience saturation because their flux path is though the iron core. There is
also dependence on the leakage inductance 𝐿𝐿𝑙𝑙𝑙𝑙 (boxed in purple above). The leakage inductance does
not saturate because it is dominated by the characteristic of the air gap and we assume that the flux in
the air does not saturate.

To derive the GENQEC model, assume all d-axis inductances are scaled by the 𝑆𝑆𝑆𝑆𝑆𝑆𝑑𝑑 term and all q-axis
inductances are scaled by the 𝑆𝑆𝑆𝑆𝑆𝑆𝑞𝑞 term as follows.
𝐿𝐿
𝑚𝑚𝑚𝑚 𝐿𝐿𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝐿𝐿1𝑑𝑑1𝑑𝑑
𝐿𝐿𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝐿𝐿𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
𝐿𝐿1𝑑𝑑1𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
𝑑𝑑
𝐿𝐿
𝑚𝑚𝑚𝑚 𝐿𝐿1𝑞𝑞1𝑞𝑞 𝐿𝐿2𝑞𝑞2𝑞𝑞
𝐿𝐿𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝐿𝐿1𝑞𝑞1𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞
𝐿𝐿2𝑞𝑞2𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞
𝑞𝑞
This directly results in all the reactance terms being similarly scaled as follows.
𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑓𝑓𝑓𝑓 𝑋𝑋1𝑑𝑑
𝑋𝑋𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝑋𝑋𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝑋𝑋1𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑆𝑆𝑆𝑆𝑡𝑡
𝑑𝑑 𝑑𝑑 𝑑𝑑
𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋1𝑞𝑞 𝑋𝑋2𝑞𝑞
𝑋𝑋𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝑋𝑋1𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝑋𝑋2𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡
𝑞𝑞 𝑞𝑞 𝑞𝑞
As examples, the following carries this through calculating saturated values of the 𝑋𝑋𝑑𝑑′′ and 𝑇𝑇𝑑𝑑𝑑𝑑
′′
terms.
They are as follows and then expanded.
1 1 1
𝑋𝑋𝑑𝑑′′ = 𝑋𝑋𝑙𝑙 + 1 1 1
′′
𝑇𝑇𝑑𝑑𝑑𝑑 =ω �𝑋𝑋𝑙𝑙1𝑑𝑑 + 1 1 �
+ + 𝑠𝑠 𝑅𝑅1𝑑𝑑 +
𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑙𝑙𝑙𝑙𝑙𝑙 𝑋𝑋𝑙𝑙1𝑑𝑑 𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑙𝑙𝑙𝑙𝑙𝑙

1 1 1
𝑋𝑋𝑑𝑑′′ = 𝑋𝑋𝑙𝑙 + 1 1 1
′′
𝑇𝑇𝑑𝑑𝑑𝑑 = �𝑋𝑋1𝑑𝑑 − 𝑋𝑋𝑚𝑚𝑚𝑚 + 1 1 �
+ + ω𝑠𝑠 𝑅𝑅1𝑑𝑑 +
𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑓𝑓𝑓𝑓 −𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋1𝑑𝑑 −𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑓𝑓𝑓𝑓 −𝑋𝑋𝑚𝑚𝑚𝑚

Now apply saturation to the appropriate reactance terms and then simplify.

′′ 1 ′′ 1 𝑋𝑋1𝑑𝑑 𝑚𝑚𝑚𝑚 𝑋𝑋 1
𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑋𝑋𝑙𝑙 + 1 1 1 𝑇𝑇𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 =ω �𝑆𝑆𝑆𝑆𝑡𝑡 − 𝑆𝑆𝑆𝑆𝑡𝑡 + 1 1 �
𝑋𝑋𝑚𝑚𝑚𝑚 + 𝑋𝑋𝑓𝑓𝑓𝑓 𝑋𝑋 + 𝑋𝑋 𝑠𝑠 𝑅𝑅1𝑑𝑑 𝑑𝑑 𝑑𝑑 𝑋𝑋𝑚𝑚𝑚𝑚 + 𝑋𝑋𝑓𝑓𝑓𝑓 𝑋𝑋
𝑚𝑚𝑚𝑚 1𝑑𝑑 −𝑋𝑋𝑚𝑚𝑚𝑚 𝑚𝑚𝑚𝑚
𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡 −𝑆𝑆𝑆𝑆𝑡𝑡 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡 −𝑆𝑆𝑆𝑆𝑡𝑡
𝑑𝑑 𝑑𝑑 𝑑𝑑 𝑑𝑑

′′ 1 1 ′′ 1 1 1
𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑋𝑋𝑙𝑙 + � 1 � 1 1 𝑇𝑇𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = � �𝑋𝑋1𝑑𝑑
− 𝑋𝑋𝑚𝑚𝑚𝑚 + 1 1 ��
𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 + + 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 ω𝑠𝑠 𝑅𝑅1𝑑𝑑 +
�����������������
𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑓𝑓𝑓𝑓 −𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋1𝑑𝑑 −𝑋𝑋𝑚𝑚𝑚𝑚 �������������������������
𝑋𝑋𝑚𝑚𝑚𝑚 𝑋𝑋𝑓𝑓𝑓𝑓 −𝑋𝑋𝑚𝑚𝑚𝑚

𝑋𝑋𝑑𝑑′′ −𝑋𝑋𝑙𝑙 ′′
𝑇𝑇𝑑𝑑𝑑𝑑
This can be expressed more simply without all the intermediate terms as
′′ �𝑋𝑋𝑑𝑑′′ −𝑋𝑋𝑙𝑙 � ′′
′′
𝑇𝑇𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑋𝑋𝑙𝑙 + 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
𝑇𝑇𝑑𝑑𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑

You can go through the same procedure to write all the saturated reactance terms which have the same
form as above, as well as the saturated time constants. Also notice in equation 3.139 of the Sauer/Pai
book that the normalization of 𝐸𝐸𝑓𝑓𝑓𝑓 is proportional to 𝑋𝑋𝑚𝑚𝑚𝑚 which will saturate. Similarly, the scaled field
current 𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓 is also be subject to saturation. This gives us the following saturated values.
𝑋𝑋𝑑𝑑 −𝑋𝑋𝑙𝑙 𝑋𝑋𝑞𝑞 −𝑋𝑋𝑙𝑙
𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
+ 𝑋𝑋𝑙𝑙 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞
+ 𝑋𝑋𝑙𝑙
𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙 𝑋𝑋𝑞𝑞′ −𝑋𝑋𝑙𝑙
𝑋𝑋′𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
+ 𝑋𝑋𝑙𝑙 𝑋𝑋′𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞
+ 𝑋𝑋𝑙𝑙
𝑋𝑋𝑑𝑑′′ −𝑋𝑋𝑙𝑙 𝑋𝑋𝑞𝑞′′ −𝑋𝑋𝑙𝑙
𝑋𝑋′′
𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
+ 𝑋𝑋𝑙𝑙 𝑋𝑋′′
𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞
+ 𝑋𝑋𝑙𝑙
′ ′′
𝑇𝑇𝑑𝑑𝑑𝑑 𝑇𝑇𝑑𝑑𝑑𝑑
𝑇𝑇′𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑇𝑇′′
𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 =
𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑

𝑇𝑇𝑞𝑞𝑞𝑞 ′′
𝑇𝑇𝑞𝑞𝑞𝑞
𝑇𝑇′𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝑇𝑇′′
𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 = 𝑆𝑆𝑆𝑆𝑡𝑡
𝑑𝑑 𝑑𝑑
𝐸𝐸𝑓𝑓𝑓𝑓
𝐸𝐸𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = 𝑆𝑆𝑆𝑆𝑡𝑡 𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝐿𝐿𝑎𝑎𝑎𝑎 𝐼𝐼𝑓𝑓𝑓𝑓
𝑑𝑑

Note that the equations for 𝑋𝑋′′ ′′


𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 and 𝑋𝑋𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 are identical to those which were used in the network
boundary equations for GENPTF and GENTPJ. If we make these assumptions for network boundary
equations of GENROU then we get the same treatment as GENTPF and GENTPJ. We can then also apply
this to the block diagram for GENROU. There are 5 reactance blocks on both the d-axis and the q-axis
portion of the GENROU block diagram. The following table shows how each block is translated to make
the GENQEC dynamic equations block diagram.
Block on Convert to Intermediate Derivation Steps Translates
GENROU Saturated Version GENPTW
𝑋𝑋′𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑋𝑋′𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙 𝑋𝑋′𝑑𝑑 − 𝑋𝑋𝑙𝑙
� 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
+ 𝑋𝑋𝑙𝑙 � − 𝑋𝑋𝑙𝑙
𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
𝑋𝑋𝑑𝑑 − 𝑋𝑋′𝑑𝑑 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋′𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑋𝑋𝑑𝑑 −𝑋𝑋𝑙𝑙
+ 𝑋𝑋𝑙𝑙 � − �
𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙
+ 𝑋𝑋𝑙𝑙 � =
𝑋𝑋𝑑𝑑 −𝑋𝑋𝑙𝑙

𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙 𝑋𝑋𝑑𝑑 − 𝑋𝑋′𝑑𝑑
� 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
𝑋𝑋′𝑑𝑑 − 𝑋𝑋′′
𝑑𝑑 𝑋𝑋′𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋′′
𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑

𝑋𝑋𝑑𝑑 −𝑋𝑋𝑙𝑙
� 𝑆𝑆𝑆𝑆𝑡𝑡
𝑋𝑋 −𝑋𝑋 ′′
+𝑋𝑋𝑙𝑙 �−� 𝑑𝑑 𝑙𝑙 +𝑋𝑋𝑙𝑙 �
𝑋𝑋′𝑑𝑑 −𝑋𝑋′′
𝑑𝑑 𝑋𝑋′𝑑𝑑 − 𝑋𝑋′′ 𝑑𝑑
𝑆𝑆𝑆𝑆𝑡𝑡 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
𝑋𝑋′𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑋𝑋′𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑑𝑑

𝑋𝑋𝑑𝑑 −𝑋𝑋𝑙𝑙
𝑑𝑑
= 𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙
𝑋𝑋′𝑑𝑑 − 𝑋𝑋𝑙𝑙
� 𝑆𝑆𝑆𝑆𝑡𝑡 +𝑋𝑋𝑙𝑙 �−𝑋𝑋𝑙𝑙
𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑

𝑋𝑋′′
𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑋𝑋′′
𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑋𝑋′′
𝑑𝑑 −𝑋𝑋𝑙𝑙
� 𝑆𝑆𝑆𝑆𝑡𝑡 +𝑋𝑋𝑙𝑙 �−𝑋𝑋𝑙𝑙
𝑋𝑋′′
𝑑𝑑 −𝑋𝑋𝑙𝑙 𝑋𝑋 ′′
𝑑𝑑 − 𝑋𝑋𝑙𝑙
′ ′ 𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 ′
𝑋𝑋𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋𝑙𝑙 𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙
= 𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙
𝑋𝑋𝑑𝑑 − 𝑋𝑋𝑙𝑙
� 𝑆𝑆𝑆𝑆𝑡𝑡 +𝑋𝑋𝑙𝑙 �−𝑋𝑋𝑙𝑙
𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑

𝑋𝑋′𝑑𝑑 − 𝑋𝑋′′
𝑑𝑑 𝑋𝑋′𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋′′
𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙 𝑋𝑋′′
� 𝑆𝑆𝑆𝑆𝑡𝑡 +𝑋𝑋𝑙𝑙 �−� 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 −𝑋𝑋 𝑙𝑙
+𝑋𝑋𝑙𝑙 �
𝑋𝑋′𝑑𝑑 −𝑋𝑋′′𝑑𝑑 𝑋𝑋′𝑑𝑑 − 𝑋𝑋′′
𝑑𝑑
′ ′ 𝑑𝑑 𝑑𝑑 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑 ′ 𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑
(𝑋𝑋𝑑𝑑 − 𝑋𝑋𝑙𝑙 )2 (𝑋𝑋𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝑋𝑋𝑙𝑙 )2 ′ 2 = 2 (𝑋𝑋𝑑𝑑 − 𝑋𝑋𝑙𝑙 )2
𝑋𝑋𝑑𝑑 −𝑋𝑋𝑙𝑙 𝑋𝑋′𝑑𝑑 −𝑋𝑋𝑙𝑙
�� 𝑆𝑆𝑆𝑆𝑡𝑡 +𝑋𝑋𝑙𝑙 �−𝑋𝑋𝑙𝑙 � � 𝑆𝑆𝑆𝑆𝑡𝑡 �
𝑑𝑑 𝑑𝑑

The exact same thing can be done on the q-axis and simply adds some multiplication or division by 𝑆𝑆𝑎𝑎𝑡𝑡𝑞𝑞
instead. The conversion for the time constant and field voltage term are direct as they are just scaled by
the saturation function. This gives you the following block diagram.
Doing a small amount of additional algebraic manipulation, you can see that the new saturation terms in
the image above can be simplified even further as shown in the following figure.

This then gives you the GENQEC block diagram from the first page of the section if we make the
assumption that the same relative saturation on both the d and q axis. Thus we assign
2 2
• 𝑆𝑆𝑆𝑆𝑆𝑆𝑑𝑑 = 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞 = 1 + 𝑆𝑆𝑆𝑆𝑆𝑆 �1+1 𝜔𝜔 ��𝑉𝑉𝑞𝑞𝑞𝑞𝑞𝑞 � + �𝑉𝑉𝑑𝑑𝑑𝑑𝑑𝑑 � � = 1 + 𝑆𝑆𝑎𝑎

1.5 Simplified Versions of GENQEC


1.5.1 Salient Pole Machine with a single amortisseur winding
When the input is set such that 𝑋𝑋𝑞𝑞 = 𝑋𝑋′𝑞𝑞 and 𝑇𝑇𝑞𝑞𝑞𝑞

= 0, this indicates that a salient pole machine with a
single amortisseur winding on d-and q-axis. This simplifies the model on the q-axis by removing the
portion of the block diagram highlighted in yellow below. This is because the only input into the portion
of the block diagram that is highlighted goes through the 𝑋𝑋𝑞𝑞 − 𝑋𝑋′𝑞𝑞 block which is now 0.0. This means
that the state 𝐸𝐸𝑑𝑑′ is now always equal to 0.0.

With the q-axis simplified, the block diagram becomes the following.
Taking a closer look at the qd-axis that remains it can be written as follows.
1 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞 ψ𝑞𝑞′ 𝑋𝑋′𝑞𝑞 − 𝑋𝑋′′𝑞𝑞
𝐼𝐼𝑞𝑞 ′
𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑙𝑙 ∑ ′′ −1 ψ𝑞𝑞′′
𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞 + _ 𝑇𝑇𝑞𝑞𝑞𝑞 𝑠𝑠 6 𝑋𝑋′𝑞𝑞 − 𝑋𝑋𝑙𝑙

This can be further simplified by moving the two blocks at end forward and multiplying blocks together.
1 _ 𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞
𝐼𝐼𝑞𝑞 ′ ′′
𝑋𝑋𝑞𝑞 − 𝑋𝑋𝑞𝑞 ∑
ψ𝑞𝑞′′
′′
𝑆𝑆𝑆𝑆𝑡𝑡𝑞𝑞 _ 𝑇𝑇𝑞𝑞𝑞𝑞 𝑠𝑠

This would then give you the following which looks similar to the original GENSAL model.
1.5.2 Salient Pole Machine without any amortisseur windings
To model a salient pole machine without any amortisseur windings, configure the input parameters to
have the following relationships
• 𝑋𝑋𝑞𝑞 = 𝑋𝑋′𝑞𝑞 = 𝑋𝑋𝑞𝑞′′
• 𝑋𝑋′𝑑𝑑 = 𝑋𝑋𝑑𝑑′′
′ ′′ ′′
• 𝑇𝑇𝑞𝑞𝑞𝑞 = 𝑇𝑇𝑑𝑑𝑑𝑑 = 𝑇𝑇𝑞𝑞𝑞𝑞 =0

• 𝑇𝑇𝑑𝑑𝑑𝑑 > 0
Making these approximation gives the following block diagram.

This can then be simplified to the following

The remaining yellow highlighted blocks now represent infinitely fast delay blocks. This means that
states 4, 5, and 6 all become algebraic and their outputs are just algebraically equal to the input to those
delay blocks. This means that
• 𝐸𝐸𝑑𝑑′ = 0
𝑋𝑋𝑑𝑑′ −𝑋𝑋𝑙𝑙
• ψ′𝑑𝑑 = 𝐸𝐸𝑞𝑞′ − 𝐼𝐼𝑑𝑑 � �
𝑆𝑆𝑆𝑆𝑡𝑡𝑑𝑑

𝑋𝑋𝑞𝑞 −𝑋𝑋𝑙𝑙
• ψ′𝑞𝑞 = 𝐸𝐸𝑑𝑑′ + 𝐼𝐼𝑞𝑞 � 𝑆𝑆𝑆𝑆𝑡𝑡 �
𝑑𝑑
You can then simplify the remaining This then simplifies the entire block diagram to the following.

You might also like