modelSynchGen

Simple model of the generator connected to the grid

Extends from OpenHPL.Icons.Generator (Generator icon).

Information

Synchronous Generator Model

Detailed synchronous generator model connected to the grid, based on d-q decomposition.

Voltage-Current Relation

$$ \left[\begin{matrix}R_a+R_e & x_q'+x_e\\ -x_d'-x_e & R_a+R_e\end{matrix}\right]\left[\begin{matrix}I_d \\ I_q\end{matrix}\right]= \left[\begin{matrix}E_d'+V_s\sin\delta_e \\ E_q'-V_s\cos\delta_e\end{matrix}\right] $$

where:

  • \(R_a\) and \(R_e\) are phase winding and equivalent network resistances
  • \(x_d\), \(x_q\), \(x_d'\), \(x_q'\) are d-/q-axis normal and transient reactances
  • \(x_e\) is equivalent network reactance
  • \(I_d\), \(I_q\) are d-/q-axis currents
  • \(E_d'\), \(E_q'\) are d-/q-axis transient voltages
  • \(V_s\) is network RMS voltage
  • \(\delta_e\) is phase shift angle
Phase Shift Angle Dynamics

$$ \frac{\mathrm{d}\delta_e}{\mathrm{d}t} = (\omega - \omega_s)\frac{n_p}{2} $$

where \(n_p\) is number of poles, \(\omega\) and \(\omega_s\) are generator and grid angular velocities.

Swing Equation

$$ \frac{\mathrm{d}\omega}{\mathrm{d}t}=\frac{\dot{W}_s-P_e}{J\omega} $$

Transient Operation

$$ \begin{array}{c} T_{qo}'\frac{\mathrm{d}E_d'}{\mathrm{d}t} =-E_d' + (x_q' - x_q)I_q \\ T_{do}'\frac{\mathrm{d}E_q'}{\mathrm{d}t} = -E_q' + (x_d - x_d')I_d + E_f \end{array} $$

where \(T_{do}'\) and \(T_{qo}'\) are d-/q-axis transient open-circuit time constants.

Excitation System

Field voltage dynamics:

$$ \frac{\mathrm{d}E_f}{\mathrm{d}t} = \frac{-E_f + K_E\left(V_{tr}-V_t-V_{stab}\right)}{T_E} $$

where \(K_E\) is excitation system gain, \(T_E\) is excitation time constant, \(V_{tr}\) is voltage reference set point, and \(V_t = \sqrt{\left(E_d'-R_aI_d-x_q'I_q\right)^2+\left(E_q'-R_aI_q+x_d'I_d\right)^2}\) is terminal voltage.

Stabilization

$$ \frac{\mathrm{d}V_{stab}}{\mathrm{d}t} = \frac{-V_{stab} + K_F\frac{\mathrm{d}E_f}{\mathrm{d}t}}{T_{FE}} $$

where \(K_F\) is stabilizer gain and \(T_{FE}\) is stabilizer time constant.

Output Power

Active and reactive power:

$$ \begin{array}{c} P_e = 3\left(E_d'I_d+E_q'I_q\right)\\ Q_e = \sqrt{9V_t^2I_t^2-P_e^2} \end{array} $$

where \(I_t=\sqrt{I_d^2+I_q^2}\) is terminate current.

Connectors
  • RealInput: turbine shaft power
  • RealOutput: angular velocity and frequency
Parameters

User specifies: nominal active/reactive powers, phase winding resistance, number of poles, network parameters (equivalent resistance/reactance, RMS voltage, grid angular velocity), d-/q-axis reactances and time constants, field voltage limits, excitation/stabilizer gains and time constants, moment of inertia, friction factor, and initialization options.

Note: For more advanced modeling, consider using generator models from OpenIPSL.

More details in [Sharefi2011].

Parameters

TypeNameDefaultDescription
Nominal parameters
SI.PowerP_op80e6Active power drawn from generator at Steady State operating condition
SI.PowerQ_op50e6Reactive power drawn from generator at SS operating condition
SI.ResistanceRa0.01Phase winding resistance
Integernp12Number of poles
Network
SI.ResistanceRe0.1Equivalent network resistance
SI.Resistancexe1.4Equivalent network reactance
SI.VoltageVs15000Network rms voltage
SI.AngularVelocityWm_opdata.f_0*pi/3Grid angular velocity
BooleanUseFrequencyOutputtrueIf checked - get a connector for frequency output
d-q axes
SI.Resistancexd12d_axis reactance
SI.Resistancexq12q_axis reactance
Transient d-q axes
SI.Resistancexxd1.7d_axis transient reactance
SI.Resistancexxq1.7q_axis transient reactance
SI.TimeTTdo6d_axis transient open-circuit time constant
SI.TimeTTqo0.1q_axis transient open-circuit time constant
SI.VoltageEfmin50000Min field voltage
SI.VoltageEfmax50000Max field voltage
Excitation system
SI.TimeTE0.05Excitation system time constant
RealKE400Excitation system gain
Stablizer
SI.TimeTFE1Stablizer time constant
RealKF0.025Stablizer gain
Mechanical part
SI.MomentOfInertiaJ2e5Moment of inertia of the generator
Realk_b1000Friction factor in the generator bearing box, W*s3/rad3
SI.AngularVelocityw_minWm_op*1e-3Minimum angular velocity to prevent division by zero
Initialization
BooleanSelfInitializationfalseIf checked - specify initial values
SI.AngleDELTA_037.6452
SI.VoltageEEd_0-7207.13
SI.VoltageEEq_018005.2
SI.VoltageEf_038110.4
SI.VoltageVstabilizer_00
SI.AngularVelocityw_0500*pi/30

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealOutputfnp/120*30*w/piOutput generator frequency
Modelica.Blocks.Interfaces.RealOutputw_outwOutput of the generator's angular velocity
Modelica.Blocks.Interfaces.RealInputP_inInput of mechanical power

Components

TypeNameDefaultDescription
DatadataUsing standard class with constants
SI.AnglePHI_opatan(Q_op/P_op)Power angle at Steady State
SI.AngleDELTA_opatan((I_op*(xq + xe)*cos(PHI_op) - I_op*(Ra + Re)*sin(PHI_op))/(Vs + I_op*(Ra + Re)*cos(PHI_op) + I_op*(xq + xe)*sin(PHI_op)))
SI.AngleDELTA
SI.CurrentI_opsqrt(P_op^2 + Q_op^2)/(3*Vs)RMS current (per phase) of the generator
SI.CurrentId_op-I_op*sin(DELTA_op + PHI_op)
SI.CurrentIq_opI_op*cos(DELTA_op + PHI_op)
SI.Current[2]Idq
SI.CurrentId
SI.CurrentIq
SI.CurrentIt
SI.VoltageEf_opVs*cos(DELTA_op) + (Ra + Re)*Iq_op - (xd + xe)*Id_op
SI.VoltageVt_opsqrt((Vs + I_op*Re*cos(PHI_op) + I_op*xe*sin(PHI_op))^2 + (I_op*xe*cos(PHI_op) - I_op*Re*sin(PHI_op))^2)
SI.VoltageVtrEf_op/KE + Vt_op
SI.VoltageVstabilizer_op0
SI.VoltageEEd_op(xxd - xq)*Iq_op
SI.VoltageEEq_opEf_op + (xd - xxd)*Id_op
SI.VoltageVt
SI.VoltageEEd
SI.VoltageEEq
SI.VoltageEf
SI.VoltageVstabilizer
SI.AngularVelocityw_op500*pi/30
SI.AngularVelocityw
SI.Resistance[2,2]Temp
SI.PowerPe
SI.PowerQe
SI.EnergyFlowRateWdot_tsP_in
SI.EnergyFlowRateW_fa