https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Private Member Functions | Private 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.
 
virtual void addInitialConditions () override
 Add initial conditions.
 
virtual void addKernels () override
 Adds the kernels.
 
virtual std::vector< VariableName > solutionVariableNames () const override
 Returns the solution variable names for the flow model.
 
const std::vector< VariableName > & passiveTransportSolutionVariableNames () const
 
virtual void addMooseObjects () override
 Add MOOSE objects this model uses.
 
virtual void init ()
 Initialize the model.
 
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 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.
 
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.
 
std::string genName (const std::string &prefix, const std::string &name, unsigned int i) const
 Build a name from 2 strings and a number.
 
std::string genName (const std::string &prefix, const std::string &middle, const std::string &suffix="") const
 Build a name from strings.
 
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.
 

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.
 
virtual void addNumericalFluxUserObject () override
 Adds numerical flux user object.
 
virtual void addSlopeReconstructionMaterial () override
 Adds slope reconstruction material.
 
virtual void addRDGAdvectionDGKernels () override
 Adds DG kernels.
 
void addPassiveTransportIC (const VariableName &var, const FunctionName &ic_fn)
 Adds IC for a passive transport variable.
 
bool ICParametersAreValid () const
 Returns true if all of the IC parameters are valid.
 
void addFunctionIC (const VariableName &var_name, const FunctionName &function_name)
 Adds an IC from a function.
 
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.
 
virtual void addMomentumAreaGradientKernel ()
 
virtual void addMomentumFrictionKernel ()
 
virtual void addMomentumGravityKernel ()
 
virtual void addEnergyGravityKernel ()
 
virtual void addDGKernels ()
 Adds the DG kernels.
 
virtual void addHeatConductionDGKernel ()
 
virtual void addAuxKernels ()
 Adds the aux kernels.
 
virtual void addVelocityAux ()
 
virtual void addDensityAux ()
 
virtual void addSpecificVolumeAux ()
 
virtual void addSpecificInternalEnergyAux ()
 
virtual void addSpecificTotalEnthalpyAux ()
 
virtual void addFunctorMaterials ()
 Adds the functor materials.
 
virtual void addRDGMooseObjects ()
 Adds RDG objects.
 
virtual void addPostprocessors ()
 Adds post-processors.
 
const FunctionName & getVariableFn (const FunctionName &fn_param_name)
 
virtual void addCommonVariables ()
 Adds variables common to any flow model (A, P_hf, ...)
 
virtual void addCommonInitialConditions ()
 Adds initial conditions common to any flow model.
 
virtual void addCommonMooseObjects ()
 Adds common MOOSE objects.
 
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)
 
std::vector< VariableName > _passives_times_area_names
 Names of the passive transport solution variables, if any [amount/m].
 
const MooseEnum _rdg_slope_reconstruction
 Slope reconstruction type for rDG.
 
const UserObjectName _numerical_flux_name
 Numerical flux user object name.
 
THMProblem_sim
 
Factory_factory
 The Factory associated with the MooseApp.
 
FlowChannelBase_flow_channel
 The flow channel component that built this class.
 
const libMesh::FEType_fe_type
 The type of FE used for flow.
 
const UserObjectName _fp_name
 The name of the user object that defines fluid properties.
 
const std::string _comp_name
 The component name.
 
const RealVectorValue & _gravity_vector
 Gravitational acceleration vector.
 
const Real _gravity_magnitude
 Gravitational acceleration magnitude.
 
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.
 
const bool & _enabled
 
MooseApp_app
 
ActionFactory_action_factory
 
const std::string & _type
 
const std::string & _name
 
const InputParameters_pars
 
const Parallel::Communicator & _communicator
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 

Private Attributes

const ParallelParamObject_parent
 
const MooseBase_si_moose_base
 
const FEProblemBase_si_problem
 

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}
Base class for a flow model for a single-phase fluid.
std::vector< VariableName > _passives_times_area_names
Names of the passive transport solution variables, if any [amount/m].
const std::vector< Real > _scaling_factors
Scaling factors for each solution variable (rhoA, rhouA, rhoEA)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition FlowModel.h:59
const T & getParam(const std::string &name) const
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.

317{
325}
virtual void addSpecificTotalEnthalpyAux()
virtual void addTemperatureAux()=0
virtual void addPressureAux()=0
virtual void addSpecificInternalEnergyAux()
virtual void addVelocityAux()
virtual void addSpecificVolumeAux()

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

◆ addCommonInitialConditions()

void FlowModel::addCommonInitialConditions ( )
protectedvirtualinherited

Adds initial conditions common to any flow model.

Definition at line 80 of file FlowModel.C.

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}
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition Component.C:345
virtual bool hasFunction(const std::string &name, const THREAD_ID tid=0)
virtual Function & getFunction(const std::string &name, const THREAD_ID tid=0)
const FunctionName & getAreaFunctionName() const
Get the name of the function describing the flow channel area.
static const std::string AREA
Definition FlowModel.h:102
static const std::string AREA_LINEAR
Definition FlowModel.h:103
const std::string _comp_name
The component name.
Definition FlowModel.h:68
Factory & _factory
The Factory associated with the MooseApp.
Definition FlowModel.h:56
THMProblem & _sim
Definition FlowModel.h:53
virtual Real value(Real t, const Point &p) const
T & set(const std::string &name, bool quiet_mode=false)
bool isRestarting() const
bool isParamValid(const std::string &name) const
MooseApp & _app
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.
void addConstantIC(const VariableName &var_name, Real value, const std::vector< SubdomainName > &block_names)
Definition Simulation.C:512
void addFunctionIC(const VariableName &var_name, const std::string &func_name, const std::vector< SubdomainName > &block_names)
Definition Simulation.C:532
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
Definition Simulation.C:495

Referenced by FlowModel1PhaseBase::addInitialConditions().

◆ addCommonMooseObjects()

void FlowModel::addCommonMooseObjects ( )
protectedvirtualinherited

Adds common MOOSE objects.

Definition at line 110 of file FlowModel.C.

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}
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters &parameters)
static const std::string UNITY
Definition FlowModel.h:109
std::vector< VariableName > _derivative_vars
Definition FlowModel.h:79
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

Referenced by FlowModel1PhaseBase::addMooseObjects().

◆ addCommonVariables()

void FlowModel::addCommonVariables ( )
protectedvirtualinherited

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

Definition at line 70 of file FlowModel.C.

71{
72 const std::vector<SubdomainName> & subdomains = _flow_channel.getSubdomainNames();
73
74 _sim.addSimVariable(false, AREA, _fe_type, subdomains);
76 _sim.addSimVariable(false, AREA_LINEAR, FEType(FIRST, LAGRANGE), subdomains);
77}
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
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

Referenced by FlowModel1PhaseBase::addVariables().

◆ addDensityAux()

void FlowModel1PhaseBase::addDensityAux ( )
protectedvirtualinherited

Definition at line 361 of file FlowModel1PhaseBase.C.

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}
const ExecFlagType EXEC_TIMESTEP_END
const ExecFlagType EXEC_INITIAL
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
InputParameters getValidParams(const std::string &name) const
static const std::string AREA
Definition THMNames.h:14
static const std::string DENSITY
Definition THMNames.h:16
static const std::string RHOA
Definition THMNames.h:29

Referenced by FlowModel1PhaseBase::addAuxKernels().

◆ 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}
static const std::string DENSITY
static const std::string TEMPERATURE
static const std::string PRESSURE
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition FlowModel.h:65

◆ addDGKernels()

void FlowModel1PhaseBase::addDGKernels ( )
protectedvirtualinherited

Adds the DG kernels.

Reimplemented in FlowModelGasMix.

Definition at line 295 of file FlowModel1PhaseBase.C.

296{
297 if (_flow_channel.getParam<bool>("enable_heat_conduction"))
299}
virtual void addHeatConductionDGKernel()

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

◆ addEnergyGravityKernel()

void FlowModel1PhaseBase::addEnergyGravityKernel ( )
protectedvirtualinherited

Definition at line 280 of file FlowModel1PhaseBase.C.

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}
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
const RealVectorValue & _gravity_vector
Gravitational acceleration vector.
Definition FlowModel.h:71
static const std::string DIRECTION
Definition THMNames.h:17
static const std::string RHOEA
Definition THMNames.h:30
static const std::string VELOCITY
Definition THMNames.h:43
VectorValue< Real > RealVectorValue

Referenced by FlowModel1PhaseBase::addKernels().

◆ 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}
static const std::string RHOUA
static const std::string RHOA
static const std::string DYNAMIC_VISCOSITY
static const std::string SPECIFIC_INTERNAL_ENERGY
static const std::string SPECIFIC_VOLUME
static const std::string RHOEA

◆ 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.

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}

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

◆ addFunctorMaterials()

virtual void FlowModel1PhaseBase::addFunctorMaterials ( )
inlineprotectedvirtualinherited

Adds the functor materials.

Definition at line 77 of file FlowModel1PhaseBase.h.

77{}

Referenced by FlowModel1PhaseBase::addMooseObjects().

◆ addHeatConductionDGKernel()

void FlowModel1PhaseBase::addHeatConductionDGKernel ( )
protectedvirtualinherited

Definition at line 302 of file FlowModel1PhaseBase.C.

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}
virtual void addDGKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
const std::string & name() const
static const std::string TEMPERATURE
Definition THMNames.h:39
static const std::string THERMAL_CONDUCTIVITY
Definition THMNames.h:41

Referenced by FlowModel1PhaseBase::addDGKernels().

◆ 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.

◆ 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}
virtual void addKernels()
Adds the kernels.
void addTimeDerivativeKernelIfTransient(const VariableName &var_name)
Adds a time derivative kernel for the given variable if problem is transient.

◆ addMomentumAreaGradientKernel()

void FlowModel1PhaseBase::addMomentumAreaGradientKernel ( )
protectedvirtualinherited

Definition at line 238 of file FlowModel1PhaseBase.C.

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}
static const std::string AREA_LINEAR
Definition THMNames.h:15
static const std::string RHOUA
Definition THMNames.h:31
static const std::string PRESSURE
Definition THMNames.h:27

Referenced by FlowModel1PhaseBase::addKernels().

◆ addMomentumFrictionKernel()

void FlowModel1PhaseBase::addMomentumFrictionKernel ( )
protectedvirtualinherited

Definition at line 251 of file FlowModel1PhaseBase.C.

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}
static const std::string FRICTION_FACTOR_DARCY
Definition THMNames.h:19
static const std::string HYDRAULIC_DIAMETER
Definition THMNames.h:23

Referenced by FlowModel1PhaseBase::addKernels().

◆ addMomentumGravityKernel()

void FlowModel1PhaseBase::addMomentumGravityKernel ( )
protectedvirtualinherited

Definition at line 266 of file FlowModel1PhaseBase.C.

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}

Referenced by FlowModel1PhaseBase::addKernels().

◆ 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();
205}
virtual void addFunctorMaterials()
Adds the functor materials.
virtual void addPostprocessors()
Adds post-processors.
virtual void addFluidPropertiesMaterials()=0
Adds materials to compute fluid properties.
virtual void addRDGMooseObjects()
Adds RDG objects.
virtual void addAuxKernels()
Adds the aux kernels.
virtual void addNumericalFluxUserObject()=0
Adds numerical flux user object.
virtual void addDGKernels()
Adds the DG 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}
const ExecFlagType EXEC_LINEAR
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 _numerical_flux_name
Numerical flux user object name.
void applySpecificParameters(const InputParameters &common, const std::vector< std::string > &include, bool allow_private=false)
const InputParameters & parameters() const

◆ 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.

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}

Referenced by addInitialConditions().

◆ addPostprocessors()

virtual void FlowModel1PhaseBase::addPostprocessors ( )
inlineprotectedvirtualinherited

Adds post-processors.

Definition at line 92 of file FlowModel1PhaseBase.h.

92{}

Referenced by FlowModel1PhaseBase::addMooseObjects().

◆ 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}

◆ 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}
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

◆ addRDGMooseObjects()

void FlowModel1PhaseBase::addRDGMooseObjects ( )
protectedvirtualinherited

Adds RDG objects.

Definition at line 416 of file FlowModel1PhaseBase.C.

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

Referenced by FlowModel1PhaseBase::addMooseObjects().

◆ addRhoAIC()

void FlowModel1PhaseBase::addRhoAIC ( )
protectedvirtualinherited

Definition at line 110 of file FlowModel1PhaseBase.C.

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}

Referenced by FlowModel1PhaseBase::addInitialConditions().

◆ 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}
const FunctionName & getVariableFn(const FunctionName &fn_param_name)
Definition FlowModel.C:56

◆ addRhoUAIC()

void FlowModel1PhaseBase::addRhoUAIC ( )
protectedvirtualinherited

Definition at line 121 of file FlowModel1PhaseBase.C.

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}

Referenced by FlowModel1PhaseBase::addInitialConditions().

◆ 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}
const MooseEnum _rdg_slope_reconstruction
Slope reconstruction type for rDG.
static const std::string DIRECTION
Definition FlowModel.h:110

◆ addSpecificInternalEnergyAux()

void FlowModel1PhaseBase::addSpecificInternalEnergyAux ( )
protectedvirtualinherited

Definition at line 387 of file FlowModel1PhaseBase.C.

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}
static const std::string SPECIFIC_INTERNAL_ENERGY
Definition THMNames.h:36

Referenced by FlowModel1PhaseBase::addAuxKernels().

◆ addSpecificInternalEnergyIC()

void FlowModel1PhaseBase::addSpecificInternalEnergyIC ( )
protectedvirtualinherited

Definition at line 166 of file FlowModel1PhaseBase.C.

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}

Referenced by FlowModel1PhaseBase::addInitialConditions().

◆ addSpecificTotalEnthalpyAux()

void FlowModel1PhaseBase::addSpecificTotalEnthalpyAux ( )
protectedvirtualinherited

Definition at line 401 of file FlowModel1PhaseBase.C.

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}
static const std::string SPECIFIC_TOTAL_ENTHALPY
Definition THMNames.h:37

Referenced by FlowModel1PhaseBase::addAuxKernels().

◆ addSpecificTotalEnthalpyIC()

void FlowModel1PhaseBase::addSpecificTotalEnthalpyIC ( )
protectedvirtualinherited

Definition at line 179 of file FlowModel1PhaseBase.C.

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}

Referenced by FlowModel1PhaseBase::addInitialConditions().

◆ addSpecificVolumeAux()

void FlowModel1PhaseBase::addSpecificVolumeAux ( )
protectedvirtualinherited

Definition at line 374 of file FlowModel1PhaseBase.C.

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}
static const std::string SPECIFIC_VOLUME
Definition THMNames.h:38

Referenced by FlowModel1PhaseBase::addAuxKernels().

◆ addSpecificVolumeIC()

void FlowModel1PhaseBase::addSpecificVolumeIC ( )
protectedvirtualinherited

Definition at line 154 of file FlowModel1PhaseBase.C.

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}

Referenced by FlowModel1PhaseBase::addInitialConditions().

◆ 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}

◆ 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.

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}
bool problemIsTransient() const
Whether the problem is transient.
Definition Component.h:264

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

◆ 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,
103 _flow_channel.getSubdomainNames(),
104 scaling_factor_passives[i]);
105}
virtual void addVariables() override
Add variables the model uses.
bool isParamSetByUser(const std::string &name) const

◆ addVelocityAux()

void FlowModel1PhaseBase::addVelocityAux ( )
protectedvirtualinherited

Definition at line 328 of file FlowModel1PhaseBase.C.

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}
unsigned int dim
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_Y
Definition THMNames.h:45
static const std::string VELOCITY_X
Definition THMNames.h:44
static const std::string VELOCITY_Z
Definition THMNames.h:46
IntRange< T > make_range(T beg, T end)

Referenced by FlowModel1PhaseBase::addAuxKernels().

◆ addVelocityIC()

void FlowModel1PhaseBase::addVelocityIC ( )
protectedvirtualinherited

Definition at line 133 of file FlowModel1PhaseBase.C.

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}
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds an IC from a function.

Referenced by FlowModel1PhaseBase::addInitialConditions().

◆ genName() [1/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 }

◆ genName() [2/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() [3/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 }

◆ genName() [4/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.

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

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(), FlowModelGasMix::addFluidPropertiesMaterials(), 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(), FlowChannel1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), Shaft::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), addPassiveTransportIC(), FlowModelGasMix::addPressureAux(), addPressureAux(), VolumeJunctionCoupledFlux1Phase::addPropertyTransfer(), FlowModelGasMix::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelGasMix::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelGasMix::addTemperatureAux(), 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(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), Component2D::buildMesh(), HeatSourceBase::HeatSourceBase(), Component::nonlinearConvergenceName(), and Simulation::setupInitialConditionsFromFile().

◆ 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.

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

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

◆ getScalingFactorRhoA()

Real FlowModelSinglePhase::getScalingFactorRhoA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 70 of file FlowModelSinglePhase.C.

71{
72 return _scaling_factors[0];
73}

◆ getScalingFactorRhoEA()

Real FlowModelSinglePhase::getScalingFactorRhoEA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 82 of file FlowModelSinglePhase.C.

83{
84 return _scaling_factors[2];
85}

◆ getScalingFactorRhoUA()

Real FlowModelSinglePhase::getScalingFactorRhoUA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 76 of file FlowModelSinglePhase.C.

77{
78 return _scaling_factors[1];
79}

◆ getVariableFn()

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

Definition at line 56 of file FlowModel.C.

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

Referenced by addRhoEAIC().

◆ ICParametersAreValid()

bool FlowModel1PhaseBase::ICParametersAreValid ( ) const
protectedinherited

Returns true if all of the IC parameters are valid.

Definition at line 85 of file FlowModel1PhaseBase.C.

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())
92 return false;
93
94 return true;
95}
Base class for single-phase flow channels.
if(subdm)

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

◆ 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 }

◆ 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.

109{
110 std::vector<VariableName> vars = {RHOA, RHOUA, RHOEA};
112 return vars;
113}
char ** vars

Referenced by addRDGAdvectionDGKernels().

◆ 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 addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, 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(), FlowModelGasMix::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), addPassiveTransportIC(), FlowModelGasMix::addPressureAux(), addPressureAux(), FlowModelGasMix::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelGasMix::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelGasMix::addTemperatureAux(), 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(), FlowModelGasMix::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), FlowModelGasMix::addNumericalFluxUserObject(), addNumericalFluxUserObject(), addPassiveTransportIC(), FlowModelGasMix::addPressureAux(), addPressureAux(), FlowModelGasMix::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelGasMix::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelGasMix::addTemperatureAux(), 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(), FlowModelGasMix::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), FlowModel1PhaseBase::addInitialConditions(), FlowModelGasMix::addInitialConditions(), addInitialConditions(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), addPassiveTransportIC(), FlowModelGasMix::addPressureAux(), addPressureAux(), FlowModelGasMix::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelGasMix::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelGasMix::addTemperatureAux(), addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModel1PhaseBase::addVariables(), FlowModelGasMix::addVariables(), 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 FlowModelGasMix::addSlopeReconstructionMaterial(), and 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(), FlowModelGasMix::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), FlowModelGasMix::addNumericalFluxUserObject(), addNumericalFluxUserObject(), addPassiveTransportIC(), FlowModelGasMix::addPressureAux(), addPressureAux(), FlowModelGasMix::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelGasMix::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelGasMix::addTemperatureAux(), addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModel1PhaseBase::addVariables(), FlowModelGasMix::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:
=
static const std::string SPECIFIC_HEAT_CONSTANT_VOLUME
Definition THMNames.h:35

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: