https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
FlowModelSinglePhase Class Reference

Flow model for a single-component, single-phase fluid using the Euler equations. More...

#include <FlowModelSinglePhase.h>

Inheritance diagram for FlowModelSinglePhase:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 FlowModelSinglePhase (const InputParameters &params)
 
virtual void addVariables () override
 Add variables the model uses. More...
 
virtual void addInitialConditions () override
 Add initial conditions. More...
 
virtual void addKernels () override
 Adds the kernels. More...
 
virtual std::vector< VariableName > solutionVariableNames () const override
 Returns the solution variable names for the flow model. More...
 
const std::vector< VariableName > & passiveTransportSolutionVariableNames () const
 
virtual void addMooseObjects () override
 Add MOOSE objects this model uses. More...
 
virtual void init ()
 Initialize the model. More...
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
bool isKokkosObject () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
const std::string & name () const
 
std::string typeAndName () const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TqueryParam (const std::string &name) const
 
const TgetRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool haveParameter (const std::string &name) const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &name) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 
void mooseError (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecatedNoTrace (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
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. More...
 
std::string genName (const std::string &prefix, unsigned int i, unsigned int j, const std::string &suffix="") const
 Build a name from a prefix, 2 numbers and possible suffix. More...
 
std::string genName (const std::string &prefix, const std::string &name, unsigned int i) const
 Build a name from 2 strings and a number. More...
 
std::string genName (const std::string &prefix, const std::string &middle, const std::string &suffix="") const
 Build a name from strings. More...
 
std::string genSafeName (const std::string &prefix, const std::string &middle, const std::string &suffix="") const
 Build a name from strings that is safe to use in input files (i.e. More...
 

Static Public Member Functions

static InputParameters validParams ()
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 

Public Attributes

 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 

Static Public Attributes

static const std::string DENSITY = THM::DENSITY
 
static const std::string FRICTION_FACTOR_DARCY = THM::FRICTION_FACTOR_DARCY
 
static const std::string DYNAMIC_VISCOSITY = THM::DYNAMIC_VISCOSITY
 
static const std::string HEAT_TRANSFER_COEFFICIENT_WALL
 
static const std::string HYDRAULIC_DIAMETER = THM::HYDRAULIC_DIAMETER
 
static const std::string PRESSURE = THM::PRESSURE
 
static const std::string RHOA = THM::RHOA
 
static const std::string RHOEA = THM::RHOEA
 
static const std::string RHOUA = THM::RHOUA
 
static const std::string SOUND_SPEED = THM::SOUND_SPEED
 
static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE
 
static const std::string SPECIFIC_HEAT_CONSTANT_VOLUME
 
static const std::string SPECIFIC_INTERNAL_ENERGY = THM::SPECIFIC_INTERNAL_ENERGY
 
static const std::string SPECIFIC_TOTAL_ENTHALPY = THM::SPECIFIC_TOTAL_ENTHALPY
 
static const std::string SPECIFIC_VOLUME = THM::SPECIFIC_VOLUME
 
static const std::string TEMPERATURE = THM::TEMPERATURE
 
static const std::string THERMAL_CONDUCTIVITY = THM::THERMAL_CONDUCTIVITY
 
static const std::string VELOCITY = THM::VELOCITY
 
static const std::string VELOCITY_X = THM::VELOCITY_X
 
static const std::string VELOCITY_Y = THM::VELOCITY_Y
 
static const std::string VELOCITY_Z = THM::VELOCITY_Z
 
static const std::string REYNOLDS_NUMBER = THM::REYNOLDS_NUMBER
 
static const std::string AREA = THM::AREA
 
static const std::string AREA_LINEAR = THM::AREA_LINEAR
 
static const std::string HEAT_FLUX_WALL = THM::HEAT_FLUX_WALL
 
static const std::string HEAT_FLUX_PERIMETER = THM::HEAT_FLUX_PERIMETER
 
static const std::string NUSSELT_NUMBER = THM::NUSSELT_NUMBER
 
static const std::string SURFACE_TENSION
 
static const std::string TEMPERATURE_WALL = THM::TEMPERATURE_WALL
 
static const std::string UNITY = THM::UNITY
 
static const std::string DIRECTION = THM::DIRECTION
 
static const std::string type_param
 
static const std::string name_param
 
static const std::string unique_name_param
 
static const std::string app_param
 
static const std::string moose_base_param
 
static const std::string kokkos_object_param
 

Protected Member Functions

virtual Real getScalingFactorRhoA () const override
 
virtual Real getScalingFactorRhoUA () const override
 
virtual Real getScalingFactorRhoEA () const override
 
virtual void addRhoEAIC () override
 
virtual void addDensityIC () override
 
virtual void addPressureAux () override
 
virtual void addTemperatureAux () override
 
virtual void addFluidPropertiesMaterials () override
 Adds materials to compute fluid properties. More...
 
virtual void addNumericalFluxUserObject () override
 Adds numerical flux user object. More...
 
virtual void addSlopeReconstructionMaterial () override
 Adds slope reconstruction material. More...
 
virtual void addRDGAdvectionDGKernels () override
 Adds DG kernels. More...
 
void addPassiveTransportIC (const VariableName &var, const FunctionName &ic_fn)
 Adds IC for a passive transport variable. More...
 
bool ICParametersAreValid () const
 Returns true if all of the IC parameters are valid. More...
 
void addFunctionIC (const VariableName &var_name, const FunctionName &function_name)
 Adds an IC from a function. More...
 
virtual void addRhoAIC ()
 
virtual void addRhoUAIC ()
 
virtual void addVelocityIC ()
 
virtual void addSpecificVolumeIC ()
 
virtual void addSpecificInternalEnergyIC ()
 
virtual void addSpecificTotalEnthalpyIC ()
 
void addTimeDerivativeKernelIfTransient (const VariableName &var_name)
 Adds a time derivative kernel for the given variable if problem is transient. More...
 
virtual void addMomentumAreaGradientKernel ()
 
virtual void addMomentumFrictionKernel ()
 
virtual void addMomentumGravityKernel ()
 
virtual void addEnergyGravityKernel ()
 
virtual void addDGKernels ()
 Adds the DG kernels. More...
 
virtual void addHeatConductionDGKernel ()
 
virtual void addAuxKernels ()
 Adds the aux kernels. More...
 
virtual void addVelocityAux ()
 
virtual void addDensityAux ()
 
virtual void addSpecificVolumeAux ()
 
virtual void addSpecificInternalEnergyAux ()
 
virtual void addSpecificTotalEnthalpyAux ()
 
virtual void addFunctorMaterials ()
 Adds the functor materials. More...
 
virtual void addRDGMooseObjects ()
 Adds RDG objects. More...
 
virtual void addPostprocessors ()
 Adds post-processors. More...
 
const FunctionName & getVariableFn (const FunctionName &fn_param_name)
 
virtual void addCommonVariables ()
 Adds variables common to any flow model (A, P_hf, ...) More...
 
virtual void addCommonInitialConditions ()
 Adds initial conditions common to any flow model. More...
 
virtual void addCommonMooseObjects ()
 Adds common MOOSE objects. More...
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 

Protected Attributes

const std::vector< Real_scaling_factors
 Scaling factors for each solution variable (rhoA, rhouA, rhoEA) More...
 
std::vector< VariableName > _passives_times_area_names
 Names of the passive transport solution variables, if any [amount/m]. More...
 
const MooseEnum _rdg_slope_reconstruction
 Slope reconstruction type for rDG. More...
 
const UserObjectName _numerical_flux_name
 Numerical flux user object name. More...
 
THMProblem_sim
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
FlowChannelBase_flow_channel
 The flow channel component that built this class. More...
 
const libMesh::FEType_fe_type
 The type of FE used for flow. More...
 
const UserObjectName _fp_name
 The name of the user object that defines fluid properties. More...
 
const std::string _comp_name
 The component name. More...
 
const RealVectorValue_gravity_vector
 Gravitational acceleration vector. More...
 
const Real _gravity_magnitude
 Gravitational acceleration magnitude. More...
 
std::vector< VariableName > _solution_vars
 
std::vector< VariableName > _derivative_vars
 
const bool & _output_vector_velocity
 True if we output velocity as a vector-value field, false for outputting velocity as a scalar. More...
 
const bool & _enabled
 
MooseApp_app
 
ActionFactory_action_factory
 
const std::string & _type
 
const std::string & _name
 
const InputParameters_pars
 
const Parallel::Communicator & _communicator
 

Detailed Description

Flow model for a single-component, single-phase fluid using the Euler equations.

Definition at line 17 of file FlowModelSinglePhase.h.

Constructor & Destructor Documentation

◆ FlowModelSinglePhase()

FlowModelSinglePhase::FlowModelSinglePhase ( const InputParameters params)

Definition at line 58 of file FlowModelSinglePhase.C.

59  : FlowModel1PhaseBase(params),
60  _scaling_factors(getParam<std::vector<Real>>("scaling_factor_1phase"))
61 {
62  // create passive transport solution variables, if any
63  const auto & passives_names = _flow_channel.getParam<std::vector<VariableName>>("passives_names");
64  _passives_times_area_names.resize(passives_names.size());
65  for (const auto i : index_range(passives_names))
66  _passives_times_area_names[i] = passives_names[i] + "_times_area";
67 }
const T & getParam(const std::string &name) const
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
FlowModel1PhaseBase(const InputParameters &params)
const std::vector< Real > _scaling_factors
Scaling factors for each solution variable (rhoA, rhouA, rhoEA)
auto index_range(const T &sizable)

Member Function Documentation

◆ addAuxKernels()

void FlowModel1PhaseBase::addAuxKernels ( )
protectedvirtualinherited

Adds the aux kernels.

Reimplemented in FlowModelGasMix.

Definition at line 316 of file FlowModel1PhaseBase.C.

Referenced by FlowModelGasMix::addAuxKernels(), and FlowModel1PhaseBase::addMooseObjects().

317 {
318  addPressureAux();
320  addVelocityAux();
321  addDensityAux();
325 }
virtual void addSpecificInternalEnergyAux()
virtual void addPressureAux()=0
virtual void addDensityAux()
virtual void addSpecificTotalEnthalpyAux()
virtual void addSpecificVolumeAux()
virtual void addVelocityAux()
virtual void addTemperatureAux()=0

◆ addCommonInitialConditions()

void FlowModel::addCommonInitialConditions ( )
protectedvirtualinherited

Adds initial conditions common to any flow model.

Definition at line 80 of file FlowModel.C.

Referenced by FlowModel1PhaseBase::addInitialConditions().

81 {
83  {
84  const std::vector<SubdomainName> & block = _flow_channel.getSubdomainNames();
85  const FunctionName & area_function = _flow_channel.getAreaFunctionName();
86 
87  if (!_sim.hasFunction(area_function))
88  {
89  const Function & fn = _sim.getFunction(area_function);
90  _sim.addConstantIC(AREA, fn.value(0, Point()), block);
91  _sim.addConstantIC(AREA_LINEAR, fn.value(0, Point()), block);
92  }
93  else
94  {
95  _sim.addFunctionIC(AREA_LINEAR, area_function, block);
96 
97  {
98  const std::string class_name = "FunctionNodalAverageIC";
99  InputParameters params = _factory.getValidParams(class_name);
100  params.set<VariableName>("variable") = AREA;
101  params.set<std::vector<SubdomainName>>("block") = block;
102  params.set<FunctionName>("function") = area_function;
103  _sim.addSimInitialCondition(class_name, genName(_comp_name, AREA, "ic"), params);
104  }
105  }
106  }
107 }
static const std::string AREA_LINEAR
Definition: FlowModel.h:103
const FunctionName & getAreaFunctionName() const
Get the name of the function describing the flow channel area.
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 AREA
Definition: FlowModel.h:102
T & set(const std::string &name, bool quiet_mode=false)
bool isRestarting() const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
void addFunctionIC(const VariableName &var_name, const std::string &func_name, const std::vector< SubdomainName > &block_names)
Definition: Simulation.C:532
virtual Function & getFunction(const std::string &name, const THREAD_ID tid=0)
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
MooseApp & _app
bool isParamValid(const std::string &name) const
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
virtual Real value(Real t, const Point &p) const
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
void addConstantIC(const VariableName &var_name, Real value, const std::vector< SubdomainName > &block_names)
Definition: Simulation.C:512
virtual bool hasFunction(const std::string &name, const THREAD_ID tid=0)

◆ addCommonMooseObjects()

void FlowModel::addCommonMooseObjects ( )
protectedvirtualinherited

Adds common MOOSE objects.

Definition at line 110 of file FlowModel.C.

Referenced by FlowModel1PhaseBase::addMooseObjects().

111 {
112  // add material property equal to one, useful for dummy multiplier values
113  {
114  const std::string class_name = "ConstantMaterial";
115  InputParameters params = _factory.getValidParams(class_name);
116  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
117  params.set<std::string>("property_name") = FlowModel::UNITY;
118  params.set<Real>("value") = 1.0;
119  params.set<std::vector<VariableName>>("derivative_vars") = _derivative_vars;
120  _sim.addMaterial(class_name, genName(_comp_name, FlowModel::UNITY), params);
121  }
122 }
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 UNITY
Definition: FlowModel.h:109
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters &parameters)
T & set(const std::string &name, bool quiet_mode=false)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
std::vector< VariableName > _derivative_vars
Definition: FlowModel.h:79

◆ addCommonVariables()

void FlowModel::addCommonVariables ( )
protectedvirtualinherited

Adds variables common to any flow model (A, P_hf, ...)

Definition at line 70 of file FlowModel.C.

Referenced by FlowModel1PhaseBase::addVariables().

71 {
72  const std::vector<SubdomainName> & subdomains = _flow_channel.getSubdomainNames();
73 
74  _sim.addSimVariable(false, AREA, _fe_type, subdomains);
75  _sim.addSimVariable(false, HEAT_FLUX_PERIMETER, _fe_type, subdomains);
76  _sim.addSimVariable(false, AREA_LINEAR, FEType(FIRST, LAGRANGE), subdomains);
77 }
static const std::string AREA_LINEAR
Definition: FlowModel.h:103
static const std::string AREA
Definition: FlowModel.h:102
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
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...
Definition: Simulation.C:271
const libMesh::FEType & _fe_type
The type of FE used for flow.
Definition: FlowModel.h:62
static const std::string HEAT_FLUX_PERIMETER
Definition: FlowModel.h:105
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
THMProblem & _sim
Definition: FlowModel.h:53

◆ addDensityAux()

void FlowModel1PhaseBase::addDensityAux ( )
protectedvirtualinherited

Definition at line 361 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

362 {
363  const std::string class_name = "QuotientAux";
364  InputParameters params = _factory.getValidParams(class_name);
365  params.set<AuxVariableName>("variable") = THM::DENSITY;
366  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
367  params.set<std::vector<VariableName>>("numerator") = {THM::RHOA};
368  params.set<std::vector<VariableName>>("denominator") = {THM::AREA};
369  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
370  _sim.addAuxKernel(class_name, genName(_comp_name, "rho_aux"), params);
371 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29
static const std::string DENSITY
Definition: THMNames.h:16
const ExecFlagType EXEC_INITIAL

◆ addDensityIC()

void FlowModelSinglePhase::addDensityIC ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 165 of file FlowModelSinglePhase.C.

166 {
167  const std::string class_name = "RhoFromPressureTemperatureIC";
168  InputParameters params = _factory.getValidParams(class_name);
169  params.set<VariableName>("variable") = DENSITY;
170  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
171  params.set<std::vector<VariableName>>("p") = {PRESSURE};
172  params.set<std::vector<VariableName>>("T") = {TEMPERATURE};
173  params.set<UserObjectName>("fp") = _fp_name;
174  _sim.addSimInitialCondition(class_name, genName(_comp_name, "rho_ic"), params);
175 }
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 TEMPERATURE
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
static const std::string DENSITY
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string PRESSURE
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addDGKernels()

void FlowModel1PhaseBase::addDGKernels ( )
protectedvirtualinherited

Adds the DG kernels.

Reimplemented in FlowModelGasMix.

Definition at line 295 of file FlowModel1PhaseBase.C.

Referenced by FlowModelGasMix::addDGKernels(), and FlowModel1PhaseBase::addMooseObjects().

296 {
297  if (_flow_channel.getParam<bool>("enable_heat_conduction"))
299 }
const T & getParam(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
virtual void addHeatConductionDGKernel()

◆ addEnergyGravityKernel()

void FlowModel1PhaseBase::addEnergyGravityKernel ( )
protectedvirtualinherited

Definition at line 280 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

281 {
282  const std::string class_name = "ADOneD3EqnEnergyGravity";
283  InputParameters params = _factory.getValidParams(class_name);
284  params.set<NonlinearVariableName>("variable") = THM::RHOEA;
285  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
286  params.set<std::vector<VariableName>>("A") = {THM::AREA};
287  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
288  params.set<MaterialPropertyName>("rho") = THM::DENSITY;
289  params.set<MaterialPropertyName>("vel") = THM::VELOCITY;
290  params.set<RealVectorValue>("gravity_vector") = _gravity_vector;
291  _sim.addKernel(class_name, genName(_comp_name, "energy_gravity"), params);
292 }
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 RHOEA
Definition: THMNames.h:30
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string VELOCITY
Definition: THMNames.h:43
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
const RealVectorValue & _gravity_vector
Gravitational acceleration vector.
Definition: FlowModel.h:71
static const std::string AREA
Definition: THMNames.h:14
static const std::string DIRECTION
Definition: THMNames.h:17
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string DENSITY
Definition: THMNames.h:16

◆ addFluidPropertiesMaterials()

void FlowModelSinglePhase::addFluidPropertiesMaterials ( )
overrideprotectedvirtual

Adds materials to compute fluid properties.

Implements FlowModel1PhaseBase.

Definition at line 204 of file FlowModelSinglePhase.C.

205 {
206  {
207  const std::string class_name = "ADFluidProperties3EqnMaterial";
208  InputParameters params = _factory.getValidParams(class_name);
209  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
210  params.set<UserObjectName>("fp") = _fp_name;
211  params.set<std::vector<VariableName>>("rhoA") = {RHOA};
212  params.set<std::vector<VariableName>>("rhouA") = {RHOUA};
213  params.set<std::vector<VariableName>>("rhoEA") = {RHOEA};
214  params.set<std::vector<VariableName>>("A") = {FlowModel::AREA};
215  _sim.addMaterial(class_name, genName(_comp_name, "fp_mat"), params);
216  }
217  {
218  const std::string class_name = "ADDynamicViscosityMaterial";
219  InputParameters params = _factory.getValidParams(class_name);
220  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
221  params.set<UserObjectName>("fp_1phase") = _fp_name;
222  params.set<MaterialPropertyName>("mu") = {DYNAMIC_VISCOSITY};
223  params.set<MaterialPropertyName>("v") = {SPECIFIC_VOLUME};
224  params.set<MaterialPropertyName>("e") = {SPECIFIC_INTERNAL_ENERGY};
225  _sim.addMaterial(class_name, genName(_comp_name, "mu_mat"), params);
226  }
227 }
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
static const std::string AREA
Definition: FlowModel.h:102
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters &parameters)
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
static const std::string SPECIFIC_VOLUME
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string SPECIFIC_INTERNAL_ENERGY
static const std::string RHOUA
static const std::string RHOA
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
static const std::string RHOEA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addFunctionIC()

void FlowModel1PhaseBase::addFunctionIC ( const VariableName &  var_name,
const FunctionName &  function_name 
)
protectedinherited

Adds an IC from a function.

Definition at line 98 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions(), FlowModelGasMix::addInitialConditions(), and FlowModel1PhaseBase::addVelocityIC().

100 {
101  const std::string class_name = "FunctionIC";
102  InputParameters params = _factory.getValidParams(class_name);
103  params.set<VariableName>("variable") = var_name;
104  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
105  params.set<FunctionName>("function") = function_name;
106  _sim.addSimInitialCondition(class_name, genName(_comp_name, var_name + "_ic"), params);
107 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addFunctorMaterials()

virtual void FlowModel1PhaseBase::addFunctorMaterials ( )
inlineprotectedvirtualinherited

Adds the functor materials.

Definition at line 77 of file FlowModel1PhaseBase.h.

Referenced by FlowModel1PhaseBase::addMooseObjects().

77 {}

◆ addHeatConductionDGKernel()

void FlowModel1PhaseBase::addHeatConductionDGKernel ( )
protectedvirtualinherited

Definition at line 302 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addDGKernels().

303 {
304  const std::string class_name = "HeatConduction3EqnDGKernel";
305  InputParameters params = _factory.getValidParams(class_name);
306  params.set<NonlinearVariableName>("variable") = THM::RHOEA;
307  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
308  params.set<MaterialPropertyName>("k") = THM::THERMAL_CONDUCTIVITY;
309  params.set<MaterialPropertyName>("T") = THM::TEMPERATURE;
310  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
311  params.set<std::vector<VariableName>>("A") = {THM::AREA};
312  _sim.addDGKernel(class_name, genName(name(), "heat_cond"), params);
313 }
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 RHOEA
Definition: THMNames.h:30
static const std::string THERMAL_CONDUCTIVITY
Definition: THMNames.h:41
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string TEMPERATURE
Definition: THMNames.h:39
const std::string & name() const
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
static const std::string DIRECTION
Definition: THMNames.h:17
virtual void addDGKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
THMProblem & _sim
Definition: FlowModel.h:53

◆ addInitialConditions()

void FlowModelSinglePhase::addInitialConditions ( )
overridevirtual

Add initial conditions.

Reimplemented from FlowModel1PhaseBase.

Definition at line 116 of file FlowModelSinglePhase.C.

117 {
119 
120  // passive transport variables
121  const auto & passives_ic_fn_names =
122  _flow_channel.getParam<std::vector<FunctionName>>("initial_passives");
123  for (const auto i : index_range(_passives_times_area_names))
124  addPassiveTransportIC(_passives_times_area_names[i], passives_ic_fn_names[i]);
125 }
virtual void addInitialConditions() override
Add initial conditions.
void addPassiveTransportIC(const VariableName &var, const FunctionName &ic_fn)
Adds IC for a passive transport variable.
const T & getParam(const std::string &name) const
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
auto index_range(const T &sizable)

◆ addKernels()

void FlowModelSinglePhase::addKernels ( )
overridevirtual

Adds the kernels.

Reimplemented from FlowModel1PhaseBase.

Definition at line 128 of file FlowModelSinglePhase.C.

129 {
131 
132  // time derivatives for passive transport variables
133  for (const auto & var : _passives_times_area_names)
135 }
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
void addTimeDerivativeKernelIfTransient(const VariableName &var_name)
Adds a time derivative kernel for the given variable if problem is transient.
virtual void addKernels()
Adds the kernels.

◆ addMomentumAreaGradientKernel()

void FlowModel1PhaseBase::addMomentumAreaGradientKernel ( )
protectedvirtualinherited

Definition at line 238 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

239 {
240  const std::string class_name = "ADOneD3EqnMomentumAreaGradient";
241  InputParameters params = _factory.getValidParams(class_name);
242  params.set<NonlinearVariableName>("variable") = THM::RHOUA;
243  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
244  params.set<std::vector<VariableName>>("A") = {THM::AREA_LINEAR};
245  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
246  params.set<MaterialPropertyName>("p") = THM::PRESSURE;
247  _sim.addKernel(class_name, genName(_comp_name, "mom_area_grad"), params);
248 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string AREA_LINEAR
Definition: THMNames.h:15
static const std::string PRESSURE
Definition: THMNames.h:27
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string DIRECTION
Definition: THMNames.h:17
static const std::string RHOUA
Definition: THMNames.h:31
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addMomentumFrictionKernel()

void FlowModel1PhaseBase::addMomentumFrictionKernel ( )
protectedvirtualinherited

Definition at line 251 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

252 {
253  const std::string class_name = "ADOneD3EqnMomentumFriction";
254  InputParameters params = _factory.getValidParams(class_name);
255  params.set<NonlinearVariableName>("variable") = THM::RHOUA;
256  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
257  params.set<std::vector<VariableName>>("A") = {THM::AREA};
258  params.set<MaterialPropertyName>("D_h") = {THM::HYDRAULIC_DIAMETER};
259  params.set<MaterialPropertyName>("rho") = THM::DENSITY;
260  params.set<MaterialPropertyName>("vel") = THM::VELOCITY;
261  params.set<MaterialPropertyName>("f_D") = THM::FRICTION_FACTOR_DARCY;
262  _sim.addKernel(class_name, genName(_comp_name, "mom_friction"), params);
263 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
static const std::string FRICTION_FACTOR_DARCY
Definition: THMNames.h:19
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string HYDRAULIC_DIAMETER
Definition: THMNames.h:23
static const std::string VELOCITY
Definition: THMNames.h:43
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
static const std::string RHOUA
Definition: THMNames.h:31
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string DENSITY
Definition: THMNames.h:16

◆ addMomentumGravityKernel()

void FlowModel1PhaseBase::addMomentumGravityKernel ( )
protectedvirtualinherited

Definition at line 266 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

267 {
268  const std::string class_name = "ADOneD3EqnMomentumGravity";
269  InputParameters params = _factory.getValidParams(class_name);
270  params.set<NonlinearVariableName>("variable") = THM::RHOUA;
271  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
272  params.set<std::vector<VariableName>>("A") = {THM::AREA};
273  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
274  params.set<MaterialPropertyName>("rho") = THM::DENSITY;
275  params.set<RealVectorValue>("gravity_vector") = _gravity_vector;
276  _sim.addKernel(class_name, genName(_comp_name, "mom_gravity"), params);
277 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
const RealVectorValue & _gravity_vector
Gravitational acceleration vector.
Definition: FlowModel.h:71
static const std::string AREA
Definition: THMNames.h:14
static const std::string DIRECTION
Definition: THMNames.h:17
static const std::string RHOUA
Definition: THMNames.h:31
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string DENSITY
Definition: THMNames.h:16

◆ addMooseObjects()

void FlowModel1PhaseBase::addMooseObjects ( )
overridevirtualinherited

Add MOOSE objects this model uses.

Implements FlowModel.

Definition at line 193 of file FlowModel1PhaseBase.C.

194 {
196 
197  addKernels();
198  addDGKernels();
200  addAuxKernels();
205 }
virtual void addDGKernels()
Adds the DG kernels.
virtual void addAuxKernels()
Adds the aux kernels.
virtual void addRDGMooseObjects()
Adds RDG objects.
virtual void addFluidPropertiesMaterials()=0
Adds materials to compute fluid properties.
virtual void addNumericalFluxUserObject()=0
Adds numerical flux user object.
virtual void addFunctorMaterials()
Adds the functor materials.
virtual void addPostprocessors()
Adds post-processors.
virtual void addKernels()
Adds the kernels.
virtual void addCommonMooseObjects()
Adds common MOOSE objects.
Definition: FlowModel.C:110

◆ addNumericalFluxUserObject()

void FlowModelSinglePhase::addNumericalFluxUserObject ( )
overrideprotectedvirtual

Adds numerical flux user object.

Implements FlowModel1PhaseBase.

Definition at line 230 of file FlowModelSinglePhase.C.

231 {
232  const std::string class_name = "ADNumericalFlux3EqnHLLC";
233  InputParameters params = _factory.getValidParams(class_name);
234  params.applySpecificParameters(parameters(), {"wave_speed_formulation"});
235  params.set<UserObjectName>("fluid_properties") = _fp_name;
236  params.set<MooseEnum>("emit_on_nan") = "none";
237  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_LINEAR, EXEC_NONLINEAR};
238  _sim.addUserObject(class_name, _numerical_flux_name, params);
239 }
void applySpecificParameters(const InputParameters &common, const std::vector< std::string > &include, bool allow_private=false)
const InputParameters & parameters() const
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
const UserObjectName _numerical_flux_name
Numerical flux user object name.
const ExecFlagType EXEC_LINEAR
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
const ExecFlagType EXEC_NONLINEAR
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters &parameters)
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
THMProblem & _sim
Definition: FlowModel.h:53
const ExecFlagType EXEC_INITIAL

◆ addPassiveTransportIC()

void FlowModelSinglePhase::addPassiveTransportIC ( const VariableName &  var,
const FunctionName &  ic_fn 
)
protected

Adds IC for a passive transport variable.

Definition at line 138 of file FlowModelSinglePhase.C.

Referenced by addInitialConditions().

139 {
140  const std::string class_name = "VariableFunctionProductIC";
141  InputParameters params = _factory.getValidParams(class_name);
142  params.set<VariableName>("variable") = var;
143  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
144  params.set<FunctionName>("fn") = ic_fn;
145  params.set<std::vector<VariableName>>("var") = {THM::AREA};
146  _sim.addSimInitialCondition(class_name, genName(_comp_name, var + "_ic"), params);
147 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addPostprocessors()

virtual void FlowModel1PhaseBase::addPostprocessors ( )
inlineprotectedvirtualinherited

Adds post-processors.

Definition at line 92 of file FlowModel1PhaseBase.h.

Referenced by FlowModel1PhaseBase::addMooseObjects().

92 {}

◆ addPressureAux()

void FlowModelSinglePhase::addPressureAux ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 178 of file FlowModelSinglePhase.C.

179 {
180  const std::string class_name = "PressureAux";
181  InputParameters params = _factory.getValidParams(class_name);
182  params.set<AuxVariableName>("variable") = PRESSURE;
183  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
184  params.set<std::vector<VariableName>>("e") = {SPECIFIC_INTERNAL_ENERGY};
185  params.set<std::vector<VariableName>>("v") = {SPECIFIC_VOLUME};
186  params.set<UserObjectName>("fp") = _fp_name;
187  _sim.addAuxKernel(class_name, genName(_comp_name, "pressure_uv_auxkernel"), params);
188 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
static const std::string SPECIFIC_VOLUME
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string SPECIFIC_INTERNAL_ENERGY
static const std::string PRESSURE
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addRDGAdvectionDGKernels()

void FlowModelSinglePhase::addRDGAdvectionDGKernels ( )
overrideprotectedvirtual

Adds DG kernels.

Implements FlowModel1PhaseBase.

Definition at line 261 of file FlowModelSinglePhase.C.

262 {
263  for (const auto & var : solutionVariableNames())
264  {
265  const std::string class_name = "ADNumericalFlux3EqnDGKernel";
266  InputParameters params = _factory.getValidParams(class_name);
267  params.set<NonlinearVariableName>("variable") = var;
268  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
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};
273  params.set<std::vector<VariableName>>("passives_times_area") = _passives_times_area_names;
274  params.set<UserObjectName>("numerical_flux") = _numerical_flux_name;
275  params.set<bool>("implicit") = _sim.getImplicitTimeIntegrationFlag();
276  _sim.addDGKernel(class_name, genName(_comp_name, "flux_kernel_" + var), params);
277  }
278 }
static const std::string AREA_LINEAR
Definition: FlowModel.h:103
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
const UserObjectName _numerical_flux_name
Numerical flux user object name.
static const std::string RHOUA
static const std::string RHOA
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
virtual void addDGKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
virtual std::vector< VariableName > solutionVariableNames() const override
Returns the solution variable names for the flow model.
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
Definition: Simulation.h:329
static const std::string RHOEA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addRDGMooseObjects()

void FlowModel1PhaseBase::addRDGMooseObjects ( )
protectedvirtualinherited

Adds RDG objects.

Definition at line 416 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addMooseObjects().

417 {
420 }
virtual void addRDGAdvectionDGKernels()=0
Adds DG kernels.
virtual void addSlopeReconstructionMaterial()=0
Adds slope reconstruction material.

◆ addRhoAIC()

void FlowModel1PhaseBase::addRhoAIC ( )
protectedvirtualinherited

Definition at line 110 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions().

111 {
112  const std::string class_name = "VariableProductIC";
113  InputParameters params = _factory.getValidParams(class_name);
114  params.set<VariableName>("variable") = THM::RHOA;
115  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
116  params.set<std::vector<VariableName>>("values") = {THM::DENSITY, THM::AREA};
117  _sim.addSimInitialCondition(class_name, genName(_comp_name, "rhoA_ic"), params);
118 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29
static const std::string DENSITY
Definition: THMNames.h:16

◆ addRhoEAIC()

void FlowModelSinglePhase::addRhoEAIC ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 150 of file FlowModelSinglePhase.C.

151 {
152  const std::string class_name = "RhoEAFromPressureTemperatureFunctionVelocityIC";
153  InputParameters params = _factory.getValidParams(class_name);
154  params.set<VariableName>("variable") = RHOEA;
155  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
156  params.set<std::vector<VariableName>>("p") = {PRESSURE};
157  params.set<std::vector<VariableName>>("T") = {TEMPERATURE};
158  params.set<FunctionName>("vel") = getVariableFn("initial_vel");
159  params.set<std::vector<VariableName>>("A") = {FlowModel::AREA};
160  params.set<UserObjectName>("fp") = _fp_name;
161  _sim.addSimInitialCondition(class_name, genName(_comp_name, "rhoEA_ic"), params);
162 }
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 AREA
Definition: FlowModel.h:102
static const std::string TEMPERATURE
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
const FunctionName & getVariableFn(const FunctionName &fn_param_name)
Definition: FlowModel.C:56
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string PRESSURE
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
static const std::string RHOEA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addRhoUAIC()

void FlowModel1PhaseBase::addRhoUAIC ( )
protectedvirtualinherited

Definition at line 121 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions().

122 {
123  const std::string class_name = "VariableFunctionProductIC";
124  InputParameters params = _factory.getValidParams(class_name);
125  params.set<VariableName>("variable") = THM::RHOUA;
126  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
127  params.set<std::vector<VariableName>>("var") = {THM::RHOA};
128  params.set<FunctionName>("fn") = _flow_channel.getParam<FunctionName>("initial_vel");
129  _sim.addSimInitialCondition(class_name, genName(_comp_name, "rhouA_ic"), params);
130 }
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.
const T & getParam(const std::string &name) const
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
static const std::string RHOUA
Definition: THMNames.h:31
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29

◆ addSlopeReconstructionMaterial()

void FlowModelSinglePhase::addSlopeReconstructionMaterial ( )
overrideprotectedvirtual

Adds slope reconstruction material.

Implements FlowModel1PhaseBase.

Definition at line 242 of file FlowModelSinglePhase.C.

243 {
244  const std::string class_name = "ADRDG3EqnMaterial";
245  InputParameters params = _factory.getValidParams(class_name);
246  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
247  params.set<MooseEnum>("scheme") = _rdg_slope_reconstruction;
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};
253  params.set<std::vector<VariableName>>("passives_times_area") = _passives_times_area_names;
254  params.set<MaterialPropertyName>("direction") = DIRECTION;
255  params.set<UserObjectName>("fluid_properties") = _fp_name;
256  params.set<bool>("implicit") = _sim.getImplicitTimeIntegrationFlag();
257  _sim.addMaterial(class_name, genName(_comp_name, "rdg_3egn_mat"), params);
258 }
static const std::string AREA_LINEAR
Definition: FlowModel.h:103
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 AREA
Definition: FlowModel.h:102
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters &parameters)
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string RHOUA
static const std::string RHOA
const MooseEnum _rdg_slope_reconstruction
Slope reconstruction type for rDG.
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
Definition: Simulation.h:329
static const std::string RHOEA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string DIRECTION
Definition: FlowModel.h:110

◆ addSpecificInternalEnergyAux()

void FlowModel1PhaseBase::addSpecificInternalEnergyAux ( )
protectedvirtualinherited

Definition at line 387 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

388 {
389  const std::string class_name = "THMSpecificInternalEnergyAux";
390  InputParameters params = _factory.getValidParams(class_name);
391  params.set<AuxVariableName>("variable") = THM::SPECIFIC_INTERNAL_ENERGY;
392  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
393  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
394  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
395  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
396  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
397  _sim.addAuxKernel(class_name, genName(_comp_name, "e_aux"), params);
398 }
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
Definition: THMNames.h:36
static const std::string RHOEA
Definition: THMNames.h:30
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string RHOUA
Definition: THMNames.h:31
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29
const ExecFlagType EXEC_INITIAL

◆ addSpecificInternalEnergyIC()

void FlowModel1PhaseBase::addSpecificInternalEnergyIC ( )
protectedvirtualinherited

Definition at line 166 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions().

167 {
168  const std::string class_name = "SpecificInternalEnergyIC";
169  InputParameters params = _factory.getValidParams(class_name);
170  params.set<VariableName>("variable") = THM::SPECIFIC_INTERNAL_ENERGY;
171  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
172  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
173  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
174  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
175  _sim.addSimInitialCondition(class_name, genName(_comp_name, "e_ic"), params);
176 }
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
Definition: THMNames.h:36
static const std::string RHOEA
Definition: THMNames.h:30
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
static const std::string RHOUA
Definition: THMNames.h:31
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29

◆ addSpecificTotalEnthalpyAux()

void FlowModel1PhaseBase::addSpecificTotalEnthalpyAux ( )
protectedvirtualinherited

Definition at line 401 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

402 {
403  const std::string class_name = "SpecificTotalEnthalpyAux";
404  InputParameters params = _factory.getValidParams(class_name);
405  params.set<AuxVariableName>("variable") = THM::SPECIFIC_TOTAL_ENTHALPY;
406  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
407  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
408  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
409  params.set<std::vector<VariableName>>("p") = {THM::PRESSURE};
410  params.set<std::vector<VariableName>>("A") = {THM::AREA};
411  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
412  _sim.addAuxKernel(class_name, genName(_comp_name, "H_auxkernel"), params);
413 }
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 RHOEA
Definition: THMNames.h:30
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string PRESSURE
Definition: THMNames.h:27
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29
static const std::string SPECIFIC_TOTAL_ENTHALPY
Definition: THMNames.h:37
const ExecFlagType EXEC_INITIAL

◆ addSpecificTotalEnthalpyIC()

void FlowModel1PhaseBase::addSpecificTotalEnthalpyIC ( )
protectedvirtualinherited

Definition at line 179 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions().

180 {
181  const std::string class_name = "SpecificTotalEnthalpyIC";
182  InputParameters params = _factory.getValidParams(class_name);
183  params.set<VariableName>("variable") = THM::SPECIFIC_TOTAL_ENTHALPY;
184  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
185  params.set<std::vector<VariableName>>("p") = {THM::PRESSURE};
186  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
187  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
188  params.set<std::vector<VariableName>>("A") = {THM::AREA};
189  _sim.addSimInitialCondition(class_name, genName(_comp_name, "H_ic"), params);
190 }
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 RHOEA
Definition: THMNames.h:30
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string PRESSURE
Definition: THMNames.h:27
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29
static const std::string SPECIFIC_TOTAL_ENTHALPY
Definition: THMNames.h:37

◆ addSpecificVolumeAux()

void FlowModel1PhaseBase::addSpecificVolumeAux ( )
protectedvirtualinherited

Definition at line 374 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

375 {
376  const std::string class_name = "THMSpecificVolumeAux";
377  InputParameters params = _factory.getValidParams(class_name);
378  params.set<AuxVariableName>("variable") = THM::SPECIFIC_VOLUME;
379  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
380  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
381  params.set<std::vector<VariableName>>("A") = {THM::AREA};
382  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
383  _sim.addAuxKernel(class_name, genName(_comp_name, "v_aux"), params);
384 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
static const std::string SPECIFIC_VOLUME
Definition: THMNames.h:38
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29
const ExecFlagType EXEC_INITIAL

◆ addSpecificVolumeIC()

void FlowModel1PhaseBase::addSpecificVolumeIC ( )
protectedvirtualinherited

Definition at line 154 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions().

155 {
156  const std::string class_name = "SpecificVolumeIC";
157  InputParameters params = _factory.getValidParams(class_name);
158  params.set<VariableName>("variable") = THM::SPECIFIC_VOLUME;
159  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
160  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
161  params.set<std::vector<VariableName>>("A") = {THM::AREA};
162  _sim.addSimInitialCondition(class_name, genName(_comp_name, "v_ic"), params);
163 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
static const std::string SPECIFIC_VOLUME
Definition: THMNames.h:38
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29

◆ addTemperatureAux()

void FlowModelSinglePhase::addTemperatureAux ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 191 of file FlowModelSinglePhase.C.

192 {
193  const std::string class_name = "TemperatureAux";
194  InputParameters params = _factory.getValidParams(class_name);
195  params.set<AuxVariableName>("variable") = TEMPERATURE;
196  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
197  params.set<std::vector<VariableName>>("e") = {SPECIFIC_INTERNAL_ENERGY};
198  params.set<std::vector<VariableName>>("v") = {SPECIFIC_VOLUME};
199  params.set<UserObjectName>("fp") = _fp_name;
200  _sim.addAuxKernel(class_name, genName(_comp_name, "T_auxkernel"), params);
201 }
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 TEMPERATURE
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
static const std::string SPECIFIC_VOLUME
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string SPECIFIC_INTERNAL_ENERGY
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addTimeDerivativeKernelIfTransient()

void FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient ( const VariableName &  var_name)
protectedinherited

Adds a time derivative kernel for the given variable if problem is transient.

Definition at line 225 of file FlowModel1PhaseBase.C.

Referenced by addKernels(), FlowModelGasMix::addKernels(), and FlowModel1PhaseBase::addKernels().

226 {
228  {
229  const std::string class_name = "ADTimeDerivative";
230  InputParameters params = _factory.getValidParams(class_name);
231  params.set<NonlinearVariableName>("variable") = var_name;
232  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
233  _sim.addKernel(class_name, genName(_comp_name, var_name + "_td"), params);
234  }
235 }
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.
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
bool problemIsTransient() const
Whether the problem is transient.
Definition: Component.h:264
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addVariables()

void FlowModelSinglePhase::addVariables ( )
overridevirtual

Add variables the model uses.

Reimplemented from FlowModel1PhaseBase.

Definition at line 88 of file FlowModelSinglePhase.C.

89 {
91 
92  // Add passive transport variables
93  const auto scaling_factor_passives =
94  _flow_channel.isParamSetByUser("scaling_factor_passives")
95  ? _flow_channel.getParam<std::vector<Real>>("scaling_factor_passives")
96  : std::vector<Real>(_passives_times_area_names.size(), 1.0);
97  mooseAssert(scaling_factor_passives.size() == _passives_times_area_names.size(),
98  "'scaling_factor_passives' size must match number of passives.");
99  for (const auto i : index_range(_passives_times_area_names))
100  _sim.addSimVariable(true,
102  _fe_type,
104  scaling_factor_passives[i]);
105 }
const T & getParam(const std::string &name) const
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
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...
Definition: Simulation.C:271
const libMesh::FEType & _fe_type
The type of FE used for flow.
Definition: FlowModel.h:62
virtual void addVariables() override
Add variables the model uses.
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
THMProblem & _sim
Definition: FlowModel.h:53
bool isParamSetByUser(const std::string &name) const
auto index_range(const T &sizable)

◆ addVelocityAux()

void FlowModel1PhaseBase::addVelocityAux ( )
protectedvirtualinherited

Definition at line 328 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

329 {
331  {
332  std::vector<AuxVariableName> var_names = {THM::VELOCITY_X, THM::VELOCITY_Y, THM::VELOCITY_Z};
333  for (const auto i : make_range(Moose::dim))
334  {
335  const std::string class_name = "ADVectorVelocityComponentAux";
336  InputParameters params = _factory.getValidParams(class_name);
337  params.set<AuxVariableName>("variable") = var_names[i];
338  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
339  params.set<std::vector<VariableName>>("arhoA") = {THM::RHOA};
340  params.set<std::vector<VariableName>>("arhouA") = {THM::RHOUA};
341  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
342  params.set<unsigned int>("component") = i;
343  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
344  _sim.addAuxKernel(class_name, genName(_comp_name, i, "vel_vec"), params);
345  }
346  }
347  else
348  {
349  const std::string class_name = "QuotientAux";
350  InputParameters params = _factory.getValidParams(class_name);
351  params.set<AuxVariableName>("variable") = THM::VELOCITY;
352  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
353  params.set<std::vector<VariableName>>("numerator") = {THM::RHOUA};
354  params.set<std::vector<VariableName>>("denominator") = {THM::RHOA};
355  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
356  _sim.addAuxKernel(class_name, genName(_comp_name, "vel"), params);
357  }
358 }
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.
const bool & _output_vector_velocity
True if we output velocity as a vector-value field, false for outputting velocity as a scalar...
Definition: FlowModel.h:82
static const std::string VELOCITY_Z
Definition: THMNames.h:46
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
static constexpr std::size_t dim
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string VELOCITY_Y
Definition: THMNames.h:45
static const std::string VELOCITY
Definition: THMNames.h:43
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string DIRECTION
Definition: THMNames.h:17
static const std::string VELOCITY_X
Definition: THMNames.h:44
IntRange< T > make_range(T beg, T end)
static const std::string RHOUA
Definition: THMNames.h:31
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
static const std::string RHOA
Definition: THMNames.h:29
const ExecFlagType EXEC_INITIAL

◆ addVelocityIC()

void FlowModel1PhaseBase::addVelocityIC ( )
protectedvirtualinherited

Definition at line 133 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions().

134 {
136  {
137  std::vector<VariableName> var_name = {THM::VELOCITY_X, THM::VELOCITY_Y, THM::VELOCITY_Z};
138  for (const auto i : make_range(Moose::dim))
139  {
140  const std::string class_name = "VectorVelocityIC";
141  InputParameters params = _factory.getValidParams(class_name);
142  params.set<VariableName>("variable") = var_name[i];
143  params.set<FunctionName>("vel_fn") = _flow_channel.getParam<FunctionName>("initial_vel");
144  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
145  params.set<unsigned int>("component") = i;
146  _sim.addSimInitialCondition(class_name, genName(_comp_name, "vel_ic", i), params);
147  }
148  }
149  else
150  addFunctionIC(THM::VELOCITY, _flow_channel.getParam<FunctionName>("initial_vel"));
151 }
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.
const bool & _output_vector_velocity
True if we output velocity as a vector-value field, false for outputting velocity as a scalar...
Definition: FlowModel.h:82
const T & getParam(const std::string &name) const
static const std::string VELOCITY_Z
Definition: THMNames.h:46
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
static constexpr std::size_t dim
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
static const std::string VELOCITY_Y
Definition: THMNames.h:45
static const std::string VELOCITY
Definition: THMNames.h:43
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition: Simulation.C:495
static const std::string VELOCITY_X
Definition: THMNames.h:44
IntRange< T > make_range(T beg, T end)
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds an IC from a function.

◆ genName() [1/4]

std::string NamingInterface::genName ( const std::string &  prefix,
unsigned int  id,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from a prefix, number and possible suffix.

Definition at line 29 of file NamingInterface.h.

Referenced by Closures1PhaseBase::addAverageWallTemperatureMaterial(), FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowChannelBase::addCommonObjects(), Simulation::addComponentScalarIC(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), Simulation::addConstantIC(), Simulation::addConstantScalarIC(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowChannel1Phase::addFlowChannel1PhaseFunctorMaterial(), addFluidPropertiesMaterials(), FlowModelGasMix::addFluidPropertiesMaterials(), VolumeJunctionCoupledFlux1Phase::addFluxTransfer(), FlowModel1PhaseBase::addFunctionIC(), Simulation::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), HeatTransferBase::addHeatedPerimeter(), HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1PhaseBase::addHydraulicDiameterMaterial(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), Shaft::addMooseObjects(), TotalPower::addMooseObjects(), FlowChannel1Phase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), addPassiveTransportIC(), addPressureAux(), FlowModelGasMix::addPressureAux(), VolumeJunctionCoupledFlux1Phase::addPropertyTransfer(), addRDGAdvectionDGKernels(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), addSlopeReconstructionMaterial(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), addTemperatureAux(), FlowModelGasMix::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowChannelBase::addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), VolumeJunction1Phase::addVolumeJunctionIC(), VolumeJunctionCoupledFlux1Phase::addVolumeJunctionKernel(), Closures1PhaseTHM::addWallFFMaterial(), Closures1PhaseBase::addWallFrictionFunctionMaterial(), Closures1PhaseTHM::addWallHTCMaterial(), ClosuresBase::addWallTemperatureFromAuxMaterial(), Closures1PhaseSimple::addWallTemperatureFromHeatFluxMaterial(), FlowBoundary1Phase::addWeakBCs(), FlowBoundaryGasMix::addWeakBCs(), ClosuresBase::addWeightedAverageMaterial(), FlowModelGasMix::addXiRhoAIC(), ClosuresBase::addZeroMaterial(), Component2D::buildMesh(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), HeatSourceBase::HeatSourceBase(), Component::nonlinearConvergenceName(), and Simulation::setupInitialConditionsFromFile().

30  {
31  std::stringstream ss;
32  ss << prefix << ":" << id;
33  if (!suffix.empty())
34  ss << ":" << suffix;
35  return ss.str();
36  }

◆ genName() [2/4]

std::string NamingInterface::genName ( const std::string &  prefix,
unsigned int  i,
unsigned int  j,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from a prefix, 2 numbers and possible suffix.

Definition at line 41 of file NamingInterface.h.

45  {
46  std::stringstream ss;
47  ss << prefix << ":" << i << ":" << j;
48  if (!suffix.empty())
49  ss << ":" << suffix;
50  return ss.str();
51  }
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")

◆ genName() [3/4]

std::string NamingInterface::genName ( const std::string &  prefix,
const std::string &  name,
unsigned int  i 
) const
inlineinherited

Build a name from 2 strings and a number.

Definition at line 56 of file NamingInterface.h.

57  {
58  std::stringstream ss;
59  ss << prefix << ":" << name << ":" << i;
60  return ss.str();
61  }
const std::string name
Definition: Setup.h:21

◆ genName() [4/4]

std::string NamingInterface::genName ( const std::string &  prefix,
const std::string &  middle,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from strings.

Definition at line 66 of file NamingInterface.h.

69  {
70  std::stringstream ss;
71  ss << prefix << ":" << middle;
72  if (!suffix.empty())
73  ss << ":" << suffix;
74  return ss.str();
75  }

◆ genSafeName()

std::string NamingInterface::genSafeName ( const std::string &  prefix,
const std::string &  middle,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from strings that is safe to use in input files (i.e.

can be exposed to users)

Definition at line 80 of file NamingInterface.h.

Referenced by HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), and HSBoundaryExternalAppHeatFlux::addMooseObjects().

83  {
84  std::stringstream ss;
85  ss << prefix << "_" << middle;
86  if (!suffix.empty())
87  ss << "_" << suffix;
88  return ss.str();
89  }

◆ getScalingFactorRhoA()

Real FlowModelSinglePhase::getScalingFactorRhoA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 70 of file FlowModelSinglePhase.C.

71 {
72  return _scaling_factors[0];
73 }
const std::vector< Real > _scaling_factors
Scaling factors for each solution variable (rhoA, rhouA, rhoEA)

◆ getScalingFactorRhoEA()

Real FlowModelSinglePhase::getScalingFactorRhoEA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 82 of file FlowModelSinglePhase.C.

83 {
84  return _scaling_factors[2];
85 }
const std::vector< Real > _scaling_factors
Scaling factors for each solution variable (rhoA, rhouA, rhoEA)

◆ getScalingFactorRhoUA()

Real FlowModelSinglePhase::getScalingFactorRhoUA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 76 of file FlowModelSinglePhase.C.

77 {
78  return _scaling_factors[1];
79 }
const std::vector< Real > _scaling_factors
Scaling factors for each solution variable (rhoA, rhouA, rhoEA)

◆ getVariableFn()

const FunctionName & FlowModel::getVariableFn ( const FunctionName &  fn_param_name)
protectedinherited

Definition at line 56 of file FlowModel.C.

Referenced by addRhoEAIC().

57 {
58  const FunctionName & fn_name = _flow_channel.getParam<FunctionName>(fn_param_name);
59  const Function & fn = _sim.getFunction(fn_name);
60 
61  if (dynamic_cast<const ConstantFunction *>(&fn) != nullptr)
62  {
63  _flow_channel.connectObject(fn.parameters(), fn_name, fn_param_name, "value");
64  }
65 
66  return fn_name;
67 }
void connectObject(const InputParameters &obj_params, const std::string &obj_name, const std::string &param) const
Connects a controllable parameter of the component to a controllable parameter of a constituent objec...
Definition: Component.C:98
const T & getParam(const std::string &name) const
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
virtual Function & getFunction(const std::string &name, const THREAD_ID tid=0)
THMProblem & _sim
Definition: FlowModel.h:53

◆ ICParametersAreValid()

bool FlowModel1PhaseBase::ICParametersAreValid ( ) const
protectedinherited

Returns true if all of the IC parameters are valid.

Definition at line 85 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addInitialConditions(), and FlowModelGasMix::addInitialConditions().

86 {
87  const auto & flow_channel_1phase_base =
88  dynamic_cast<const FlowChannel1PhaseBase &>(_flow_channel);
89 
90  for (const auto & param : flow_channel_1phase_base.ICParameters())
91  if (!_flow_channel.isParamValid(param))
92  return false;
93 
94  return true;
95 }
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
bool isParamValid(const std::string &name) const
Base class for single-phase flow channels.

◆ init()

virtual void FlowModel::init ( )
inlinevirtualinherited

Initialize the model.

Definition at line 35 of file FlowModel.h.

35 {}

◆ passiveTransportSolutionVariableNames()

const std::vector<VariableName>& FlowModelSinglePhase::passiveTransportSolutionVariableNames ( ) const
inline

Definition at line 29 of file FlowModelSinglePhase.h.

30  {
32  }
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].

◆ solutionVariableNames()

std::vector< VariableName > FlowModelSinglePhase::solutionVariableNames ( ) const
overridevirtual

Returns the solution variable names for the flow model.

Implements FlowModel1PhaseBase.

Definition at line 108 of file FlowModelSinglePhase.C.

Referenced by addRDGAdvectionDGKernels().

109 {
110  std::vector<VariableName> vars = {RHOA, RHOUA, RHOEA};
111  vars.insert(vars.end(), _passives_times_area_names.begin(), _passives_times_area_names.end());
112  return vars;
113 }
char ** vars
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
static const std::string RHOUA
static const std::string RHOA
static const std::string RHOEA

◆ validParams()

InputParameters FlowModelSinglePhase::validParams ( )
static

Definition at line 41 of file FlowModelSinglePhase.C.

42 {
44 
45  MooseEnum wave_speed_formulation("einfeldt davis", "einfeldt");
46  params.addParam<MooseEnum>(
47  "wave_speed_formulation", wave_speed_formulation, "Method for computing wave speeds");
48 
49  params.addRequiredParam<std::vector<Real>>(
50  "scaling_factor_1phase",
51  "Scaling factors for each single phase variable (rhoA, rhouA, rhoEA)");
52 
53  return params;
54 }
static InputParameters validParams()
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)

Member Data Documentation

◆ _comp_name

const std::string FlowModel::_comp_name
protectedinherited

The component name.

Definition at line 68 of file FlowModel.h.

Referenced by FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), addFluidPropertiesMaterials(), FlowModelGasMix::addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), addPassiveTransportIC(), addPressureAux(), FlowModelGasMix::addPressureAux(), addRDGAdvectionDGKernels(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), addSlopeReconstructionMaterial(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), addTemperatureAux(), FlowModelGasMix::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), and FlowModelGasMix::addXiRhoAIC().

◆ _derivative_vars

std::vector<VariableName> FlowModel::_derivative_vars
protectedinherited

◆ _factory

Factory& FlowModel::_factory
protectedinherited

The Factory associated with the MooseApp.

Definition at line 56 of file FlowModel.h.

Referenced by FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), addFluidPropertiesMaterials(), FlowModelGasMix::addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), addNumericalFluxUserObject(), FlowModelGasMix::addNumericalFluxUserObject(), addPassiveTransportIC(), addPressureAux(), FlowModelGasMix::addPressureAux(), addRDGAdvectionDGKernels(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), addSlopeReconstructionMaterial(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), addTemperatureAux(), FlowModelGasMix::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), and FlowModelGasMix::addXiRhoAIC().

◆ _fe_type

const libMesh::FEType& FlowModel::_fe_type
protectedinherited

The type of FE used for flow.

Definition at line 62 of file FlowModel.h.

Referenced by FlowModel::addCommonVariables(), FlowModel1PhaseBase::addVariables(), FlowModelGasMix::addVariables(), and addVariables().

◆ _flow_channel

FlowChannelBase& FlowModel::_flow_channel
protectedinherited

The flow channel component that built this class.

Definition at line 59 of file FlowModel.h.

Referenced by FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowModel::addCommonVariables(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addDGKernels(), FlowModel1PhaseBase::addEnergyGravityKernel(), addFluidPropertiesMaterials(), FlowModelGasMix::addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), addInitialConditions(), FlowModel1PhaseBase::addInitialConditions(), FlowModelGasMix::addInitialConditions(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), addPassiveTransportIC(), addPressureAux(), FlowModelGasMix::addPressureAux(), addRDGAdvectionDGKernels(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), addSlopeReconstructionMaterial(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), addTemperatureAux(), FlowModelGasMix::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModel1PhaseBase::addVariables(), addVariables(), FlowModelGasMix::addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), FlowModelGasMix::addXiRhoAIC(), FlowModelSinglePhase(), FlowModel::getVariableFn(), and FlowModel1PhaseBase::ICParametersAreValid().

◆ _fp_name

const UserObjectName FlowModel::_fp_name
protectedinherited

◆ _gravity_magnitude

const Real FlowModel::_gravity_magnitude
protectedinherited

Gravitational acceleration magnitude.

Definition at line 73 of file FlowModel.h.

◆ _gravity_vector

const RealVectorValue& FlowModel::_gravity_vector
protectedinherited

Gravitational acceleration vector.

Definition at line 71 of file FlowModel.h.

Referenced by FlowModel1PhaseBase::addEnergyGravityKernel(), and FlowModel1PhaseBase::addMomentumGravityKernel().

◆ _numerical_flux_name

const UserObjectName FlowModel1PhaseBase::_numerical_flux_name
protectedinherited

◆ _output_vector_velocity

const bool& FlowModel::_output_vector_velocity
protectedinherited

True if we output velocity as a vector-value field, false for outputting velocity as a scalar.

Definition at line 82 of file FlowModel.h.

Referenced by FlowModel1PhaseBase::addVariables(), FlowModel1PhaseBase::addVelocityAux(), and FlowModel1PhaseBase::addVelocityIC().

◆ _passives_times_area_names

std::vector<VariableName> FlowModelSinglePhase::_passives_times_area_names
protected

◆ _rdg_slope_reconstruction

const MooseEnum FlowModel1PhaseBase::_rdg_slope_reconstruction
protectedinherited

Slope reconstruction type for rDG.

Definition at line 95 of file FlowModel1PhaseBase.h.

Referenced by addSlopeReconstructionMaterial(), and FlowModelGasMix::addSlopeReconstructionMaterial().

◆ _scaling_factors

const std::vector<Real> FlowModelSinglePhase::_scaling_factors
protected

Scaling factors for each solution variable (rhoA, rhouA, rhoEA)

Definition at line 55 of file FlowModelSinglePhase.h.

Referenced by getScalingFactorRhoA(), getScalingFactorRhoEA(), and getScalingFactorRhoUA().

◆ _sim

THMProblem& FlowModel::_sim
protectedinherited

Definition at line 53 of file FlowModel.h.

Referenced by FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowModel::addCommonVariables(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), addFluidPropertiesMaterials(), FlowModelGasMix::addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), addNumericalFluxUserObject(), FlowModelGasMix::addNumericalFluxUserObject(), addPassiveTransportIC(), addPressureAux(), FlowModelGasMix::addPressureAux(), addRDGAdvectionDGKernels(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), addSlopeReconstructionMaterial(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), addTemperatureAux(), FlowModelGasMix::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModelGasMix::addVariables(), FlowModel1PhaseBase::addVariables(), addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), FlowModelGasMix::addXiRhoAIC(), and FlowModel::getVariableFn().

◆ _solution_vars

std::vector<VariableName> FlowModel::_solution_vars
protectedinherited

Definition at line 76 of file FlowModel.h.

Referenced by FlowModel1PhaseBase::addVariables().

◆ AREA

const std::string FlowModel::AREA = THM::AREA
staticinherited

◆ AREA_LINEAR

const std::string FlowModel::AREA_LINEAR = THM::AREA_LINEAR
staticinherited

◆ DENSITY

const std::string FlowModelSinglePhase::DENSITY = THM::DENSITY
static

◆ DIRECTION

const std::string FlowModel::DIRECTION = THM::DIRECTION
staticinherited

Definition at line 110 of file FlowModel.h.

Referenced by addSlopeReconstructionMaterial().

◆ DYNAMIC_VISCOSITY

const std::string FlowModelSinglePhase::DYNAMIC_VISCOSITY = THM::DYNAMIC_VISCOSITY
static

◆ FRICTION_FACTOR_DARCY

const std::string FlowModelSinglePhase::FRICTION_FACTOR_DARCY = THM::FRICTION_FACTOR_DARCY
static

◆ HEAT_FLUX_PERIMETER

const std::string FlowModel::HEAT_FLUX_PERIMETER = THM::HEAT_FLUX_PERIMETER
staticinherited

◆ HEAT_FLUX_WALL

const std::string FlowModel::HEAT_FLUX_WALL = THM::HEAT_FLUX_WALL
staticinherited

◆ HEAT_TRANSFER_COEFFICIENT_WALL

const std::string FlowModelSinglePhase::HEAT_TRANSFER_COEFFICIENT_WALL
static

◆ HYDRAULIC_DIAMETER

const std::string FlowModelSinglePhase::HYDRAULIC_DIAMETER = THM::HYDRAULIC_DIAMETER
static

◆ NUSSELT_NUMBER

const std::string FlowModel::NUSSELT_NUMBER = THM::NUSSELT_NUMBER
staticinherited

Definition at line 106 of file FlowModel.h.

◆ PRESSURE

const std::string FlowModelSinglePhase::PRESSURE = THM::PRESSURE
static

◆ REYNOLDS_NUMBER

const std::string FlowModelSinglePhase::REYNOLDS_NUMBER = THM::REYNOLDS_NUMBER
static

Definition at line 82 of file FlowModelSinglePhase.h.

Referenced by ADReynoldsNumberMaterial::validParams().

◆ RHOA

const std::string FlowModelSinglePhase::RHOA = THM::RHOA
static

◆ RHOEA

const std::string FlowModelSinglePhase::RHOEA = THM::RHOEA
static

◆ RHOUA

const std::string FlowModelSinglePhase::RHOUA = THM::RHOUA
static

◆ SOUND_SPEED

const std::string FlowModelSinglePhase::SOUND_SPEED = THM::SOUND_SPEED
static

Definition at line 70 of file FlowModelSinglePhase.h.

◆ SPECIFIC_HEAT_CONSTANT_PRESSURE

const std::string FlowModelSinglePhase::SPECIFIC_HEAT_CONSTANT_PRESSURE
static

◆ SPECIFIC_HEAT_CONSTANT_VOLUME

const std::string FlowModelSinglePhase::SPECIFIC_HEAT_CONSTANT_VOLUME
static
Initial value:

Definition at line 72 of file FlowModelSinglePhase.h.

◆ SPECIFIC_INTERNAL_ENERGY

const std::string FlowModelSinglePhase::SPECIFIC_INTERNAL_ENERGY = THM::SPECIFIC_INTERNAL_ENERGY
static

◆ SPECIFIC_TOTAL_ENTHALPY

const std::string FlowModelSinglePhase::SPECIFIC_TOTAL_ENTHALPY = THM::SPECIFIC_TOTAL_ENTHALPY
static

Definition at line 74 of file FlowModelSinglePhase.h.

◆ SPECIFIC_VOLUME

const std::string FlowModelSinglePhase::SPECIFIC_VOLUME = THM::SPECIFIC_VOLUME
static

◆ SURFACE_TENSION

const std::string FlowModel::SURFACE_TENSION
staticinherited

Definition at line 107 of file FlowModel.h.

◆ TEMPERATURE

const std::string FlowModelSinglePhase::TEMPERATURE = THM::TEMPERATURE
static

◆ TEMPERATURE_WALL

const std::string FlowModel::TEMPERATURE_WALL = THM::TEMPERATURE_WALL
staticinherited

◆ THERMAL_CONDUCTIVITY

const std::string FlowModelSinglePhase::THERMAL_CONDUCTIVITY = THM::THERMAL_CONDUCTIVITY
static

◆ UNITY

const std::string FlowModel::UNITY = THM::UNITY
staticinherited

Definition at line 109 of file FlowModel.h.

Referenced by FlowModel::addCommonMooseObjects().

◆ VELOCITY

const std::string FlowModelSinglePhase::VELOCITY = THM::VELOCITY
static

◆ VELOCITY_X

const std::string FlowModelSinglePhase::VELOCITY_X = THM::VELOCITY_X
static

Definition at line 79 of file FlowModelSinglePhase.h.

◆ VELOCITY_Y

const std::string FlowModelSinglePhase::VELOCITY_Y = THM::VELOCITY_Y
static

Definition at line 80 of file FlowModelSinglePhase.h.

◆ VELOCITY_Z

const std::string FlowModelSinglePhase::VELOCITY_Z = THM::VELOCITY_Z
static

Definition at line 81 of file FlowModelSinglePhase.h.


The documentation for this class was generated from the following files: