- A_refReference area [m^2]
C++ Type:double
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
Controllable:No
Description:Compressor inertia coefficients [kg-m^2]
- inertia_constCompressor inertia constant [kg-m^2]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Compressor inertia constant [kg-m^2]
- inletCompressor inlet
C++ Type:BoundaryName
Unit:(no unit assumed)
Controllable:No
Description:Compressor inlet
- mdot_ratedRated compressor mass flow rate [kg/s]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Rated compressor mass flow rate [kg/s]
- omega_ratedRated compressor speed [rad/s]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Rated compressor speed [rad/s]
- outletCompressor outlet
C++ Type:BoundaryName
Unit:(no unit assumed)
Controllable:No
Description:Compressor 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]
- rho0_ratedRated compressor stagnation fluid density [kg/m^3]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Rated compressor stagnation fluid density [kg/m^3]
- speed_cr_ICompressor speed threshold for inertia [-]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Compressor speed threshold for inertia [-]
- speed_cr_frCompressor speed threshold for friction [-]
C++ Type:double
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
Controllable:No
Description:Compressor friction coefficients [N-m]
- tau_fr_constCompressor friction constant [N-m]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Compressor 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]
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:
"initial_T": temperature
"initial_p": pressure
"initial_vel_x": x-velocity
"initial_vel_y": y-velocity
"initial_vel_z": z-velocity
The "apply_velocity_scaling" parameter specifies whether to apply the scaling of Hong and Kim (2011) to the normal component of the velocity of the junction state, as described in Volume Junction.
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
- 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]
- max_pressure_ratio50Maximum pressure ratio
Default:50
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Maximum pressure ratio
- min_pressure_ratio0Minimum pressure ratio
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Minimum pressure ratio
- 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 [-]
- treat_as_turbineFalseTreat the compressor as a turbine?
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Treat the compressor as a turbine?
- 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 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.
Output
In addition to the junction variables, this component creates the following post-processors and auxiliary scalar variables:
Post-processor/variable name | Description | Notation | Unit |
---|---|---|---|
comp_name:delta_p | Pressure difference across the compressor component | [Pa] | |
comp_name:dissipation_torque | Dissipation torque | - | [Nm] |
comp_name:isentropic_torque | Isentropic torque | - | [Nm] |
comp_name:friction_torque | Friction torque | [Nm] | |
comp_name:moment_of_inertia | Moment of inertia | [kg-m^2] | |
comp_name:efficiency | Efficiency | [-] | |
comp_name:pressure_ratio | Pressure ratio | [-] | |
comp_name:rel_corrected_flow | Relative corrected mass flow rate | [-] | |
comp_name:rel_corrected_speed | Relative corrected shaft speed | [-] |
References
- Seok Hong and Chongam Kim.
A new finite volume method on junction coupling and boundary treatment for flow network system analyses.
International Journal for Numerical Methods in Fluids, 65:707 – 742, 02 2011.
doi:10.1002/fld.2212.[BibTeX]
- 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]