45 MooseEnum wave_speed_formulation(
"einfeldt davis",
"einfeldt");
47 "wave_speed_formulation", wave_speed_formulation,
"Method for computing wave speeds");
50 "scaling_factor_1phase",
51 "Scaling factors for each single phase variable (rhoA, rhouA, rhoEA)");
60 _scaling_factors(getParam<
std::vector<
Real>>(
"scaling_factor_1phase"))
93 const auto scaling_factor_passives =
98 "'scaling_factor_passives' size must match number of passives.");
104 scaling_factor_passives[i]);
107 std::vector<VariableName>
121 const auto & passives_ic_fn_names =
140 const std::string class_name =
"VariableFunctionProductIC";
142 params.
set<VariableName>(
"variable") = var;
144 params.
set<FunctionName>(
"fn") = ic_fn;
145 params.
set<std::vector<VariableName>>(
"var") = {
THM::AREA};
152 const std::string class_name =
"RhoEAFromPressureTemperatureFunctionVelocityIC";
154 params.
set<VariableName>(
"variable") =
RHOEA;
156 params.
set<std::vector<VariableName>>(
"p") = {
PRESSURE};
167 const std::string class_name =
"RhoFromPressureTemperatureIC";
169 params.
set<VariableName>(
"variable") =
DENSITY;
171 params.
set<std::vector<VariableName>>(
"p") = {
PRESSURE};
180 const std::string class_name =
"PressureAux";
182 params.
set<AuxVariableName>(
"variable") =
PRESSURE;
193 const std::string class_name =
"TemperatureAux";
207 const std::string class_name =
"ADFluidProperties3EqnMaterial";
211 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
212 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
213 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
218 const std::string class_name =
"ADDynamicViscosityMaterial";
221 params.
set<UserObjectName>(
"fp_1phase") =
_fp_name;
232 const std::string class_name =
"ADNumericalFlux3EqnHLLC";
235 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
244 const std::string class_name =
"ADRDG3EqnMaterial";
248 params.
set<std::vector<VariableName>>(
"A_elem") = {
AREA};
249 params.
set<std::vector<VariableName>>(
"A_linear") = {
AREA_LINEAR};
250 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
251 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
252 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
254 params.
set<MaterialPropertyName>(
"direction") =
DIRECTION;
255 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
265 const std::string class_name =
"ADNumericalFlux3EqnDGKernel";
267 params.
set<NonlinearVariableName>(
"variable") = var;
269 params.
set<std::vector<VariableName>>(
"A_linear") = {
AREA_LINEAR};
270 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
271 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
272 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
virtual void addNumericalFluxUserObject() override
Adds numerical flux user object.
virtual Real getScalingFactorRhoUA() const override
static const std::string AREA_LINEAR
static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE
static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE
static const std::string HEAT_TRANSFER_COEFFICIENT_WALL
static const std::string VELOCITY_Y
virtual void addInitialConditions() override
Add initial conditions.
virtual void addInitialConditions() override
Add initial conditions.
FlowModelSinglePhase(const InputParameters ¶ms)
std::string genName(const std::string &prefix, unsigned int id, const std::string &suffix="") const
Build a name from a prefix, number and possible suffix.
static const std::string SPECIFIC_INTERNAL_ENERGY
virtual void addRhoEAIC() override
static const std::string RHOEA
static const std::string DYNAMIC_VISCOSITY
void addPassiveTransportIC(const VariableName &var, const FunctionName &ic_fn)
Adds IC for a passive transport variable.
static InputParameters validParams()
const T & getParam(const std::string &name) const
static const std::string AREA
static const std::string TEMPERATURE
static const std::string VELOCITY_Z
virtual Real getScalingFactorRhoA() const override
static const std::string SPECIFIC_HEAT_CONSTANT_VOLUME
static const std::string THERMAL_CONDUCTIVITY
registerMooseObject("ThermalHydraulicsApp", FlowModelSinglePhase)
virtual void addFluidPropertiesMaterials() override
Adds materials to compute fluid properties.
static const std::string VELOCITY
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters ¶meters)
virtual Real getScalingFactorRhoEA() const override
const InputParameters & parameters() const
InputParameters getValidParams(const std::string &name) const
static const std::string THERMAL_CONDUCTIVITY
static const std::string HEAT_TRANSFER_COEFFICIENT_WALL
static const std::string DENSITY
static const std::string FRICTION_FACTOR_DARCY
virtual void addTemperatureAux() override
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
static const std::string SPECIFIC_VOLUME
static const std::string VELOCITY_Z
const FunctionName & getVariableFn(const FunctionName &fn_param_name)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
static const std::string SOUND_SPEED
virtual void addRDGAdvectionDGKernels() override
Adds DG kernels.
static const std::string TEMPERATURE
static const std::string SPECIFIC_INTERNAL_ENERGY
virtual void addSlopeReconstructionMaterial() override
Adds slope reconstruction material.
virtual void addDensityIC() override
static const std::string PRESSURE
virtual void addVariables() override
Add variables the model uses.
void addSimVariable(bool nl, const VariableName &name, libMesh::FEType fe_type, Real scaling_factor=1.0)
Queues a variable of type MooseVariableScalar to be added to the nonlinear or aux system...
static const std::string PRESSURE
const UserObjectName _numerical_flux_name
Numerical flux user object name.
static const std::string VELOCITY_Y
static const std::string RHOUA
static const std::string REYNOLDS_NUMBER
static const std::string HYDRAULIC_DIAMETER
static const std::string RHOA
static const std::string REYNOLDS_NUMBER
virtual void addPressureAux() override
static const std::string VELOCITY
const libMesh::FEType & _fe_type
The type of FE used for flow.
static const std::string FRICTION_FACTOR_DARCY
const MooseEnum _rdg_slope_reconstruction
Slope reconstruction type for rDG.
const ExecFlagType EXEC_LINEAR
static const std::string SPECIFIC_TOTAL_ENTHALPY
Factory & _factory
The Factory associated with the MooseApp.
static const std::string AREA
static const std::string SPECIFIC_VOLUME
static const std::string SOUND_SPEED
const ExecFlagType EXEC_NONLINEAR
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
virtual void addDGKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
void addTimeDerivativeKernelIfTransient(const VariableName &var_name)
Adds a time derivative kernel for the given variable if problem is transient.
virtual void addVariables() override
Add variables the model uses.
virtual std::vector< VariableName > solutionVariableNames() const override
Returns the solution variable names for the flow model.
static const std::string VELOCITY_X
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
const std::vector< Real > _scaling_factors
Scaling factors for each solution variable (rhoA, rhouA, rhoEA)
static const std::string HYDRAULIC_DIAMETER
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
static const std::string VELOCITY_X
Flow model for a single-component, single-phase fluid using the Euler equations.
static const std::string RHOEA
virtual void addKernels() override
Adds the kernels.
virtual void addKernels()
Adds the kernels.
static const std::string RHOUA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
static InputParameters validParams()
const std::string _comp_name
The component name.
Base class for a flow model for a single-phase fluid.
bool isParamSetByUser(const std::string &name) const
static const std::string RHOA
auto index_range(const T &sizable)
static const std::string DIRECTION
static const std::string SPECIFIC_HEAT_CONSTANT_VOLUME
static const std::string SPECIFIC_TOTAL_ENTHALPY
static const std::string DYNAMIC_VISCOSITY
static const std::string DENSITY
const ExecFlagType EXEC_INITIAL