18 params.
addRequiredParam<UserObjectName>(
"numerical_flux",
"Numerical flux user object name");
20 "Slope reconstruction type for rDG");
26 _rdg_slope_reconstruction(params.
get<
MooseEnum>(
"rdg_slope_reconstruction")),
27 _numerical_flux_name(params.
get<UserObjectName>(
"numerical_flux"))
87 const auto & flow_channel_1phase_base =
90 for (
const auto & param : flow_channel_1phase_base.ICParameters())
99 const FunctionName & function_name)
101 const std::string class_name =
"FunctionIC";
103 params.
set<VariableName>(
"variable") = var_name;
105 params.
set<FunctionName>(
"function") = function_name;
112 const std::string class_name =
"VariableProductIC";
123 const std::string class_name =
"VariableFunctionProductIC";
127 params.
set<std::vector<VariableName>>(
"var") = {
THM::RHOA};
140 const std::string class_name =
"VectorVelocityIC";
142 params.
set<VariableName>(
"variable") = var_name[i];
145 params.
set<
unsigned int>(
"component") = i;
156 const std::string class_name =
"SpecificVolumeIC";
160 params.
set<std::vector<VariableName>>(
"rhoA") = {
THM::RHOA};
161 params.
set<std::vector<VariableName>>(
"A") = {
THM::AREA};
168 const std::string class_name =
"SpecificInternalEnergyIC";
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};
181 const std::string class_name =
"SpecificTotalEnthalpyIC";
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};
227 const std::string class_name =
"ADTimeDerivative";
229 params.
set<NonlinearVariableName>(
"variable") = var_name;
238 const std::string class_name =
"ADOneD3EqnMomentumAreaGradient";
251 const std::string class_name =
"ADOneD3EqnMomentumFriction";
255 params.
set<std::vector<VariableName>>(
"A") = {
THM::AREA};
266 const std::string class_name =
"ADOneD3EqnMomentumGravity";
270 params.
set<std::vector<VariableName>>(
"A") = {
THM::AREA};
280 const std::string class_name =
"ADOneD3EqnEnergyGravity";
284 params.
set<std::vector<VariableName>>(
"A") = {
THM::AREA};
317 const std::string class_name =
"ADVectorVelocityComponentAux";
319 params.
set<AuxVariableName>(
"variable") = var_names[i];
321 params.
set<std::vector<VariableName>>(
"arhoA") = {
THM::RHOA};
322 params.
set<std::vector<VariableName>>(
"arhouA") = {
THM::RHOUA};
324 params.
set<
unsigned int>(
"component") = i;
331 const std::string class_name =
"QuotientAux";
335 params.
set<std::vector<VariableName>>(
"numerator") = {
THM::RHOUA};
336 params.
set<std::vector<VariableName>>(
"denominator") = {
THM::RHOA};
345 const std::string class_name =
"QuotientAux";
349 params.
set<std::vector<VariableName>>(
"numerator") = {
THM::RHOA};
350 params.
set<std::vector<VariableName>>(
"denominator") = {
THM::AREA};
358 const std::string class_name =
"THMSpecificVolumeAux";
362 params.
set<std::vector<VariableName>>(
"rhoA") = {
THM::RHOA};
363 params.
set<std::vector<VariableName>>(
"A") = {
THM::AREA};
371 const std::string class_name =
"THMSpecificInternalEnergyAux";
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};
385 const std::string class_name =
"SpecificTotalEnthalpyAux";
389 params.
set<std::vector<VariableName>>(
"rhoA") = {
THM::RHOA};
390 params.
set<std::vector<VariableName>>(
"rhoEA") = {
THM::RHOEA};
392 params.
set<std::vector<VariableName>>(
"A") = {
THM::AREA};
virtual Real getScalingFactorRhoEA() const =0
virtual void addRDGAdvectionDGKernels()=0
Adds DG kernels.
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 SPECIFIC_INTERNAL_ENERGY
virtual void addMomentumFrictionKernel()
static const std::string RHOEA
const bool & _output_vector_velocity
True if we output velocity as a vector-value field, false for outputting velocity as a scalar...
static InputParameters validParams()
virtual void addSpecificInternalEnergyIC()
static const std::string VELOCITY_Z
virtual void addAuxKernels()
Adds the aux kernels.
virtual void addSpecificTotalEnthalpyIC()
virtual std::vector< VariableName > solutionVariableNames() const =0
Returns the solution variable names for the flow model.
virtual void addMooseObjects() override
Add MOOSE objects this model uses.
virtual void addRDGMooseObjects()
Adds RDG objects.
Provides functions to setup the flow model.
virtual void addCommonInitialConditions()
Adds initial conditions common to any flow model.
virtual void addFluidPropertiesMaterials()=0
Adds materials to compute fluid properties.
InputParameters getValidParams(const std::string &name) const
bool ICParametersAreValid() const
Returns true if all of the IC parameters are valid.
static constexpr std::size_t dim
static InputParameters validParams()
static const std::string FRICTION_FACTOR_DARCY
const ExecFlagType EXEC_TIMESTEP_END
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
virtual void addSpecificInternalEnergyAux()
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
FlowChannelBase & _flow_channel
The flow channel component that built this class.
static const std::string TEMPERATURE
virtual void addNumericalFluxUserObject()=0
Adds numerical flux user object.
virtual Real getScalingFactorRhoA() const =0
bool isParamValid(const std::string &name) const
virtual void addMomentumAreaGradientKernel()
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 addEnergyGravityKernel()
virtual void addPressureAux()=0
static const std::string VELOCITY_Y
static const std::string HYDRAULIC_DIAMETER
bool problemIsTransient() const
Whether the problem is transient.
virtual void addCommonVariables()
Adds variables common to any flow model (A, P_hf, ...)
FlowModel1PhaseBase(const InputParameters ¶ms)
virtual void addRhoEAIC()=0
const T & getParam(const std::string &name) const
static const std::string VELOCITY
const libMesh::FEType & _fe_type
The type of FE used for flow.
virtual void addRhoUAIC()
Factory & _factory
The Factory associated with the MooseApp.
const RealVectorValue & _gravity_vector
Gravitational acceleration vector.
static const std::string AREA
static const std::string SPECIFIC_VOLUME
static const std::string DIRECTION
virtual void addSlopeReconstructionMaterial()=0
Adds slope reconstruction material.
void addSimInitialCondition(const std::string &type, const std::string &name, InputParameters params)
virtual void addDensityIC()=0
virtual void addVelocityIC()
void addTimeDerivativeKernelIfTransient(const VariableName &var_name)
Adds a time derivative kernel for the given variable if problem is transient.
virtual void addVariables() override
Add variables the model uses.
virtual void addDensityAux()
static const std::string VELOCITY_X
IntRange< T > make_range(T beg, T end)
virtual void addKernels()
Adds the kernels.
std::vector< VariableName > _solution_vars
static const std::string RHOUA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
virtual Real getScalingFactorRhoUA() const =0
virtual void addCommonMooseObjects()
Adds common MOOSE objects.
const std::string _comp_name
The component name.
virtual void addSpecificTotalEnthalpyAux()
virtual void addSpecificVolumeAux()
virtual void addMomentumGravityKernel()
Base class for single-phase flow channels.
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds an IC from a function.
virtual void addVelocityAux()
static const std::string RHOA
virtual void addSpecificVolumeIC()
const Elem & get(const ElemType type_in)
static const std::string SPECIFIC_TOTAL_ENTHALPY
virtual void addTemperatureAux()=0
std::vector< VariableName > _derivative_vars
static const std::string DENSITY
const ExecFlagType EXEC_INITIAL