22 "Scaling factor for the secondary component mass equation");
24 "Scaling factor for the mixture mass equation");
25 params.
addRequiredParam<
Real>(
"scaling_factor_rhouA",
"Scaling factor for the momentum equation");
48 return getParam<Real>(
"scaling_factor_rhoA");
54 return getParam<Real>(
"scaling_factor_rhouA");
60 return getParam<Real>(
"scaling_factor_rhoEA");
63 std::vector<VariableName>
85 const std::string class_name =
"VariableProductIC";
96 const std::string class_name =
"FlowModelGasMixIC";
101 params.
set<FunctionName>(
"mass_fraction") =
106 params.
set<std::vector<VariableName>>(
"area") = {
THM::AREA};
107 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
114 const std::string class_name =
"FlowModelGasMixIC";
119 params.
set<FunctionName>(
"mass_fraction") =
124 params.
set<std::vector<VariableName>>(
"area") = {
THM::AREA};
125 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
149 const std::string class_name =
"MassDiffusionSpeciesGasMixDGKernel";
165 const std::string class_name =
"MassDiffusionEnergyGasMixDGKernel";
177 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
192 const std::string class_name =
"FlowModelGasMixAux";
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;
210 const std::string class_name =
"FlowModelGasMixAux";
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;
228 const std::string class_name =
"QuotientAux";
232 params.
set<std::vector<VariableName>>(
"numerator") = {
THM::XIRHOA};
233 params.
set<std::vector<VariableName>>(
"denominator") = {
THM::RHOA};
241 const std::string class_name =
"FluidPropertiesGasMixMaterial";
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;
256 const std::string class_name =
"NumericalFluxGasMixHLLC";
258 params.
set<UserObjectName>(
"fluid_properties") =
_fp_name;
267 const std::string class_name =
"SlopeReconstructionGasMixMaterial";
271 params.
set<std::vector<VariableName>>(
"A_elem") = {
THM::AREA};
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;
287 for (
const auto & var :
vars)
289 const std::string class_name =
"NumericalFluxGasMixDGKernel";
291 params.
set<NonlinearVariableName>(
"variable") = var;
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};
virtual Real getScalingFactorRhoUA() const override
virtual void addInitialConditions() override
Add initial conditions.
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.
virtual void addDGKernels()
Adds the DG kernels.
static const std::string RHOEA
virtual void addXiRhoAIC()
virtual void addMassFractionAux()
static InputParameters validParams()
virtual void addAuxKernels()
Adds the aux kernels.
virtual void addTemperatureAux() override
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters ¶meters)
InputParameters getValidParams(const std::string &name) const
bool ICParametersAreValid() const
Returns true if all of the IC parameters are valid.
registerMooseObject("ThermalHydraulicsApp", FlowModelGasMix)
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
virtual void addAuxKernels() override
Adds the aux kernels.
FlowChannelBase & _flow_channel
The flow channel component that built this class.
virtual void addFluidPropertiesMaterials() override
Adds materials to compute fluid properties.
virtual void addRhoEAIC() override
virtual std::vector< VariableName > solutionVariableNames() const override
Returns the solution variable names for the flow model.
static const std::string TEMPERATURE
static const std::string AREA_LINEAR
void addSimVariable(bool nl, const VariableName &name, libMesh::FEType fe_type, Real scaling_factor=1.0)
Queues a variable of type MooseVariableScalar to be added to the nonlinear or aux system...
static const std::string PRESSURE
virtual void addRDGAdvectionDGKernels() override
Adds DG kernels.
virtual Real getScalingFactorRhoA() const override
const UserObjectName _numerical_flux_name
Numerical flux user object name.
static InputParameters validParams()
virtual void addDGKernels() override
Adds the DG kernels.
const T & getParam(const std::string &name) const
virtual void addMassDiffusionSpeciesDGKernel()
static const std::string VELOCITY
const libMesh::FEType & _fe_type
The type of FE used for flow.
const MooseEnum _rdg_slope_reconstruction
Slope reconstruction type for rDG.
virtual Real getScalingFactorRhoEA() const override
const ExecFlagType EXEC_LINEAR
Factory & _factory
The Factory associated with the MooseApp.
static const std::string AREA
virtual void addMassDiffusionEnergyDGKernel()
static const std::string DIRECTION
const ExecFlagType EXEC_NONLINEAR
static const std::string MASS_DIFFUSION_COEFFICIENT
virtual void addSlopeReconstructionMaterial() override
Adds slope reconstruction material.
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
virtual void addDGKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
virtual void addKernels() override
Adds the kernels.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void addVariables() override
Add variables the model uses.
1D flow model for a binary gas mixture
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
void addTimeDerivativeKernelIfTransient(const VariableName &var_name)
Adds a time derivative kernel for the given variable if problem is transient.
virtual void addDensityIC() override
virtual void addVariables() override
Add variables the model uses.
const UserObjectName _fp_name
The name of the user object that defines fluid properties.
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
static const std::string MASS_FRACTION
FlowModelGasMix(const InputParameters ¶ms)
virtual void addInitialConditions() override
Add initial conditions.
static const std::string XIRHOA
virtual void addKernels()
Adds the kernels.
static const std::string RHOUA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
const std::string _comp_name
The component name.
Base class for a flow model for a single-phase fluid.
virtual void addPressureAux() override
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds an IC from a function.
static const std::string RHOA
virtual void addNumericalFluxUserObject() override
Adds numerical flux user object.
static const std::string DENSITY
const ExecFlagType EXEC_INITIAL