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
FlowModelGasMix Class Reference

1D flow model for a binary gas mixture More...

#include <FlowModelGasMix.h>

Inheritance diagram for FlowModelGasMix:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 FlowModelGasMix (const InputParameters &params)
 
virtual void addVariables () override
 Add variables the model uses. More...
 
virtual void addInitialConditions () override
 Add initial conditions. More...
 
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
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T * queryParam (const std::string &name) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (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
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) 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 ()
 

Public Attributes

const ConsoleStream _console
 

Static Public Attributes

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
 

Protected Member Functions

virtual Real getScalingFactorRhoA () const override
 
virtual Real getScalingFactorRhoUA () const override
 
virtual Real getScalingFactorRhoEA () const override
 
virtual std::vector< VariableName > solutionVariableNames () const override
 Returns the solution variable names for the flow model. More...
 
virtual void addXiRhoAIC ()
 
virtual void addRhoEAIC () override
 
virtual void addDensityIC () override
 
virtual void addKernels () override
 Adds the kernels. More...
 
virtual void addDGKernels () override
 Adds the DG kernels. More...
 
virtual void addMassDiffusionSpeciesDGKernel ()
 
virtual void addMassDiffusionEnergyDGKernel ()
 
virtual void addAuxKernels () override
 Adds the aux kernels. More...
 
virtual void addPressureAux () override
 
virtual void addTemperatureAux () override
 
virtual void addMassFractionAux ()
 
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...
 
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 addVelocityAux ()
 
virtual void addDensityAux ()
 
virtual void addSpecificVolumeAux ()
 
virtual void addSpecificInternalEnergyAux ()
 
virtual void addSpecificTotalEnthalpyAux ()
 
virtual void addRDGMooseObjects ()
 Adds RDG objects. 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...
 

Protected Attributes

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
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
ActionFactory_action_factory
 
const Parallel::Communicator & _communicator
 

Detailed Description

1D flow model for a binary gas mixture

Definition at line 17 of file FlowModelGasMix.h.

Constructor & Destructor Documentation

◆ FlowModelGasMix()

FlowModelGasMix::FlowModelGasMix ( const InputParameters params)

Definition at line 31 of file FlowModelGasMix.C.

31 : FlowModel1PhaseBase(params) {}
FlowModel1PhaseBase(const InputParameters &params)

Member Function Documentation

◆ addAuxKernels()

void FlowModelGasMix::addAuxKernels ( )
overrideprotectedvirtual

Adds the aux kernels.

Reimplemented from FlowModel1PhaseBase.

Definition at line 183 of file FlowModelGasMix.C.

184 {
187 }
virtual void addMassFractionAux()
virtual void addAuxKernels()
Adds the aux kernels.

◆ 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  _flow_channel.makeFunctionControllableIfConstant(area_function, "Area", "value");
94  }
95  else
96  {
97  _sim.addFunctionIC(AREA_LINEAR, area_function, block);
98 
99  {
100  const std::string class_name = "FunctionNodalAverageIC";
101  InputParameters params = _factory.getValidParams(class_name);
102  params.set<VariableName>("variable") = AREA;
103  params.set<std::vector<SubdomainName>>("block") = block;
104  params.set<FunctionName>("function") = area_function;
105  _sim.addSimInitialCondition(class_name, genName(_comp_name, AREA, "ic"), params);
106  }
107  }
108  }
109 }
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)
void makeFunctionControllableIfConstant(const FunctionName &fn_name, const std::string &control_name, const std::string &param="value") const
Makes a function controllable if it is constant.
Definition: Component.C:141
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
bool isParamValid(const std::string &name) const
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
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:307
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 112 of file FlowModel.C.

Referenced by FlowModel1PhaseBase::addMooseObjects().

113 {
114  // add material property equal to one, useful for dummy multiplier values
115  {
116  const std::string class_name = "ConstantMaterial";
117  InputParameters params = _factory.getValidParams(class_name);
118  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
119  params.set<std::string>("property_name") = FlowModel::UNITY;
120  params.set<Real>("value") = 1.0;
121  params.set<std::vector<VariableName>>("derivative_vars") = _derivative_vars;
122  _sim.addMaterial(class_name, genName(_comp_name, FlowModel::UNITY), params);
123  }
124 }
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:307
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:307
THMProblem & _sim
Definition: FlowModel.h:53

◆ addDensityAux()

void FlowModel1PhaseBase::addDensityAux ( )
protectedvirtualinherited

Definition at line 343 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

344 {
345  const std::string class_name = "QuotientAux";
346  InputParameters params = _factory.getValidParams(class_name);
347  params.set<AuxVariableName>("variable") = THM::DENSITY;
348  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
349  params.set<std::vector<VariableName>>("numerator") = {THM::RHOA};
350  params.set<std::vector<VariableName>>("denominator") = {THM::AREA};
351  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
352  _sim.addAuxKernel(class_name, genName(_comp_name, "rho_aux"), params);
353 }
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:307
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 FlowModelGasMix::addDensityIC ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 112 of file FlowModelGasMix.C.

113 {
114  const std::string class_name = "FlowModelGasMixIC";
115  InputParameters params = _factory.getValidParams(class_name);
116  params.set<VariableName>("variable") = THM::DENSITY;
117  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
118  params.set<MooseEnum>("quantity") = "rho";
119  params.set<FunctionName>("mass_fraction") =
120  _flow_channel.getParam<FunctionName>("initial_mass_fraction");
121  params.set<FunctionName>("pressure") = _flow_channel.getParam<FunctionName>("initial_p");
122  params.set<FunctionName>("temperature") = _flow_channel.getParam<FunctionName>("initial_T");
123  params.set<FunctionName>("velocity") = _flow_channel.getParam<FunctionName>("initial_vel");
124  params.set<std::vector<VariableName>>("area") = {THM::AREA};
125  params.set<UserObjectName>("fluid_properties") = _fp_name;
126  _sim.addSimInitialCondition(class_name, genName(_comp_name, "rho_ic"), params);
127 }
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
const T & getParam(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
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:307
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

◆ addDGKernels()

void FlowModelGasMix::addDGKernels ( )
overrideprotectedvirtual

Adds the DG kernels.

Reimplemented from FlowModel1PhaseBase.

Definition at line 138 of file FlowModelGasMix.C.

139 {
141 
144 }
virtual void addDGKernels()
Adds the DG kernels.
virtual void addMassDiffusionSpeciesDGKernel()
virtual void addMassDiffusionEnergyDGKernel()

◆ addEnergyGravityKernel()

void FlowModel1PhaseBase::addEnergyGravityKernel ( )
protectedvirtualinherited

Definition at line 278 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

279 {
280  const std::string class_name = "ADOneD3EqnEnergyGravity";
281  InputParameters params = _factory.getValidParams(class_name);
282  params.set<NonlinearVariableName>("variable") = THM::RHOEA;
283  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
284  params.set<std::vector<VariableName>>("A") = {THM::AREA};
285  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
286  params.set<MaterialPropertyName>("rho") = THM::DENSITY;
287  params.set<MaterialPropertyName>("vel") = THM::VELOCITY;
288  params.set<RealVectorValue>("gravity_vector") = _gravity_vector;
289  _sim.addKernel(class_name, genName(_comp_name, "energy_gravity"), params);
290 }
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:307
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 FlowModelGasMix::addFluidPropertiesMaterials ( )
overrideprotectedvirtual

Adds materials to compute fluid properties.

Implements FlowModel1PhaseBase.

Definition at line 239 of file FlowModelGasMix.C.

240 {
241  const std::string class_name = "FluidPropertiesGasMixMaterial";
242  InputParameters params = _factory.getValidParams(class_name);
243  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
244  params.set<std::vector<VariableName>>("xirhoA") = {THM::XIRHOA};
245  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
246  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
247  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
248  params.set<std::vector<VariableName>>("area") = {THM::AREA};
249  params.set<UserObjectName>("fluid_properties") = _fp_name;
250  _sim.addMaterial(class_name, genName(_comp_name, "fp_mat"), params);
251 }
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
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
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
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
static const std::string XIRHOA
Definition: THMNames.h:47
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:307
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

◆ 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(), 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:307
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addInitialConditions()

void FlowModelGasMix::addInitialConditions ( )
overridevirtual

Add initial conditions.

Reimplemented from FlowModel1PhaseBase.

Definition at line 70 of file FlowModelGasMix.C.

71 {
73 
75  {
76  addXiRhoAIC();
78  _flow_channel.getParam<FunctionName>("initial_mass_fraction"));
79  }
80 }
virtual void addInitialConditions() override
Add initial conditions.
virtual void addXiRhoAIC()
bool ICParametersAreValid() const
Returns true if all of the IC parameters are valid.
FlowChannelBase & _flow_channel
The flow channel component that built this class.
Definition: FlowModel.h:59
const T & getParam(const std::string &name) const
static const std::string MASS_FRACTION
Definition: THMNames.h:25
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds an IC from a function.

◆ addKernels()

void FlowModelGasMix::addKernels ( )
overrideprotectedvirtual

Adds the kernels.

Reimplemented from FlowModel1PhaseBase.

Definition at line 130 of file FlowModelGasMix.C.

131 {
133 
135 }
void addTimeDerivativeKernelIfTransient(const VariableName &var_name)
Adds a time derivative kernel for the given variable if problem is transient.
static const std::string XIRHOA
Definition: THMNames.h:47
virtual void addKernels()
Adds the kernels.

◆ addMassDiffusionEnergyDGKernel()

void FlowModelGasMix::addMassDiffusionEnergyDGKernel ( )
protectedvirtual

Definition at line 163 of file FlowModelGasMix.C.

Referenced by addDGKernels().

164 {
165  const std::string class_name = "MassDiffusionEnergyGasMixDGKernel";
166  InputParameters params = _factory.getValidParams(class_name);
167  params.set<NonlinearVariableName>("variable") = THM::RHOEA;
168  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
169  params.set<std::vector<VariableName>>("A_linear") = {THM::AREA_LINEAR};
170  params.set<MaterialPropertyName>("density") = THM::DENSITY;
171  params.set<MaterialPropertyName>("pressure") = THM::PRESSURE;
172  params.set<MaterialPropertyName>("temperature") = THM::TEMPERATURE;
173  params.set<MaterialPropertyName>("velocity") = THM::VELOCITY;
174  params.set<MaterialPropertyName>("diffusion_coefficient") = THM::MASS_DIFFUSION_COEFFICIENT;
175  params.set<MaterialPropertyName>("mass_fraction") = THM::MASS_FRACTION;
176  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
177  params.set<UserObjectName>("fluid_properties") = _fp_name;
178  params.set<bool>("implicit") = _sim.getImplicitTimeIntegrationFlag();
179  _sim.addDGKernel(class_name, genName(_comp_name, "mass_diffusion_energy"), params);
180 }
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 TEMPERATURE
Definition: THMNames.h:39
static const std::string AREA_LINEAR
Definition: THMNames.h:15
static const std::string PRESSURE
Definition: THMNames.h:27
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 MASS_DIFFUSION_COEFFICIENT
Definition: THMNames.h:24
virtual void addDGKernel(const std::string &kernel_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
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
Definition: Simulation.h:329
static const std::string MASS_FRACTION
Definition: THMNames.h:25
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:307
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

◆ addMassDiffusionSpeciesDGKernel()

void FlowModelGasMix::addMassDiffusionSpeciesDGKernel ( )
protectedvirtual

Definition at line 147 of file FlowModelGasMix.C.

Referenced by addDGKernels().

148 {
149  const std::string class_name = "MassDiffusionSpeciesGasMixDGKernel";
150  InputParameters params = _factory.getValidParams(class_name);
151  params.set<NonlinearVariableName>("variable") = THM::XIRHOA;
152  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
153  params.set<std::vector<VariableName>>("A_linear") = {THM::AREA_LINEAR};
154  params.set<MaterialPropertyName>("density") = THM::DENSITY;
155  params.set<MaterialPropertyName>("diffusion_coefficient") = THM::MASS_DIFFUSION_COEFFICIENT;
156  params.set<MaterialPropertyName>("mass_fraction") = THM::MASS_FRACTION;
157  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
158  params.set<bool>("implicit") = _sim.getImplicitTimeIntegrationFlag();
159  _sim.addDGKernel(class_name, genName(_comp_name, "mass_diffusion_species"), params);
160 }
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
static const std::string AREA_LINEAR
Definition: THMNames.h:15
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 MASS_DIFFUSION_COEFFICIENT
Definition: THMNames.h:24
virtual void addDGKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
Definition: Simulation.h:329
static const std::string MASS_FRACTION
Definition: THMNames.h:25
static const std::string XIRHOA
Definition: THMNames.h:47
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:307
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

◆ addMassFractionAux()

void FlowModelGasMix::addMassFractionAux ( )
protectedvirtual

Definition at line 226 of file FlowModelGasMix.C.

Referenced by addAuxKernels().

227 {
228  const std::string class_name = "QuotientAux";
229  InputParameters params = _factory.getValidParams(class_name);
230  params.set<AuxVariableName>("variable") = THM::MASS_FRACTION;
231  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
232  params.set<std::vector<VariableName>>("numerator") = {THM::XIRHOA};
233  params.set<std::vector<VariableName>>("denominator") = {THM::RHOA};
234  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
235  _sim.addAuxKernel(class_name, genName(_comp_name, "xi_aux"), params);
236 }
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 MASS_FRACTION
Definition: THMNames.h:25
static const std::string XIRHOA
Definition: THMNames.h:47
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:307
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

◆ addMomentumAreaGradientKernel()

void FlowModel1PhaseBase::addMomentumAreaGradientKernel ( )
protectedvirtualinherited

Definition at line 236 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

237 {
238  const std::string class_name = "ADOneD3EqnMomentumAreaGradient";
239  InputParameters params = _factory.getValidParams(class_name);
240  params.set<NonlinearVariableName>("variable") = THM::RHOUA;
241  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
242  params.set<std::vector<VariableName>>("A") = {THM::AREA_LINEAR};
243  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
244  params.set<MaterialPropertyName>("p") = THM::PRESSURE;
245  _sim.addKernel(class_name, genName(_comp_name, "mom_area_grad"), params);
246 }
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:307
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 249 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

250 {
251  const std::string class_name = "ADOneD3EqnMomentumFriction";
252  InputParameters params = _factory.getValidParams(class_name);
253  params.set<NonlinearVariableName>("variable") = THM::RHOUA;
254  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
255  params.set<std::vector<VariableName>>("A") = {THM::AREA};
256  params.set<MaterialPropertyName>("D_h") = {THM::HYDRAULIC_DIAMETER};
257  params.set<MaterialPropertyName>("rho") = THM::DENSITY;
258  params.set<MaterialPropertyName>("vel") = THM::VELOCITY;
259  params.set<MaterialPropertyName>("f_D") = THM::FRICTION_FACTOR_DARCY;
260  _sim.addKernel(class_name, genName(_comp_name, "mom_friction"), params);
261 }
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:307
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 264 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addKernels().

265 {
266  const std::string class_name = "ADOneD3EqnMomentumGravity";
267  InputParameters params = _factory.getValidParams(class_name);
268  params.set<NonlinearVariableName>("variable") = THM::RHOUA;
269  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
270  params.set<std::vector<VariableName>>("A") = {THM::AREA};
271  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
272  params.set<MaterialPropertyName>("rho") = THM::DENSITY;
273  params.set<RealVectorValue>("gravity_vector") = _gravity_vector;
274  _sim.addKernel(class_name, genName(_comp_name, "mom_gravity"), params);
275 }
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:307
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();
199  addAuxKernels();
203 }
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 addKernels()
Adds the kernels.
virtual void addCommonMooseObjects()
Adds common MOOSE objects.
Definition: FlowModel.C:112

◆ addNumericalFluxUserObject()

void FlowModelGasMix::addNumericalFluxUserObject ( )
overrideprotectedvirtual

Adds numerical flux user object.

Implements FlowModel1PhaseBase.

Definition at line 254 of file FlowModelGasMix.C.

255 {
256  const std::string class_name = "NumericalFluxGasMixHLLC";
257  InputParameters params = _factory.getValidParams(class_name);
258  params.set<UserObjectName>("fluid_properties") = _fp_name;
259  params.set<MooseEnum>("emit_on_nan") = "none";
260  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_LINEAR, EXEC_NONLINEAR};
261  _sim.addUserObject(class_name, _numerical_flux_name, params);
262 }
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

◆ addPressureAux()

void FlowModelGasMix::addPressureAux ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 190 of file FlowModelGasMix.C.

191 {
192  const std::string class_name = "FlowModelGasMixAux";
193  InputParameters params = _factory.getValidParams(class_name);
194  params.set<AuxVariableName>("variable") = THM::PRESSURE;
195  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
196  params.set<MooseEnum>("quantity") = "p";
197  params.set<std::vector<VariableName>>("xirhoA") = {THM::XIRHOA};
198  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
199  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
200  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
201  params.set<std::vector<VariableName>>("area") = {THM::AREA};
202  params.set<UserObjectName>("fluid_properties") = _fp_name;
203  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
204  _sim.addAuxKernel(class_name, genName(_comp_name, "p_aux"), params);
205 }
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
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
static const std::string XIRHOA
Definition: THMNames.h:47
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:307
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

◆ addRDGAdvectionDGKernels()

void FlowModelGasMix::addRDGAdvectionDGKernels ( )
overrideprotectedvirtual

Adds DG kernels.

Implements FlowModel1PhaseBase.

Definition at line 283 of file FlowModelGasMix.C.

284 {
285  const std::vector<NonlinearVariableName> vars{THM::XIRHOA, THM::RHOA, THM::RHOUA, THM::RHOEA};
286 
287  for (const auto & var : vars)
288  {
289  const std::string class_name = "NumericalFluxGasMixDGKernel";
290  InputParameters params = _factory.getValidParams(class_name);
291  params.set<NonlinearVariableName>("variable") = var;
292  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
293  params.set<std::vector<VariableName>>("A_linear") = {THM::AREA_LINEAR};
294  params.set<std::vector<VariableName>>("xirhoA") = {THM::XIRHOA};
295  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
296  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
297  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
298  params.set<UserObjectName>("numerical_flux") = _numerical_flux_name;
299  params.set<bool>("implicit") = _sim.getImplicitTimeIntegrationFlag();
300  _sim.addDGKernel(class_name, genName(_comp_name, "advection:" + var), params);
301  }
302 }
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
char ** vars
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 AREA_LINEAR
Definition: THMNames.h:15
const UserObjectName _numerical_flux_name
Numerical flux user object name.
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)
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
Definition: Simulation.h:329
static const std::string XIRHOA
Definition: THMNames.h:47
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:307
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

◆ addRDGMooseObjects()

void FlowModel1PhaseBase::addRDGMooseObjects ( )
protectedvirtualinherited

Adds RDG objects.

Definition at line 398 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addMooseObjects().

399 {
402 }
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:307
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 FlowModelGasMix::addRhoEAIC ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 94 of file FlowModelGasMix.C.

95 {
96  const std::string class_name = "FlowModelGasMixIC";
97  InputParameters params = _factory.getValidParams(class_name);
98  params.set<VariableName>("variable") = THM::RHOEA;
99  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
100  params.set<MooseEnum>("quantity") = "rhoEA";
101  params.set<FunctionName>("mass_fraction") =
102  _flow_channel.getParam<FunctionName>("initial_mass_fraction");
103  params.set<FunctionName>("pressure") = _flow_channel.getParam<FunctionName>("initial_p");
104  params.set<FunctionName>("temperature") = _flow_channel.getParam<FunctionName>("initial_T");
105  params.set<FunctionName>("velocity") = _flow_channel.getParam<FunctionName>("initial_vel");
106  params.set<std::vector<VariableName>>("area") = {THM::AREA};
107  params.set<UserObjectName>("fluid_properties") = _fp_name;
108  _sim.addSimInitialCondition(class_name, genName(_comp_name, "rhoEA_ic"), params);
109 }
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
const T & getParam(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
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:307
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.
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
const T & getParam(const std::string &name) const
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:307
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 FlowModelGasMix::addSlopeReconstructionMaterial ( )
overrideprotectedvirtual

Adds slope reconstruction material.

Implements FlowModel1PhaseBase.

Definition at line 265 of file FlowModelGasMix.C.

266 {
267  const std::string class_name = "SlopeReconstructionGasMixMaterial";
268  InputParameters params = _factory.getValidParams(class_name);
269  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
270  params.set<MooseEnum>("scheme") = _rdg_slope_reconstruction;
271  params.set<std::vector<VariableName>>("A_elem") = {THM::AREA};
272  params.set<std::vector<VariableName>>("A_linear") = {THM::AREA_LINEAR};
273  params.set<std::vector<VariableName>>("xirhoA") = {THM::XIRHOA};
274  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
275  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
276  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
277  params.set<UserObjectName>("fluid_properties") = _fp_name;
278  params.set<bool>("implicit") = _sim.getImplicitTimeIntegrationFlag();
279  _sim.addMaterial(class_name, genName(_comp_name, "slope_mat"), params);
280 }
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
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
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
const MooseEnum _rdg_slope_reconstruction
Slope reconstruction type for rDG.
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
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 XIRHOA
Definition: THMNames.h:47
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:307
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

◆ addSpecificInternalEnergyAux()

void FlowModel1PhaseBase::addSpecificInternalEnergyAux ( )
protectedvirtualinherited

Definition at line 369 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

370 {
371  const std::string class_name = "THMSpecificInternalEnergyAux";
372  InputParameters params = _factory.getValidParams(class_name);
373  params.set<AuxVariableName>("variable") = THM::SPECIFIC_INTERNAL_ENERGY;
374  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
375  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
376  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
377  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
378  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
379  _sim.addAuxKernel(class_name, genName(_comp_name, "e_aux"), params);
380 }
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:307
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:307
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 383 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

384 {
385  const std::string class_name = "SpecificTotalEnthalpyAux";
386  InputParameters params = _factory.getValidParams(class_name);
387  params.set<AuxVariableName>("variable") = THM::SPECIFIC_TOTAL_ENTHALPY;
388  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
389  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
390  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
391  params.set<std::vector<VariableName>>("p") = {THM::PRESSURE};
392  params.set<std::vector<VariableName>>("A") = {THM::AREA};
393  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
394  _sim.addAuxKernel(class_name, genName(_comp_name, "H_auxkernel"), params);
395 }
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:307
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:307
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 356 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

357 {
358  const std::string class_name = "THMSpecificVolumeAux";
359  InputParameters params = _factory.getValidParams(class_name);
360  params.set<AuxVariableName>("variable") = THM::SPECIFIC_VOLUME;
361  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
362  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
363  params.set<std::vector<VariableName>>("A") = {THM::AREA};
364  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
365  _sim.addAuxKernel(class_name, genName(_comp_name, "v_aux"), params);
366 }
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:307
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:307
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 FlowModelGasMix::addTemperatureAux ( )
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 208 of file FlowModelGasMix.C.

209 {
210  const std::string class_name = "FlowModelGasMixAux";
211  InputParameters params = _factory.getValidParams(class_name);
212  params.set<AuxVariableName>("variable") = THM::TEMPERATURE;
213  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
214  params.set<MooseEnum>("quantity") = "T";
215  params.set<std::vector<VariableName>>("xirhoA") = {THM::XIRHOA};
216  params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
217  params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
218  params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
219  params.set<std::vector<VariableName>>("area") = {THM::AREA};
220  params.set<UserObjectName>("fluid_properties") = _fp_name;
221  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
222  _sim.addAuxKernel(class_name, genName(_comp_name, "T_aux"), params);
223 }
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 TEMPERATURE
Definition: THMNames.h:39
Factory & _factory
The Factory associated with the MooseApp.
Definition: FlowModel.h:56
static const std::string AREA
Definition: THMNames.h:14
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
Definition: FlowModel.h:65
static const std::string XIRHOA
Definition: THMNames.h:47
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:307
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

◆ 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 223 of file FlowModel1PhaseBase.C.

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

224 {
226  {
227  const std::string class_name = "ADTimeDerivative";
228  InputParameters params = _factory.getValidParams(class_name);
229  params.set<NonlinearVariableName>("variable") = var_name;
230  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
231  _sim.addKernel(class_name, genName(_comp_name, var_name + "_td"), params);
232  }
233 }
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:252
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:307
const std::string _comp_name
The component name.
Definition: FlowModel.h:68
THMProblem & _sim
Definition: FlowModel.h:53

◆ addVariables()

void FlowModelGasMix::addVariables ( )
overridevirtual

Add variables the model uses.

Reimplemented from FlowModel1PhaseBase.

Definition at line 34 of file FlowModelGasMix.C.

35 {
37 
38  const std::vector<SubdomainName> & subdomains = _flow_channel.getSubdomainNames();
39 
41  true, THM::XIRHOA, _fe_type, subdomains, getParam<Real>("scaling_factor_xirhoA"));
42  _sim.addSimVariable(false, THM::MASS_FRACTION, _fe_type, subdomains);
43 }
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.
static const std::string MASS_FRACTION
Definition: THMNames.h:25
static const std::string XIRHOA
Definition: THMNames.h:47
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:307
THMProblem & _sim
Definition: FlowModel.h:53

◆ addVelocityAux()

void FlowModel1PhaseBase::addVelocityAux ( )
protectedvirtualinherited

Definition at line 310 of file FlowModel1PhaseBase.C.

Referenced by FlowModel1PhaseBase::addAuxKernels().

311 {
313  {
314  std::vector<AuxVariableName> var_names = {THM::VELOCITY_X, THM::VELOCITY_Y, THM::VELOCITY_Z};
315  for (const auto i : make_range(Moose::dim))
316  {
317  const std::string class_name = "ADVectorVelocityComponentAux";
318  InputParameters params = _factory.getValidParams(class_name);
319  params.set<AuxVariableName>("variable") = var_names[i];
320  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
321  params.set<std::vector<VariableName>>("arhoA") = {THM::RHOA};
322  params.set<std::vector<VariableName>>("arhouA") = {THM::RHOUA};
323  params.set<MaterialPropertyName>("direction") = THM::DIRECTION;
324  params.set<unsigned int>("component") = i;
325  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
326  _sim.addAuxKernel(class_name, genName(_comp_name, i, "vel_vec"), params);
327  }
328  }
329  else
330  {
331  const std::string class_name = "QuotientAux";
332  InputParameters params = _factory.getValidParams(class_name);
333  params.set<AuxVariableName>("variable") = THM::VELOCITY;
334  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
335  params.set<std::vector<VariableName>>("numerator") = {THM::RHOUA};
336  params.set<std::vector<VariableName>>("denominator") = {THM::RHOA};
337  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
338  _sim.addAuxKernel(class_name, genName(_comp_name, "vel"), params);
339  }
340 }
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:307
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
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
const T & getParam(const std::string &name) const
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:307
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.

◆ addXiRhoAIC()

void FlowModelGasMix::addXiRhoAIC ( )
protectedvirtual

Definition at line 83 of file FlowModelGasMix.C.

Referenced by addInitialConditions().

84 {
85  const std::string class_name = "VariableProductIC";
86  InputParameters params = _factory.getValidParams(class_name);
87  params.set<VariableName>("variable") = THM::XIRHOA;
88  params.set<std::vector<SubdomainName>>("block") = _flow_channel.getSubdomainNames();
89  params.set<std::vector<VariableName>>("values") = {THM::MASS_FRACTION, THM::RHOA};
90  _sim.addSimInitialCondition(class_name, genName(_comp_name, "xirhoA_ic"), params);
91 }
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
static const std::string MASS_FRACTION
Definition: THMNames.h:25
static const std::string XIRHOA
Definition: THMNames.h:47
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:307
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

◆ 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(), FlowModelSinglePhase::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowModelSinglePhase::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), Simulation::addFunctionIC(), HeatTransferBase::addHeatedPerimeter(), HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1PhaseBase::addHydraulicDiameterMaterial(), addMassDiffusionEnergyDGKernel(), addMassDiffusionSpeciesDGKernel(), addMassFractionAux(), HeatConductionModel::addMaterials(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), Shaft::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), FlowModelSinglePhase::addPressureAux(), addPressureAux(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelSinglePhase::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelSinglePhase::addTemperatureAux(), addTemperatureAux(), Closures1PhaseTHM::addTemperatureWallFromHeatFluxMaterial(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowChannelBase::addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), VolumeJunction1Phase::addVolumeJunctionIC(), Closures1PhaseTHM::addWallFFMaterial(), Closures1PhaseBase::addWallFrictionFunctionMaterial(), Closures1PhaseTHM::addWallHTCMaterial(), ClosuresBase::addWallTemperatureFromAuxMaterial(), Closures1PhaseSimple::addWallTemperatureFromHeatFluxMaterial(), FlowBoundary1Phase::addWeakBCs(), FlowBoundaryGasMix::addWeakBCs(), ClosuresBase::addWeightedAverageMaterial(), addXiRhoAIC(), ClosuresBase::addZeroMaterial(), Component2D::buildMesh(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), HeatSourceBase::HeatSourceBase(), 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:20

◆ 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 FlowModelGasMix::getScalingFactorRhoA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 46 of file FlowModelGasMix.C.

47 {
48  return getParam<Real>("scaling_factor_rhoA");
49 }

◆ getScalingFactorRhoEA()

Real FlowModelGasMix::getScalingFactorRhoEA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 58 of file FlowModelGasMix.C.

59 {
60  return getParam<Real>("scaling_factor_rhoEA");
61 }

◆ getScalingFactorRhoUA()

Real FlowModelGasMix::getScalingFactorRhoUA ( ) const
overrideprotectedvirtual

Implements FlowModel1PhaseBase.

Definition at line 52 of file FlowModelGasMix.C.

53 {
54  return getParam<Real>("scaling_factor_rhouA");
55 }

◆ getVariableFn()

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

Definition at line 56 of file FlowModel.C.

Referenced by FlowModelSinglePhase::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 }
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)
const T & getParam(const std::string &name) const
void connectObject(const InputParameters &params, const std::string &mooseName, const std::string &name) const
Connect with control logic.
Definition: Component.C:98
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 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 {}

◆ solutionVariableNames()

std::vector< VariableName > FlowModelGasMix::solutionVariableNames ( ) const
overrideprotectedvirtual

Returns the solution variable names for the flow model.

Implements FlowModel1PhaseBase.

Definition at line 64 of file FlowModelGasMix.C.

65 {
67 }
static const std::string RHOEA
Definition: THMNames.h:30
static const std::string XIRHOA
Definition: THMNames.h:47
static const std::string RHOUA
Definition: THMNames.h:31
static const std::string RHOA
Definition: THMNames.h:29

◆ validParams()

InputParameters FlowModelGasMix::validParams ( )
static

Definition at line 17 of file FlowModelGasMix.C.

18 {
20 
21  params.addRequiredParam<Real>("scaling_factor_xirhoA",
22  "Scaling factor for the secondary component mass equation");
23  params.addRequiredParam<Real>("scaling_factor_rhoA",
24  "Scaling factor for the mixture mass equation");
25  params.addRequiredParam<Real>("scaling_factor_rhouA", "Scaling factor for the momentum equation");
26  params.addRequiredParam<Real>("scaling_factor_rhoEA", "Scaling factor for the energy equation");
27 
28  return params;
29 }
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

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(), FlowModelSinglePhase::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowModelSinglePhase::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), addMassDiffusionEnergyDGKernel(), addMassDiffusionSpeciesDGKernel(), addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), FlowModelSinglePhase::addPressureAux(), addPressureAux(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelSinglePhase::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelSinglePhase::addTemperatureAux(), addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), and 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(), FlowModelSinglePhase::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowModelSinglePhase::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), addMassDiffusionEnergyDGKernel(), addMassDiffusionSpeciesDGKernel(), addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), FlowModelSinglePhase::addNumericalFluxUserObject(), addNumericalFluxUserObject(), FlowModelSinglePhase::addPressureAux(), addPressureAux(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelSinglePhase::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelSinglePhase::addTemperatureAux(), addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), and 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(), addVariables(), and FlowModel1PhaseBase::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(), FlowModelSinglePhase::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowModelSinglePhase::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addInitialConditions(), addInitialConditions(), addMassDiffusionEnergyDGKernel(), addMassDiffusionSpeciesDGKernel(), addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), FlowModelSinglePhase::addPressureAux(), addPressureAux(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelSinglePhase::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelSinglePhase::addTemperatureAux(), addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), addVariables(), FlowModel1PhaseBase::addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), addXiRhoAIC(), 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().

◆ _rdg_slope_reconstruction

const MooseEnum FlowModel1PhaseBase::_rdg_slope_reconstruction
protectedinherited

Slope reconstruction type for rDG.

Definition at line 88 of file FlowModel1PhaseBase.h.

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

◆ _sim

THMProblem& FlowModel::_sim
protectedinherited

Definition at line 53 of file FlowModel.h.

Referenced by FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowModel::addCommonVariables(), FlowModel1PhaseBase::addDensityAux(), FlowModelSinglePhase::addDensityIC(), addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowModelSinglePhase::addFluidPropertiesMaterials(), addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), addMassDiffusionEnergyDGKernel(), addMassDiffusionSpeciesDGKernel(), addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), FlowModelSinglePhase::addNumericalFluxUserObject(), addNumericalFluxUserObject(), FlowModelSinglePhase::addPressureAux(), addPressureAux(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelSinglePhase::addRhoEAIC(), addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelSinglePhase::addTemperatureAux(), addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), addVariables(), FlowModel1PhaseBase::addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), 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

◆ DIRECTION

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

Definition at line 110 of file FlowModel.h.

Referenced by FlowModelSinglePhase::addSlopeReconstructionMaterial().

◆ 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

◆ NUSSELT_NUMBER

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

Definition at line 106 of file FlowModel.h.

◆ SURFACE_TENSION

const std::string FlowModel::SURFACE_TENSION
staticinherited

Definition at line 107 of file FlowModel.h.

◆ TEMPERATURE_WALL

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

◆ UNITY

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

Definition at line 109 of file FlowModel.h.

Referenced by FlowModel::addCommonMooseObjects().


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