40 params.
addRequiredParam<UserObjectName>(
"numerical_flux",
"Numerical flux user object name");
42 "Slope reconstruction type for rDG");
44 "scaling_factor_1phase",
45 "Scaling factors for each single phase variable (rhoA, rhouA, rhoEA)");
53 _rdg_slope_reconstruction(params.
get<
MooseEnum>(
"rdg_slope_reconstruction")),
54 _numerical_flux_name(params.
get<UserObjectName>(
"numerical_flux")),
55 _scaling_factors(getParam<
std::vector<
Real>>(
"scaling_factor_1phase"))
118 std::string class_name =
"VectorVelocityIC";
120 params.
set<VariableName>(
"variable") = var_name[i];
121 params.
set<FunctionName>(
"vel_fn") = vel_fn;
122 params.
set<std::vector<SubdomainName>>(
"block") = block;
123 params.
set<
unsigned int>(
"component") = i;
128 std::string class_name =
"VariableFunctionProductIC";
130 params.
set<VariableName>(
"variable") =
RHOUA;
131 params.
set<std::vector<SubdomainName>>(
"block") = block;
132 params.
set<std::vector<VariableName>>(
"var") = {
RHOA};
133 params.
set<FunctionName>(
"fn") = vel_fn;
137 std::string class_name =
"RhoEAFromPressureTemperatureFunctionVelocityIC";
139 params.
set<VariableName>(
"variable") =
RHOEA;
140 params.
set<std::vector<SubdomainName>>(
"block") = block;
141 params.
set<std::vector<VariableName>>(
"p") = {
PRESSURE};
143 params.
set<FunctionName>(
"vel") = vel_fn;
154 std::string class_name =
"VariableProductIC";
156 params.
set<VariableName>(
"variable") =
RHOUA;
157 params.
set<std::vector<SubdomainName>>(
"block") = block;
162 std::string class_name =
"RhoEAFromPressureTemperatureVelocityIC";
164 params.
set<VariableName>(
"variable") =
RHOEA;
165 params.
set<std::vector<SubdomainName>>(
"block") = block;
166 params.
set<std::vector<VariableName>>(
"p") = {
PRESSURE};
168 params.
set<std::vector<VariableName>>(
"vel") = {
VELOCITY};
176 std::string class_name =
"RhoFromPressureTemperatureIC";
178 params.
set<VariableName>(
"variable") =
DENSITY;
179 params.
set<std::vector<SubdomainName>>(
"block") = block;
180 params.
set<std::vector<VariableName>>(
"p") = {
PRESSURE};
187 std::string class_name =
"VariableProductIC";
189 params.
set<VariableName>(
"variable") =
RHOA;
190 params.
set<std::vector<SubdomainName>>(
"block") = block;
196 std::string class_name =
"SpecificVolumeIC";
199 params.
set<std::vector<SubdomainName>>(
"block") = block;
200 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
205 std::string class_name =
"SpecificInternalEnergyIC";
208 params.
set<std::vector<SubdomainName>>(
"block") = block;
209 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
210 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
211 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
215 std::string class_name =
"SpecificTotalEnthalpyIC";
218 params.
set<std::vector<SubdomainName>>(
"block") = block;
219 params.
set<std::vector<VariableName>>(
"p") = {
PRESSURE};
220 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
221 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
237 std::string class_name =
"ADFluidProperties3EqnMaterial";
241 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
242 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
243 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
248 const std::string class_name =
"ADDynamicViscosityMaterial";
251 params.
set<UserObjectName>(
"fp_1phase") =
_fp_name;
265 std::string class_name =
"ADTimeDerivative";
267 params.
set<NonlinearVariableName>(
"variable") =
RHOA;
270 params.
set<
bool>(
"lumping") =
true;
278 std::string class_name =
"ADTimeDerivative";
280 params.
set<NonlinearVariableName>(
"variable") =
RHOUA;
283 params.
set<
bool>(
"lumping") =
true;
287 std::string class_name =
"ADOneD3EqnMomentumAreaGradient";
289 params.
set<NonlinearVariableName>(
"variable") =
RHOUA;
292 params.
set<MaterialPropertyName>(
"direction") =
DIRECTION;
297 std::string class_name =
"ADOneD3EqnMomentumFriction";
299 params.
set<NonlinearVariableName>(
"variable") =
RHOUA;
301 params.
set<std::vector<VariableName>>(
"A") = {
AREA};
303 params.
set<MaterialPropertyName>(
"rho") =
DENSITY;
304 params.
set<MaterialPropertyName>(
"vel") =
VELOCITY;
309 std::string class_name =
"ADOneD3EqnMomentumGravity";
311 params.
set<NonlinearVariableName>(
"variable") =
RHOUA;
313 params.
set<std::vector<VariableName>>(
"A") = {
AREA};
314 params.
set<MaterialPropertyName>(
"direction") =
DIRECTION;
315 params.
set<MaterialPropertyName>(
"rho") =
DENSITY;
324 std::string class_name =
"ADTimeDerivative";
326 params.
set<NonlinearVariableName>(
"variable") =
RHOEA;
329 params.
set<
bool>(
"lumping") =
true;
333 std::string class_name =
"ADOneD3EqnEnergyGravity";
335 params.
set<NonlinearVariableName>(
"variable") =
RHOEA;
337 params.
set<std::vector<VariableName>>(
"A") = {
AREA};
338 params.
set<MaterialPropertyName>(
"direction") =
DIRECTION;
339 params.
set<MaterialPropertyName>(
"rho") =
DENSITY;
340 params.
set<MaterialPropertyName>(
"vel") =
VELOCITY;
359 std::string class_name =
"ADVectorVelocityComponentAux";
361 params.
set<AuxVariableName>(
"variable") = var_names[i];
363 params.
set<std::vector<VariableName>>(
"arhoA") = {
RHOA};
364 params.
set<std::vector<VariableName>>(
"arhouA") = {
RHOUA};
365 params.
set<MaterialPropertyName>(
"direction") =
DIRECTION;
366 params.
set<
unsigned int>(
"component") = i;
379 std::string class_name =
"QuotientAux";
381 params.
set<AuxVariableName>(
"variable") =
VELOCITY;
383 params.
set<std::vector<VariableName>>(
"numerator") = {
RHOUA};
384 params.
set<std::vector<VariableName>>(
"denominator") = {
RHOA};
396 params.
set<AuxVariableName>(
"variable") =
DENSITY;
398 params.
set<std::vector<VariableName>>(
"numerator") = {
RHOA};
399 params.
set<std::vector<VariableName>>(
"denominator") = {
AREA};
404 std::string class_name =
"THMSpecificVolumeAux";
408 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
409 params.
set<std::vector<VariableName>>(
"A") = {
AREA};
413 std::string class_name =
"THMSpecificInternalEnergyAux";
417 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
418 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
419 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
424 std::string class_name =
"PressureAux";
426 params.
set<AuxVariableName>(
"variable") =
PRESSURE;
434 std::string class_name =
"TemperatureAux";
445 std::string class_name =
"SpecificTotalEnthalpyAux";
449 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
450 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
451 params.
set<std::vector<VariableName>>(
"p") = {
PRESSURE};
452 params.
set<std::vector<VariableName>>(
"A") = {
AREA};
460 const std::string class_name =
"ADNumericalFlux3EqnHLLC";
462 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
473 const std::string class_name =
"ADRDG3EqnMaterial";
477 params.
set<std::vector<VariableName>>(
"A_elem") = {
AREA};
478 params.
set<std::vector<VariableName>>(
"A_linear") = {
AREA_LINEAR};
479 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
480 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
481 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
482 params.
set<MaterialPropertyName>(
"direction") =
DIRECTION;
483 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
495 const std::string class_name =
"ADNumericalFlux3EqnDGKernel";
497 params.
set<NonlinearVariableName>(
"variable") =
RHOA;
499 params.
set<std::vector<VariableName>>(
"A_linear") = {
AREA_LINEAR};
500 params.
set<std::vector<VariableName>>(
"rhoA") = {
RHOA};
501 params.
set<std::vector<VariableName>>(
"rhouA") = {
RHOUA};
502 params.
set<std::vector<VariableName>>(
"rhoEA") = {
RHOEA};
508 params.
set<NonlinearVariableName>(
"variable") =
RHOUA;
512 params.
set<NonlinearVariableName>(
"variable") =
RHOEA;
static const std::string AREA_LINEAR
static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE
static const std::string VELOCITY_Y
virtual void addInitialConditions() override
Add initial conditions.
const bool _lump_mass_matrix
Lump the mass matrix.
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 DYNAMIC_VISCOSITY
const bool & _output_vector_velocity
True if we output velocity as a vector-value field, false for outputting velocity as a scalar...
static const std::string AREA
static const std::string TEMPERATURE
static const std::string SPECIFIC_HEAT_CONSTANT_VOLUME
registerMooseObject("ThermalHydraulicsApp", FlowModelSinglePhase)
static const std::string VELOCITY
Provides functions to setup the flow model.
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters ¶meters)
virtual void addCommonInitialConditions()
Adds initial conditions common to any flow model.
virtual void addMooseObjects() override
Add MOOSE objects this model uses.
InputParameters getValidParams(const std::string &name) const
static const std::string THERMAL_CONDUCTIVITY
static const std::string HEAT_TRANSFER_COEFFICIENT_WALL
static constexpr std::size_t dim
static InputParameters validParams()
static const std::string DENSITY
const MooseEnum _rdg_slope_reconstruction
Slope reconstruction type for rDG.
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
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
static const std::string SPECIFIC_INTERNAL_ENERGY
void addFunctionIC(const VariableName &var_name, const std::string &func_name, const std::vector< SubdomainName > &block_names)
ExecFlagEnum getDefaultExecFlagEnum()
static const std::string PRESSURE
bool isParamValid(const std::string &name) const
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...
const ExecFlagType EXEC_TIMESTEP_BEGIN
static const std::string RHOUA
static const std::string REYNOLDS_NUMBER
virtual void addNumericalFluxUserObject()
bool problemIsTransient() const
Whether the problem is transient.
virtual void addCommonVariables()
Adds variables common to any flow model (A, P_hf, ...)
static const std::string RHOA
const libMesh::FEType & _fe_type
The type of FE used for flow.
static const std::string FRICTION_FACTOR_DARCY
const ExecFlagType EXEC_LINEAR
static const std::string SPECIFIC_TOTAL_ENTHALPY
Factory & _factory
The Factory associated with the MooseApp.
const RealVectorValue & _gravity_vector
Gravitational acceleration vector.
virtual void addRDGMooseObjects()
virtual void init() override
Initialize the model.
const ExecFlagType EXEC_NONLINEAR
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
const UserObjectName _numerical_flux_name
Numerical flux user object name.
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)
IntRange< T > make_range(T beg, T end)
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
Sets up the single-phase flow model using Euler's equations.
static const std::string RHOEA
std::vector< VariableName > _solution_vars
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
static InputParameters validParams()
virtual void addCommonMooseObjects()
Adds common MOOSE objects.
const std::string _comp_name
The component name.
const Elem & get(const ElemType type_in)
static const std::string DIRECTION
virtual void addRDGAdvectionDGKernels()
std::vector< VariableName > _derivative_vars
const ExecFlagType EXEC_INITIAL