modelTurbine
Extends from BaseClasses.BaseValve (Simple hydraulic valve (base class)), BaseClasses.Power2Torque (Converts a power signal to a torque in the rotational domain), Interfaces.TurbineContacts (Model of turbine connectors), Icons.Turbine (Turbine icon).
Information
Simple Turbine Model
This is a simple model of the turbine that gives possibilities for simplified modelling of the turbine unit. The model is based on a look-up table for turbine efficiency vs. guide vane opening.
Figure: Simple turbine model schematic.
Power Calculation
The mechanical turbine shaft power is:
$$ \dot{W}_\mathrm{tr} = \eta_\mathrm{h} \Delta p_\mathrm{tr} \dot{V}_\mathrm{tr} $$
where ηh is hydraulic efficiency (from lookup table or constant value), Δptr is pressure drop, and V̇tr is volumetric flow rate.
The turbine efficiency is in per-unit values from 0 to 1, where 1 means that there are no losses. The model can use a constant efficiency or varying efficiency from a lookup-table.
Flow Relationship
This model is based on the energy balance and a simple valve-like expression. The turbine flow rate relates to pressure drop through:
$$ \dot{V}_\mathrm{tr} = C_\mathrm{v} u_\mathrm{v} \sqrt{\frac{\Delta p_\mathrm{tr}}{p^\mathrm{atm}}} $$
where Cv is the guide vane "valve capacity", uv is guide vane opening signal (0 to 1), and patm is atmospheric pressure.
The guide vane valve capacity can either be specified directly by the user via C_v
or it will be calculated from the nominal turbine net head H_n and nominal flow rate
Vdot_n.
Usage
Besides hydraulic input and output, there are inputs as the control signal for the opening and also output as the turbine shaft power.
Efficiency Options
Two modes are available, controlled by the Boolean parameter ConstEfficiency
in the Efficiency data group:
- Constant efficiency (
ConstEfficiency = true, default): The hydraulic efficiency is fixed at the value given byeta_h(default 0.9). This is suitable for quick studies where a single representative efficiency value is sufficient. - Variable efficiency table (
ConstEfficiency = false): Efficiency varies with guide-vane opening according to a lookup table stored in the replaceable recordVarEfficiencyof type Types.Efficiency.
Defining a Custom Efficiency Record
To supply turbine-specific efficiency data, create a new record that extends
OpenHPL.Types.Efficiency and override EffTable.
The table must have exactly two columns:
- Guide-vane opening in per-unit (0 = fully closed, 1 = fully open).
- Corresponding turbine efficiency in per-unit (0 = no conversion, 1 = lossless).
Rows must be sorted in ascending order of the first column.
Extrapolation beyond the defined range uses the slope of the last two points
(Modelica.Blocks.Types.Extrapolation.LastTwoPoints), and the curve is
interpolated with a continuous derivative
(Modelica.Blocks.Types.Smoothness.ContinuousDerivative).
Example record:
record MyTurbineEfficiency
extends OpenHPL.Types.Efficiency(
EffTable = [0.00, 0.00;
0.20, 0.72;
0.50, 0.91;
0.80, 0.94;
1.00, 0.91]);
end MyTurbineEfficiency;
Place this record in your own package (or directly in the model), then in the Efficiency data group of the Turbine:
- Uncheck
ConstEfficiency. - Set
VarEfficiencytoredeclare MyTurbineEfficiency VarEfficiency(or use the drop-down in the parameter dialog, which lists all records compatible with Types.Efficiency).
The base record Types.Efficiency already contains a representative default table that can be used as a starting point when no measured data are available.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Frequency | f_nom (from TorqueEquation) | data.f_grid/(p/2) | Nominal mechanical rotational frequency |
| OpenHPL.Types.Efficiency | VarEfficiency | ||
| Nominal values | |||
| Boolean | ValveCapacity (from BaseValve) | true | If checked, the valve capacity C_v should be specified, otherwise specify the nominal values (net head and flow rate at nominal opening) |
| Real | C_v (from BaseValve) | 1 | Valve capacity |
| SI.Height | H_n (from BaseValve) | 100 | Nominal net head |
| SI.VolumeFlowRate | Vdot_n (from BaseValve) | 3 | Nominal volume flow rate |
| SI.PerUnit | u_n (from BaseValve) | 1 | Nominal opening |
| Advanced › Closing law | |||
| Real | alpha (from BaseValve) | 1 | Exponent of closing curve (if different from 1, the closing law will be non-linear) |
| Mechanical | |||
| Boolean | useH (from TorqueEquation) | false | If checked, calculate the inertia from a given H value |
| SI.Power | Pmax (from TorqueEquation) | 100e6 | Maximum rated power (for torque limiting and H calculation) |
| SI.Time | H (from TorqueEquation) | 2.75 | Inertia constant H, typical 2s (high-head hydro) to 6s (gas or low-head hydro) production units |
| SI.MomentOfInertia | J (from TorqueEquation) | 2e5 | Moment of inertia of the unit (GD2/4) |
| Integer | p (from TorqueEquation) | 12 | Number of poles for mechanical speed calculation (Not pole pairs!) |
| SI.Power | Ploss (from TorqueEquation) | 0 | Friction losses of the unit at nominal speed |
| Initialization | |||
| SI.PerUnit | f_0 (from TorqueEquation) | 1 | Initial speed of the unit |
| Boolean | enable_nomSpeed (from TorqueEquation) | false | If checked, unit runs at fixed speed f_0 |
| Boolean | fixed_iniSpeed (from TorqueEquation) | false | If checked, unit initialises with fixed speed. When connecting several units mechanically only one can be fixed. |
| I/O › Inputs | |||
| Boolean | enable_f_in (from TorqueEquation) | false | If checked, get a connector for speed input |
| I/O › Outputs | |||
| Boolean | enable_w (from TorqueEquation) | false | If checked, get a connector for angular velocity output |
| Boolean | enable_f (from TorqueEquation) | false | If checked, get a connector for speed output |
| Boolean | enable_P_out (from TurbineContacts) | false | If checked, get a connector for the output power |
| Efficiency data | |||
| Boolean | ConstEfficiency | true | If checked the constant efficiency eta_h is used, otherwise specify lookup table for efficiency |
| SI.Efficiency | eta_h | 0.9 | Hydraulic efficiency |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Contact_i | i (from TwoContacts) | Inlet contact (positive design flow direction is from i to o) | |
| Contact_o | o (from TwoContacts) | Outlet contact (positive design flow direction is from i to o) | |
| Modelica.Blocks.Interfaces.RealOutput | f (from TorqueEquation) | Speed output of the unit [pu] | |
| Modelica.Blocks.Interfaces.RealOutput | w (from TorqueEquation) | Mechanical angular velocity output of the unit [rad/s] | |
| Modelica.Mechanics.Rotational.Interfaces.Flange_b | flange (from TorqueEquation) | Flange of right shaft | |
| Modelica.Blocks.Interfaces.RealInput | f_in (from TorqueEquation) | Speed input of the unit [pu] | |
| Modelica.Blocks.Interfaces.RealInput | u_t (from TurbineContacts) | [Guide vane|nozzle] opening of the turbine(=1: completely open, =0: completely closed) | |
| Modelica.Blocks.Interfaces.RealOutput | P_out (from TurbineContacts) | Mechanical Output power |