GovSteamEU
Reviewers: Mathilde Bongrain (CRESYM)
Context
The traditional operation of electrical power systems depends on the performance of the synchronous generators of thermal plants, typically driven by various types of turbines such as steam, gas, or hydro turbines. Steam turbines are commonly found in coal, oil, and nuclear power plants. The process begins with the generation of high-pressure high-temperature steam in a boiler. A governor regulates the mechanical power (\(P_m\)) delivered from the turbine to the electrical generator. Modern governors with electro-hydraulic control, like the GovSteamEU, evolved from governors with mechanical-hydraulic control.
GovSteamEU is documented in [1]. Many aspects of modeling steam governors with electro-hydraulic control are already explained in a 1973 IEEE report [2].
Model use, assumptions, validity domain and limitations
The model is a positive-sequence RMS model, hence it assumes symmetrical operating conditions and neglects high-frequency dynamics. This type of model is often used in large-scale stability studies, for which it reflects the relevant phenomena. It is not a detailed physical model of the unit. Also for some stability phenomena (e.g. resonance stability) this model is not sufficient and EMT models or other approaches may be necessary .
The model operates only under the assumption that resistive and mechanical losses are negligible, and in steady state condition \(P_\mathrm{e} = P_\mathrm{m}\). This assumes that mechanical losses do not have any major effect on dynamic stability [1].
Model schema
Model description
Turbine model
The turbine model is the mechanical part of the model with boiler, high pressure (HP) turbine and low pressure (LP) turbine [4]. Its output is the mechanical power \(P_\mathrm{m}\). A schematic representation of a steam turbine with HP and LP part is shown in Figure 2. The HP stage’s single-triangle symbol and the LP stage’s double-triangle symbol represent the fact that in the HP stage steam expands in only one direction whereas in the LP stage it expands in two directions [5].
Boiler
The boiler is responsible for converting water into high-pressure, high-temperature steam. In normal operation \(P_\mathrm{set}\) is used as the boiler set-point \(P_\mathrm{set\,boiler}\), i.e. the heat supplied to the boiler. In over speed situation, the emergency speed control signal is used instead, see Section 4.2.3.
The boiler output, i.e. the amount of steam supplied from the boiler to the turbine, is manipulated by the control valves [4].
High-Pressure (HP) and low pressure (LP) turbine stages
The HP and LP stages are modeled by a first order elements and gains \(T_\mathrm{hp}\), \(K_\mathrm{hp}\) and \(T_\mathrm{lp}\), \(K_\mathrm{lp}\).
Steam power from the boiler enters the HP stage and is partly converted into mechanical power. The steam output from the HP stage then enters the reheater. Because the HP stage’s dynamic response is relevant here, the output of the \(T_\mathrm{hp}\) lag element is used as input, but without the gain \(K_\mathrm{hp}\).
Before entering the LP stage, the output steam from the HP stage must be reheated to prevent any water droplets from entering and to increase efficiency. The reheater is also modeled by a first order element with time constant \(T_\mathrm{rh}\).
From there the reheated steam passes the intercept valve and enters the LP stage. Here, the first order element directly contains the gain \(K_\mathrm{lp}\), because only the generated power is of interest (the dynamic behaviour of the steam flow without gain is not necessary because there is no other following turbine stage) [4].
The mechanical power output \(P_\mathrm{m}\) is the sum of the parts generated by the HP and LP turbine stages. To accurately represent this distribution, the gains for the HP and LP turbine stages must satisfy the following condition:
\[K_\mathrm{hp} + K_\mathrm{lp} = 1\]Control paths
The governor controller is responsible for regulating the steam flow to maintain the desired turbine speed or power output. It consists of two primary control paths [4], island and grid connected mode. They output the setpoint of the control valve’s position.
Island mode (\(\omega\)-part)
In island mode, the input is the turbine’s rotational speed \(\omega\). It operates without connection to any external power grid, with the primary goal of maintaining a constant turbine speed. To achieve this, the measured turbine speed \(\omega\) is subtracted from the reference speed \(\omega_\mathrm{ref}\) to obtain the error signal \(\Delta\omega\). After passing the dead-band \(\Delta \omega_\mathrm{db}\), it is used as input for the proportional \(K_\mathrm{\omega\,cor}\) [4] [6].
The output of the island mode does not pass through the electrohydraulic transducer because it is an analog/mechanical controller, whereas the output of the PID controller of the grid connected mode is an electric signal.
Grid connected mode (\(f\)-part)
In grid connected mode, the input is the measured electrical frequency \(f\). The plant is linked to an upstream grid and contributes to overall grid stability. Here, frequency control is achieved through collective behavior; individual output adjustments are made via droop regulation.
This is implemented via a proportional gain \(K_\mathrm{f\,cor}\) with dead-band \(\Delta f_\mathrm{db}\) contributing to the power set-point \(P_\mathrm{set}\). The measured power \(P_\mathrm{e}\) is then subtracted to obtain the error signal \(\Delta f\) of the PID controller [4] [6].
Emergency speed control and intercept valve (IV)
Emergency speed control
In case of loss of loads, the turbine speed instantly begins to increase. Ideally, the governor is able to handle such fluctuations and reduces the control valve set-point fast enough. If not, an emergency speed control is activated to reduce the active power output of the turbine fast.
The Emergency Speed Control block in Figure 1 outputs 1 if \(\omega < \omega_\mathrm{max\,1}\) and 0 if \(\omega > \omega_\mathrm{max\,2}\). In-between it interpolates between 1 and 0. This output is supposed to be below 1 or equal to 0 if \(\omega\) reaches dangerous levels (dangerous for mechanical stability of the turbine). It is then passed to the two different low value select blocks (min()).
This has the effect of reducing the control valve and boiler set-points (\(P_\mathrm{set\,ctrl}\), \(P_\mathrm{set\,boiler}\)) fast, independently of what the controllers and the power set-point \(P_\mathrm{set}\) do.
This fast reduction of \(P_\mathrm{set\,ctrl}\) also affects the intercept valve model, see below.
Intercept valve (IV)
Intercept valves remain fully open (set-point and position = 1) for regular speed/load adjustments [4]. In overspeed situations, the intercept valve shall close quickly and then reopen once normal conditions are restored.
In this model, the intercept valve set-point is generated by the intercept valves set-point generation block. The input is the control valves input signal.
If the control valve set-point \(P_\mathrm{set\,ctrl}\) is above \(P_\mathrm{simx}\), the output is 1. If \(P_\mathrm{set\,ctrl}\) drops below, the output is reduced linearly until it reaches 0. In other implementations, a step to 0 is used instead of linear reduction as shown in the Figure 1 from [1].
In combination with the emergency speed control block, this leads to a fast reduction of the intercept valve set-point in case of over speed and hence interrupting the steam flow into the LP turbine and quickly reducing \(P_\mathrm{m}\).
Boiler set-point and control valve set-point coordination
When the power set-point \(P_\mathrm{set}\) changes, it influences the feed-forward control of the boiler, which has a slow response time, and the PID controller that manages the control valve, which reacts more quickly. By implementing the control valve signal multiplication within the first-order element representing the boiler, the feed-forward and PID controls work in harmony rather than opposition, allowing the system to reach a steady state that reflects the new \(P_\mathrm{set}\).
Parameters:
The parameters are based on [1] and [3].
Per-unit parameters are on base of \(P_\mathrm{base}\), which is normally the capability of the turbine in MW.
name | type | unit | IEC name | description | typical value |
---|---|---|---|---|---|
\(C_\mathrm{hc}\) | float | pu | chc | Control valves closing rate limit | -3.3 |
\(C_\mathrm{ho}\) | float | pu | cho | Control valves opening rate limit | 0.17 |
\(C_\mathrm{ic}\) | float | pu | cic | Intercept valves closing rate limit | -2.2 |
\(C_\mathrm{io}\) | float | pu | cio | Intercept valves opening rate limit | 0.123 |
\(\Delta f_\mathrm{db}\) | float | pu | db1 | Deadband of frequency droop | 0 |
\(\Delta\omega_\mathrm{db}\) | float | pu | db2 | Deadband of the speed governor (island mode) | 0.0004 |
\(H_\mathrm{hp\,max}\) | float | pu | hhpmax | Maximum control valve position | 1 |
\(K_\mathrm{e}\) | float | pu | ke | Proportional gain of the PID controller | 0.65 |
\(K_\mathrm{f\,cor}\) | float | pu | kfcor | Frequency droop | 20 |
\(K_\mathrm{hp}\) | float | pu | khp | Fraction of total turbine output generated by HP part | 0.277 |
\(K_\mathrm{lp}\) | float | pu | klp | Fraction of total turbine output generated by LP part | 0.723 |
\(K_{\mathrm{\omega\,cor}}\) | float | pu | komegacor | Gain of the speed governor (island mode) | 20 |
\(\omega_\mathrm{f\,max}\) | float | pu | wfmax | Upper limit for droop output | 0.05 |
\(\omega_\mathrm{f\,min}\) | float | pu | wfmin | Lower limit for droop output | -0.05 |
\(\omega_\mathrm{max\,1}\) | float | pu | wmax1 | Emergency speed control lower limit | 1.025 |
\(\omega_\mathrm{max\,2}\) | float | pu | wmax2 | Emergency speed control upper limit | 1.05 |
\(\omega_\mathrm{\omega\,max}\) | float | pu | wwmax | Upper limit for the speed governor (island mode) | 0.1 |
\(\omega_\mathrm{\omega\,min}\) | float | pu | wwmin | Lower limit for the speed governor (island mode) | -1 |
\(P_\mathrm{max}\) | float | pu | pmax | Maximal active power of the turbine | 1 |
\(P_\mathrm{rh\,max}\) | float | pu | prhmax | Maximum low pressure limit | 1.4 |
\(P_\mathrm{simx}\) | float | pu | simx | Intercept valves transfer limit | 0.425 |
\(T_\mathrm{b}\) | float | s | tb | Boiler time constant | 100 |
\(T_\mathrm{dp}\) | float | s | tdp | Derivative time constant of the power controller | 0 |
\(T_\mathrm{en}\) | float | s | ten | Electro hydraulic transducer | 0.1 |
\(T_\mathrm{f}\) | float | s | tf | Frequency transducer time constant | 0 |
\(T_\mathrm{fp}\) | float | s | tfp | Time constant for nunmerical approximation of PID controller derivative part | 0 |
\(T_\mathrm{hp}\) | float | s | thp | High pressure (HP) time constant of the turbine | 0.31 |
\(T_\mathrm{ip}\) | float | s | tip | Integral time constant of PID controller | 2 |
\(T_\mathrm{lp}\) | float | s | tlp | Low pressure (LP) time constant of the turbine | 0.45 |
\(T_\mathrm{\omega}\) | float | s | tw | Speed transducer time constant | 0.02 |
\(T_\mathrm{p}\) | float | s | tp | Power transducer time constant | 0.07 |
\(T_\mathrm{rh}\) | float | s | trh | Reheater time constant of the turbine | 8 |
\(T_\mathrm{v\,hp}\) | float | s | tvhp | Control valves servo time constant | 0.1 |
\(T_\mathrm{v\,lp}\) | float | s | tvlp | Intercept valves servo time constant | 0.15 |
[!NOTE]
As stated in [1], to represent a turbine without a reheater, set \(T_\mathrm{rh}\) to a very small value (e.g. 0 s or 0.001 s) and \(T_\mathrm{lp} \approx\) 0.5 s.
Variables
Inputs
name | type | unit | IEC name | description |
---|---|---|---|---|
\(\omega\) | float | pu | \(\omega\) | Rotor speed |
f | float | pu | f | Local (nodal) frequency |
\(P_\mathrm{e}\) | float | pu | pe | Measured electrical power generation |
\(P_\mathrm{ref}\) | float | pu | Pref | load setpoint |
Outputs
name | type | unit | IEC name | description |
---|---|---|---|---|
\(P_\mathrm{m}\) | float | pu | Pm | Mechanical power |
Equations & algorithm
–
Initial equations / boundary conditions (optional)
The initial values for the system’s states are calculated from the initial mechanical power \(P_\mathrm{m\,0}\), frequency \(f_\mathrm{0}\) and rotation speed \(\omega_\mathrm{0}\).
Helper variables
The following “helper variables” are defined to avoid repetition in the definitions of initial states below.
\(R_\mathrm{h\,0} = \begin{cases} P_\mathrm{m\,0} ,& \text{if } T_\mathrm{rh} > 0\\ 0, & \text{otherwise} \end{cases} \qquad(1)\)
\(P_\mathrm{c\,0} = P_{\text{m}\,0} - \min\left(\max\left(K_{\omega_{\text{cor}}} \cdot 1, \omega_{\text{min}}\right), \omega_{\text{max}}\right) \qquad(2)\)
Initial states
These initial states refer to the states as defined in Figure 1.
\(x_\mathrm{lp\,0} = P_\mathrm{m\,0} \qquad(3)\)
\(x_\mathrm{rh\,0} = R_\mathrm{h\,0} \qquad(4)\)
\(x_\mathrm{hp\,0} = P_\mathrm{m\,0} \qquad(5)\)
\(x_\mathrm{b\,0} = 1 \qquad(6)\)
\(x_\mathrm{hhp\,0} = P_\mathrm{m\,0}/x_\mathrm{b} \qquad(7)\)
\(x_\mathrm{vlp\,0} = 1 \qquad(8)\)
\(x_\mathrm{\omega\,0} = \omega_\mathrm{0} \qquad(9)\)
\(x_\mathrm{en\,0} = P_\mathrm{c\,0} \qquad(10)\)
\(x_\mathrm{ip\,0} = P_\mathrm{c\,0} \qquad(11)\)
\(x_\mathrm{dp\,0} = 0 \qquad(12)\)
\(x_\mathrm{p\,0} = P_\mathrm{m\,0} \qquad(13)\)
\(x_\mathrm{f\,0} = f_\mathrm{0} \qquad(14)\)
Open Questions?
- Care should be taken when selecting the island and grid-connected mode parameters. It did not become clear to the authors if there are physically meaningful cases with grid connected (\(f\)) and island (\(\omega\)) modes both active – or if one of them should always be disabled.
Open source implementations
This model has been successfully implemented in :
Software | URL | Language | Open-Source License | Last consulted date | Comments |
---|---|---|---|---|---|
Open Modelica / Dynawo | Dynawo | modelica | MPL v2.0 | 16/07/2024 | For modeling assumptions and test results, see Dynawo repository. |