ShaftConnectedCompressor1Phase

This component models a compressor that is connected to a Shaft for the single-phase flow model. The compressor formulation is based off the model described in INL (2018). The user supplies performance curves that give the pressure ratio and isentropic efficiency as functions of shaft speed and mass flow rate. The compressor then applies a pressure rise and work to the working fluid, according to the current flow conditions.

Usage

The parameter "volume" specifies the volume of the junction, and the parameter "position" specifies the spatial location of the center of the junction, which is used for plotting purposes only.

Initial conditions are specified with the following parameters:

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

The user assigns values for several compressor rated conditions: "omega_rated", "mdot_rated", "rho0_rated", and "c0_rated". These rated conditions, along with the user-supplied data "Rp_functions", "eff_functions", "speeds", define the compressor performance model.

The parameter speeds is a list of relative corrected speeds (see Eq. (6)) in increasing order. The parameters parameters Rp_functions and eff_functions define curves for the pressure ratio (see Eq. (2)) and isentropic efficiency (see Eq. (4)), respectively, as Functions for each entry in speeds, where the time value in the function corresponds to the relative corrected mass flow rate (see Eq. (5)). Further discussion on these equations and the input data used in them is found in Compressor 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 compressor moment of inertia contributes to the total moment of inertia of the shaft, which represents the resistance to acceleration of the shaft speed. The user inputs values for "inertia_coeff", "inertia_const", and "speed_cr_I" that are used to compute the compressor moment of inertia as defined in Moment of inertia.

The parameter "A_ref" corresponds to the reference area (see Eq. (1)). It should generally be assigned a value between the inlet area and outlet area. A_ref can act as a means to scale the compressor head and can also be used in combination with "K" to apply a pressure drop due to form loss.

Input Parameters

  • A_refReference area [m^2]

    C++ Type:double

    Controllable:No

    Description:Reference area [m^2]

  • Rp_functionsFunctions of pressure ratio versus relative corrected flow. Each function is for a different, constant relative corrected speed. The order of function names should correspond to the order of speeds in the `speeds` parameter [-]

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

    Controllable:No

    Description:Functions of pressure ratio versus relative corrected flow. Each function is for a different, constant relative corrected speed. The order of function names should correspond to the order of speeds in the `speeds` parameter [-]

  • c0_ratedRated compressor stagnation sound speed [m/s]

    C++ Type:double

    Controllable:No

    Description:Rated compressor stagnation sound speed [m/s]

  • eff_functionsFunctions of adiabatic efficiency versus relative corrected flow. Each function is for a different, constant relative corrected speed. The order of function names should correspond to the order of speeds in the `speeds` parameter [-]

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

    Controllable:No

    Description:Functions of adiabatic efficiency versus relative corrected flow. Each function is for a different, constant relative corrected speed. The order of function names should correspond to the order of speeds in the `speeds` parameter [-]

  • inertia_coeffCompressor inertia coefficients [kg-m^2]

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

    Controllable:No

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

  • inertia_constCompressor inertia constant [kg-m^2]

    C++ Type:double

    Controllable:No

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

  • inletCompressor inlet

    C++ Type:BoundaryName

    Controllable:No

    Description:Compressor inlet

  • mdot_ratedRated compressor mass flow rate [kg/s]

    C++ Type:double

    Controllable:No

    Description:Rated compressor mass flow rate [kg/s]

  • omega_ratedRated compressor speed [rad/s]

    C++ Type:double

    Controllable:No

    Description:Rated compressor speed [rad/s]

  • outletCompressor outlet

    C++ Type:BoundaryName

    Controllable:No

    Description:Compressor outlet

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

    C++ Type:libMesh::Point

    Controllable:No

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

  • rho0_ratedRated compressor stagnation fluid density [kg/m^3]

    C++ Type:double

    Controllable:No

    Description:Rated compressor stagnation fluid density [kg/m^3]

  • speed_cr_ICompressor speed threshold for inertia [-]

    C++ Type:double

    Controllable:No

    Description:Compressor speed threshold for inertia [-]

  • speed_cr_frCompressor speed threshold for friction [-]

    C++ Type:double

    Controllable:No

    Description:Compressor speed threshold for friction [-]

  • speedsRelative corrected speeds. Order of speeds needs correspond to the orders of `Rp_functions` and `eff_functions` [-]

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

    Controllable:No

    Description:Relative corrected speeds. Order of speeds needs correspond to the orders of `Rp_functions` and `eff_functions` [-]

  • tau_fr_coeffCompressor friction coefficients [N-m]

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

    Controllable:No

    Description:Compressor friction coefficients [N-m]

  • tau_fr_constCompressor friction constant [N-m]

    C++ Type:double

    Controllable:No

    Description:Compressor friction constant [N-m]

  • volumeVolume of the junction [m^3]

    C++ Type:double

    Controllable:No

    Description:Volume of the junction [m^3]

Required Parameters

  • K0Form loss factor [-]

    Default:0

    C++ Type:double

    Controllable:No

    Description:Form loss factor [-]

  • initial_TInitial temperature [K]

    C++ Type:FunctionName

    Controllable:No

    Description:Initial temperature [K]

  • initial_pInitial pressure [Pa]

    C++ Type:FunctionName

    Controllable:No

    Description:Initial pressure [Pa]

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

    C++ Type:FunctionName

    Controllable:No

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

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

    C++ Type:FunctionName

    Controllable:No

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

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

    C++ Type:FunctionName

    Controllable:No

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

  • max_pressure_ratio50Maximum pressure ratio

    Default:50

    C++ Type:double

    Controllable:No

    Description:Maximum pressure ratio

  • min_pressure_ratio0Minimum pressure ratio

    Default:0

    C++ Type:double

    Controllable:No

    Description:Minimum pressure ratio

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

    Default:1

    C++ Type:double

    Controllable:No

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

  • scaling_factor_rhoV1Scaling factor for rho*V [-]

    Default:1

    C++ Type:double

    Controllable:No

    Description:Scaling factor for rho*V [-]

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

    Default:1

    C++ Type:double

    Controllable:No

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

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

    Default:1

    C++ Type:double

    Controllable:No

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

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

    Default:1

    C++ Type:double

    Controllable:No

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

  • treat_as_turbineFalseTreat the compressor as a turbine?

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Treat the compressor as a turbine?

Optional Parameters

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

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

    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

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files

Formulation

The compressor is modeled as a 0-D volume based on the VolumeJunction1Phase component, which has conservation of mass, momentum, and energy equations in the volume, but with the addition of source terms to the momentum and energy equations:

(1)

where

  • is the change in stagnation pressure,

  • is the reference cross-sectional area, and

  • is the work rate.

The pressure ratio , which is given by user-defined performance data (see Compressor performance data), is defined as the ratio of the outlet stagnation pressure to the inlet stagnation pressure:

(2)

The stagnation pressure change can then be computed as

(3)

The isentropic efficiency , which is given by user-defined performance data (see Compressor performance data), is defined as the ratio of the isentropic work rate to the actual work rate :

(4)

The connected Shaft receives a corresponding torque , computed using the work rate and shaft speed , and also a friction torque (discussed in Friction torque):

Compressor performance data

Users specify performance curves that give the pressure ratio and isentropic efficiency as functions of the mass flow rate and shaft speed. Specifically, the mass flow rate used is a quantity normalized by rated conditions, often referred to as the "relative corrected mass flow rate", given the symbol :

(5)

where and are stagnation density and sound speed, respectively. Similarly, the shaft speed used is also normalized by rated conditions, often referred to as the "relative corrected shaft speed", given the symbol :

(6)

The user provides an ordered list of relative corrected shaft speeds, which correspond to ordered lists of pressure ratio and isentropic efficiency functions:

Linear interpolation and extrapolation is used to get the dependence on between and outside of the provided values:

Lastly, bounds are applied to the pressure ratio, since extrapolation outside of limited performance data may yield unphysical values.

Friction torque

Friction torque always resists the direction of motion, so the sign of the compressor 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, , is a function of shaft speed, , and four input parameters. If the ratio of shaft speed to "omega_rated", , is less than "speed_cr_fr", friction torque magnitude equals "tau_fr_const",

otherwise, is a function of shaft speed and friction torque coefficients, "tau_fr_coeff",

Moment of inertia

The compressor moment of inertia, , is a function of shaft speed, , and four input parameters. If the ratio of shaft speed to "omega_rated", , is less than "speed_cr_I", compressor inertia equals "inertia_const",

otherwise, is a function of shaft speed and inertia coefficients, "inertia_coeff",

Form Loss

Complex multidimensional interactions inside the junction cannot be practically modeled mechanistically but are instead approximated using a form loss factor , which gives rise to source terms on the momentum and energy equations:

(7)(8)

where

  • is the stagnation pressure of the first flow channel (see Usage),

  • is the static pressure of the first flow channel,

  • is the reference cross-sectional area, and

  • is the velocity in the first connected flow channel.

References

  1. INL. The RELAP5-3D Code Development Team, RELAP5-3D Code Manual Volume I: Code Structure, System Models and Solution Methods. pages 470–477, 2018. doi:INL/MIS-15-36723.[BibTeX]