SimpleTurbine1Phase

The 1-phase simple turbine component is modeled as a volume junction with source terms added to the momentum and energy equations due to the energy extraction and pressure drop.

Usage

A SimpleTurbine1Phase component must be connected to two FlowChannel1Phase boundaries. The first boundary specified in "connections" is assumed to be the inlet of the turbine and the second one is the outlet. The connected flow channels must have the same direction.

The user specifies the power to be extracted by the turbine using the parameter "power". Power will be extracted if the parameter "on" is set to true. Both parameters are controllable.

Input Parameters

  • connectionsJunction connections

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Junction connections

  • onFalseFlag determining if turbine is operating or not [-]

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:Yes

    Description:Flag determining if turbine is operating or not [-]

  • 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]

  • powerTurbine power [W]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:Yes

    Description:Turbine power [W]

  • volumeVolume of the junction [m^3]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Volume of the junction [m^3]

Required Parameters

  • A_refReference area [m^2]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Reference area [m^2]

  • 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 JunctionParallelChannels1Phase but add the turbine momentum and energy source terms,

Smomentum=ΔpA n^out,S^{\text{momentum}} = -\Delta p A ~ \hat{n}_{\text{out}},(1)

and

Senergy=Q˙,S^{\text{energy}} = - \dot{Q} ,(2)

where

  • Δp\Delta p is the turbine pressure drop,

  • AA is the cross-sectional area of the inlet flow channel,

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

  • Q˙\dot{Q} is the power extracted.

Assuming that the process inside the turbine is isentropic, the pressure drop is

Δp=pin(1(1Q˙m˙h)γγ1),\Delta p = p_{\text{in}} \left( 1 - \left(1 - \frac{\dot{Q}}{\dot{m}h} \right)^{\frac{\gamma}{\gamma-1}}\right) ,(3)

where

  • pinp_{\text{in}} is the pressure at the inlet of the turbine,

  • m˙\dot{m} is the mass flow rate entering the turbine,

  • hh in the specific enthalpy at the inlet of the turbine, and

  • γ\gamma is the heat capacity ratio.