modelTurbine

Simple turbine model with mechanical connectors

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 by eta_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 record VarEfficiency of 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:

  1. Guide-vane opening in per-unit (0 = fully closed, 1 = fully open).
  2. 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:

  1. Uncheck ConstEfficiency.
  2. Set VarEfficiency to redeclare 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

TypeNameDefaultDescription
SI.Frequencyf_nom (from TorqueEquation)data.f_grid/(p/2)Nominal mechanical rotational frequency
OpenHPL.Types.EfficiencyVarEfficiency
Nominal values
BooleanValveCapacity (from BaseValve)trueIf checked, the valve capacity C_v should be specified, otherwise specify the nominal values (net head and flow rate at nominal opening)
RealC_v (from BaseValve)1Valve capacity
SI.HeightH_n (from BaseValve)100Nominal net head
SI.VolumeFlowRateVdot_n (from BaseValve)3Nominal volume flow rate
SI.PerUnitu_n (from BaseValve)1Nominal opening
Advanced › Closing law
Realalpha (from BaseValve)1Exponent of closing curve (if different from 1, the closing law will be non-linear)
Mechanical
BooleanuseH (from TorqueEquation)falseIf checked, calculate the inertia from a given H value
SI.PowerPmax (from TorqueEquation)100e6Maximum rated power (for torque limiting and H calculation)
SI.TimeH (from TorqueEquation)2.75Inertia constant H, typical 2s (high-head hydro) to 6s (gas or low-head hydro) production units
SI.MomentOfInertiaJ (from TorqueEquation)2e5Moment of inertia of the unit (GD2/4)
Integerp (from TorqueEquation)12Number of poles for mechanical speed calculation (Not pole pairs!)
SI.PowerPloss (from TorqueEquation)0Friction losses of the unit at nominal speed
Initialization
SI.PerUnitf_0 (from TorqueEquation)1Initial speed of the unit
Booleanenable_nomSpeed (from TorqueEquation)falseIf checked, unit runs at fixed speed f_0
Booleanfixed_iniSpeed (from TorqueEquation)falseIf checked, unit initialises with fixed speed. When connecting several units mechanically only one can be fixed.
I/O › Inputs
Booleanenable_f_in (from TorqueEquation)falseIf checked, get a connector for speed input
I/O › Outputs
Booleanenable_w (from TorqueEquation)falseIf checked, get a connector for angular velocity output
Booleanenable_f (from TorqueEquation)falseIf checked, get a connector for speed output
Booleanenable_P_out (from TurbineContacts)falseIf checked, get a connector for the output power
Efficiency data
BooleanConstEfficiencytrueIf checked the constant efficiency eta_h is used, otherwise specify lookup table for efficiency
SI.Efficiencyeta_h0.9Hydraulic efficiency

Connectors

TypeNameDefaultDescription
Contact_ii (from TwoContacts)Inlet contact (positive design flow direction is from i to o)
Contact_oo (from TwoContacts)Outlet contact (positive design flow direction is from i to o)
Modelica.Blocks.Interfaces.RealOutputf (from TorqueEquation)Speed output of the unit [pu]
Modelica.Blocks.Interfaces.RealOutputw (from TorqueEquation)Mechanical angular velocity output of the unit [rad/s]
Modelica.Mechanics.Rotational.Interfaces.Flange_bflange (from TorqueEquation)Flange of right shaft
Modelica.Blocks.Interfaces.RealInputf_in (from TorqueEquation)Speed input of the unit [pu]
Modelica.Blocks.Interfaces.RealInputu_t (from TurbineContacts)[Guide vane|nozzle] opening of the turbine(=1: completely open, =0: completely closed)
Modelica.Blocks.Interfaces.RealOutputP_out (from TurbineContacts)Mechanical Output power

Components

TypeNameDefaultDescription
Datadata (from TwoContacts)
SI.Pressuredp (from BaseValve)Pressure drop
SI.MassFlowRatemdot (from BaseValve)Mass flow rate
SI.VolumeFlowRateVdot (from BaseValve)Volume flow rate
Modelica.Mechanics.Rotational.Sensors.SpeedSensorspeedSensor (from TorqueEquation)
Modelica.Mechanics.Rotational.Components.Inertiainertia (from TorqueEquation)
Modelica.Electrical.Machines.Losses.Frictionfriction (from TorqueEquation)
Modelica.Mechanics.Rotational.Components.Fixedfixed (from TorqueEquation)
Modelica.Blocks.Math.Gainw_m2pu (from TorqueEquation)Convert from rad/s to pu
Modelica.Mechanics.Rotational.Sensors.PowerSensorfrictionLoss (from TorqueEquation)
Modelica.Mechanics.Rotational.Sources.SpeedsetSpeed (from TorqueEquation)
Modelica.Mechanics.Rotational.Components.IdealGeartoSysSpeed (from TorqueEquation)Converts to system speed based on p = 2
Modelica.Blocks.Sources.RealExpressionnominalSpeed (from TorqueEquation)
Modelica.Blocks.Math.Gainpu2w_s (from TorqueEquation)
Modelica.Mechanics.Rotational.Sources.Torquetorque (from TorqueEquation)
Modelica.Blocks.Math.Divisionpower2torque (from Power2Torque)
Modelica.Blocks.Nonlinear.Limiterdiv0protect (from Power2Torque)
Modelica.Blocks.Nonlinear.LimitertorqueLimit (from Power2Torque)
Modelica.Blocks.Sources.RealExpressionpower (from Power2Torque)
Modelica.Blocks.Math.FeedbacklossCorrection
Modelica.Blocks.Tables.CombiTable1DvefficiencyCurveEfficiency curve of the turbine
Modelica.Units.SI.EnergyFlowRateWdot_sTurbine power