ADShaftConnectedCompressor1PhaseUserObject

buildconstruction:Undocumented Class

The ADShaftConnectedCompressor1PhaseUserObject has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.

Computes and caches flux and residual vectors for a 1-phase compressor. Also computes compressor torque and delta_p which is passed to the connected shaft

Overview

Example Input File Syntax

Input Parameters

  • ACross-sectional area of connected flow channels

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

    Controllable:No

    Description:Cross-sectional area of connected flow channels

  • A_refReference area [m^2]

    C++ Type:double

    Controllable:No

    Description:Reference area [m^2]

  • KForm loss coefficient [-]

    C++ Type:double

    Controllable:No

    Description:Form loss coefficient [-]

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

  • boundaryThe list of boundary IDs from the mesh where this boundary condition applies

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

    Controllable:No

    Description:The list of boundary IDs from the mesh where this boundary condition applies

  • c0_ratedRated compressor inlet stagnation sound speed [m/s]

    C++ Type:double

    Controllable:No

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

  • compressor_nameName of the instance of this compressor component

    C++ Type:std::string

    Controllable:No

    Description:Name of the instance of this compressor component

  • di_outDirection of connected outlet

    C++ Type:libMesh::Point

    Controllable:No

    Description:Direction of connected outlet

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

  • fpFluid properties user object name

    C++ Type:UserObjectName

    Controllable:No

    Description:Fluid properties user object name

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

  • max_pressure_ratioMaximum pressure ratio

    C++ Type:double

    Controllable:No

    Description:Maximum pressure ratio

  • mdot_ratedRated compressor mass flow rate [kg/s]

    C++ Type:double

    Controllable:No

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

  • min_pressure_ratioMinimum pressure ratio

    C++ Type:double

    Controllable:No

    Description:Minimum pressure ratio

  • normalsFlow channel outward normals or junction inward normals

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

    Controllable:No

    Description:Flow channel outward normals or junction inward normals

  • numerical_flux_namesThe names of the user objects that compute the numerical flux at each flow channel.

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

    Controllable:No

    Description:The names of the user objects that compute the numerical flux at each flow channel.

  • omegaShaft rotational speed [rad/s]

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

    Controllable:No

    Description:Shaft rotational speed [rad/s]

  • omega_ratedRated compressor speed [rad/s]

    C++ Type:double

    Controllable:No

    Description:Rated compressor speed [rad/s]

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

    C++ Type:double

    Controllable:No

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

  • rhoArho*A of the connected flow channels

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

    Controllable:No

    Description:rho*A of the connected flow channels

  • rhoEArhoE*A of the connected flow channels

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

    Controllable:No

    Description:rhoE*A of the connected flow channels

  • rhoEVrho*E*V of the junction

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

    Controllable:No

    Description:rho*E*V of the junction

  • rhoVrho*V of the junction

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

    Controllable:No

    Description:rho*V of the junction

  • rhouArhou*A of the connected flow channels

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

    Controllable:No

    Description:rhou*A of the connected flow channels

  • rhouVrho*u*V of the junction

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

    Controllable:No

    Description:rho*u*V of the junction

  • rhovVrho*v*V of the junction

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

    Controllable:No

    Description:rho*v*V of the junction

  • rhowVrho*w*V of the junction

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

    Controllable:No

    Description:rho*w*V of the junction

  • 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_coeffFriction coefficients [N-m]

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

    Controllable:No

    Description:Friction coefficients [N-m]

  • tau_fr_constCompressor friction constant [N-m]

    C++ Type:double

    Controllable:No

    Description:Compressor friction constant [N-m]

  • treat_as_turbineFalseTreat the compressor as a turbine?

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Treat the compressor as a turbine?

  • volumeVolume of the junction

    C++ Type:double

    Controllable:No

    Description:Volume of the junction

Required Parameters

  • execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, ALWAYS.

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, ALWAYS

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, ALWAYS.

  • inletCompressor inlet

    C++ Type:BoundaryName

    Controllable:No

    Description:Compressor inlet

  • outletCompressor outlet

    C++ Type:BoundaryName

    Controllable:No

    Description:Compressor outlet

  • processor_idsProcessor IDs owning each connected flow channel element

    C++ Type:std::vector<unsigned int>

    Controllable:No

    Description:Processor IDs owning each connected flow channel element

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

Optional Parameters

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Controllable:No

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

  • 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:Yes

    Description:Set the enabled status of the MooseObject.

  • force_postauxFalseForces the UserObject to be executed in POSTAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in POSTAUX

  • force_preauxFalseForces the UserObject to be executed in PREAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREAUX

  • force_preicFalseForces the UserObject to be executed in PREIC during initial setup

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREIC during initial setup

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters