ShaftConnectedTurbine1Phase

The 1-phase shaft-connected turbine component is modeled as a volume junction with source terms added to the momentum and energy equations due to the turbine's torque and pressure drop.

The turbine model relies on input parameters, upstream flow conditions, and rotational speed to calculate the turbine pressure drop, driving torque, friction torque, power, and moment of inertia. Turbine pressure drop and net torque (sum of driving and friction torques) are used in source terms to affect flow conditions coming out of the turbine. Net torque and moment of inertia are sent to the connected Shaft component and affect the rotational speed.

Usage

A ShaftConnectedTurbine1Phase component must be connected to a Shaft component, which controls the turbine rotational speed. The user must specify which flow channel boundaries are connected to the turbine with the "inlet" and "outlet" parameters.

"A_ref" should generally be assigned a value in between the "A" values of the connected inlet or outlet. A_ref can act as a means to scale the turbine pressure drop. A_ref can also be used in combination with "K" to apply an additional pressure drop due to form loss. The turbine volume, "volume", should be a reasonable estimate of the inlet to outlet fluid volume of the modeled turbine.

The user assigns values for the rated turbine speed, "omega_rated", and the turbine wheel diameter, "D_wheel". D_wheel can be any physical dimension of the turbine as a measure of the turbine's size, usually the rotor diameter. These rated values, along with the user-supplied functions "head_coefficient" and "power_coefficient", define the turbine performance model. Further discussion on these parameters, their defining equations, and the input data used in them is found in Turbine performance data.

The user inputs values for "tau_fr_coeff", "tau_fr_const", and "speed_cr_fr" that are used to compute friction torque as defined in Friction torque.

The turbine moment of inertia affects how the turbine accelerates. The user inputs values for "inertia_coeff", "inertia_const", and "speed_cr_I" that are used to compute the turbine moment of inertia as defined in Moment of inertia.

Input Parameters

  • A_refReference area [m^2]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Reference area [m^2]

  • D_wheelAny physical dimension of the turbine as a measure of the turbine's size, usually the rotor diameter [m]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Any physical dimension of the turbine as a measure of the turbine's size, usually the rotor diameter [m]

  • head_coefficientHead coefficient vs flow coefficient function [-]

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Head coefficient vs flow coefficient function [-]

  • inertia_coeffTurbine inertia coefficients [kg-m^2]

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine inertia coefficients [kg-m^2]

  • inertia_constTurbine inertia constant [kg-m^2]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine inertia constant [kg-m^2]

  • inletTurbine inlet

    C++ Type:BoundaryName

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine inlet

  • omega_ratedRated turbine speed [rad/s]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Rated turbine speed [rad/s]

  • outletTurbine outlet

    C++ Type:BoundaryName

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine outlet

  • positionSpatial position of the center of the junction [m]

    C++ Type:libMesh::Point

    Unit:(no unit assumed)

    Controllable:No

    Description:Spatial position of the center of the junction [m]

  • power_coefficientPower coefficient vs flow coefficient function [-]

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Power coefficient vs flow coefficient function [-]

  • speed_cr_ITurbine speed threshold for inertia [-]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine speed threshold for inertia [-]

  • speed_cr_frTurbine speed threshold for friction [-]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine speed threshold for friction [-]

  • tau_fr_coeffTurbine friction coefficients [N-m]

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine friction coefficients [N-m]

  • tau_fr_constTurbine friction constant [N-m]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbine friction constant [N-m]

  • volumeVolume of the junction [m^3]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Volume of the junction [m^3]

Required Parameters

  • K0Form loss factor [-]

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:Yes

    Description:Form loss factor [-]

  • apply_velocity_scalingFalseSet to true to apply the scaling to the normal velocity. See documentation for more information.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to true to apply the scaling to the normal velocity. See documentation for more information.

  • initial_TInitial temperature [K]

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial temperature [K]

  • initial_pInitial pressure [Pa]

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial pressure [Pa]

  • initial_vel_xInitial velocity in x-direction [m/s]

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial velocity in x-direction [m/s]

  • initial_vel_yInitial velocity in y-direction [m/s]

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial velocity in y-direction [m/s]

  • initial_vel_zInitial velocity in z-direction [m/s]

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial velocity in z-direction [m/s]

  • scaling_factor_rhoEV1Scaling factor for rho*E*V [-]

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling factor for rho*E*V [-]

  • scaling_factor_rhoV1Scaling factor for rho*V [-]

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling factor for rho*V [-]

  • scaling_factor_rhouV1Scaling factor for rho*u*V [-]

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling factor for rho*u*V [-]

  • scaling_factor_rhovV1Scaling factor for rho*v*V [-]

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling factor for rho*v*V [-]

  • scaling_factor_rhowV1Scaling factor for rho*w*V [-]

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling factor for rho*w*V [-]

  • use_scalar_variablesTrueTrue if the junction variables are scalar variables

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:True if the junction variables are scalar variables

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Formulation

The conservation of mass, momentum, and energy equations for the turbine volume are similar to the equations used by VolumeJunction1Phase but add the turbine momentum and energy source terms,

Smomentum=ΔpArefn^out,S^{\text{momentum}} = -\Delta p A_{\text{ref}} \cdot \hat{n}_{\text{out}},(1)

and

Senergy=(τdriving+τfriction)ω,S^{\text{energy}} = -(\tau_{\text{driving}} + \tau_{\text{friction}}) \omega,(2)

where

  • Δp\Delta p is the pressure drop from turbine inlet to outlet,

  • ArefA_{\text{ref}} is the cross-sectional area of the turbine,

  • n^out\hat{n}_{out} is the orientation of the flow channel connected to the turbine outlet,

  • τdriving\tau_{\text{driving}} is the driving torque,

  • τfriction\tau_{\text{friction}} is the friction torque, and

  • ω\omega is the shaft speed.

Turbine performance data

The turbine model is based on dimensional analysis using Buckingham's Pi Theorem Anon (2021). "The Affinity Laws were derived using the dimensional analysis methods developed by Buckingham to reduce the complex performance map into distinct dimensionless curves which are more useful output parameters. For a single-phase gas turbine, the turbine's performance parameters are non-dimensionalized to evaluate the effects of flow rate (represented by the flow coefficient, Φ\Phi), fluid density (ρ\rho), rotational speed (ω\omega) and turbine wheel diameter (DwheelD_{\text{wheel}}) on the power input represented by the head coefficient (Ψ\Psi) and on useful turbine work represented by the power output coefficient (Π\Pi) Patil et al. (2019)."

Values are obtained by means of an empirical turbine performance map. The independent variables are flow coefficient (Φ\Phi) and shaft speed (ω\omega). The dependent variables are the head coefficient (Ψ\Psi) and power coefficient (Π\Pi).

The flow coefficient is computed as

Φ=QinωDwheel3,\Phi = \frac{ Q_{\text{in}} } { \omega D_{\text{wheel}}^{3} },(3)

where QinQ_{\text{in}} is volumetric flow rate at the turbine inlet.

The head coefficient is computed as

Ψ=gHDwheel2ω2.\Psi = \frac{ g H } { D_{\text{wheel}}^{2} \omega^{2} }.(4)

The power coefficient is computed as

Π=τdrivingρturbineω2Dwheel5,\Pi = \frac{ \tau_{\text{driving}} } { \rho_{\text{turbine}} \omega^{2} D_{\text{wheel}}^{5} },(5)

where ρturbine\rho_{\text{turbine}} is the fluid density within the turbine volume.

Pressure drop (Δp\Delta p) and driving torque (τdriving\tau_{\text{driving}}) are calculated using the input turbine performance data, dimensional coefficients defined above, and the two equations below.

Δp=ρturbinegH\Delta p = \rho_{\text{turbine}} g H(6)τdriving=Πρturbineω2Dwheel5\tau_{\text{driving}} = \Pi \rho_{\text{turbine}} \omega^{2} D_{\text{wheel}}^{5}(7)

Friction torque

Friction torque always resists the direction of motion, so the sign of the turbine friction torque depends on the sign of the connected shaft speed. Positive shaft speed results in negative friction torque while negative shaft speed results in positive friction torque.

The friction torque magnitude, τfriction\tau_{\text{friction}}, is a function of shaft speed, ω\omega, and four input parameters. If the ratio of shaft speed to "omega_rated", α\alpha, is less than "speed_cr_fr", friction torque magnitude equals "tau_fr_const",

τfriction=τfr,const,\tau_{\text{friction}} = \tau_{\text{fr,const}},

otherwise, τfriction\tau_{\text{friction}} is a function of shaft speed and friction torque coefficients, "tau_fr_coeff",

τfriction=τfr,coeff[0]+τfr,coeff[1]α+τfr,coeff[2]α2+τfr,coeff[3]α3.\tau_{\text{friction}} = \tau_{\text{fr,coeff}}[0] + \tau_{\text{fr,coeff}}[1] \mid \alpha \mid + \tau_{\text{fr,coeff}}[2] \mid\alpha \mid^{2} + \tau_{\text{fr,coeff}}[3] \mid \alpha \mid^{3}.

Moment of inertia

The turbine moment of inertia, IturbineI_{\text{turbine}}, is a function of shaft speed, ω\omega, and four input parameters. If the ratio of shaft speed to "omega_rated", α\alpha, is less than "speed_cr_I", turbine inertia equals "inertia_const",

Iturbine=Iconst,I_{\text{turbine}} = I_{\text{const}},

otherwise, IturbineI_{\text{turbine}} is a function of shaft speed and inertia coefficients, "inertia_coeff",

Iturbine=Icoeff[0]+Icoeff[1]α+Icoeff[2]α2+Icoeff[3]α3.I_{\text{turbine}} = I_{\text{coeff}}[0] + I_{\text{coeff}}[1] \mid \alpha \mid + I_{\text{coeff}}[2] \mid\alpha \mid^{2} + I_{\text{coeff}}[3] \mid \alpha \mid^{3}.

References

  1. Anon. Basic principles of turbomachines: lecture 3. 2021. \url https://nptel.ac.in/courses/112/104/112104117/.[BibTeX]
  2. A. Patil, S. Sundar, Y. Wang, M. Solom, K.V. Kirkland, and G. Morrison. Characterization of steam impulse turbine for two-phase flow. Int. J. Heat Fluid Flow, pages, 2019. doi:10.1016/j.ijheatfluidflow.2019.108439.[BibTeX]