18 params.
addClassDescription(
"User object used to track the kernels added to an INS simulation "
19 "and determine what properties to calculate in INSADMaterial");
27 params.
addParam<
bool>(
"integrate_p_by_parts",
"Whether to integrate the pressure by parts");
28 MooseEnum viscous_form(
"traction laplace",
"laplace");
31 "The form of the viscous term. Options are 'traction' or 'laplace'");
33 "has_boussinesq",
false,
"Whether the simulation has the boussinesq approximation");
34 params.
addParam<MaterialPropertyName>(
35 "alpha",
"The alpha material property for the boussinesq approximation");
36 params.
addParam<MaterialPropertyName>(
"ref_temp",
"The reference temperature material property");
37 params.
addParam<std::string>(
"temperature",
"The temperature variable");
38 params.
addParam<RealVectorValue>(
"gravity",
"Direction of the gravity vector");
42 "Whether the simulation has a gravity force imposed on the momentum equation");
43 params.
addParam<
bool>(
"has_transient",
false,
"Whether the momentum equations are transient");
44 params.
addParam<
bool>(
"has_energy_transient",
false,
"Whether the energy equation is transient");
49 "has_heat_source",
false,
"Whether there is a heat source function object in the simulation");
50 params.
addParam<FunctionName>(
"heat_source_function",
"The function describing the heat source");
53 "Variable describing the volumetric heat source. Note that if this variable evaluates to a "
54 "negative number, then this object will be an energy sink");
59 "Whether the simulation has a force due to a coupled vector variable/vector function");
60 params.
addParam<std::vector<VariableName>>(
"coupled_force_var",
61 "Variables imposing coupled forces");
62 params.
addParam<std::vector<FunctionName>>(
"coupled_force_vector_function",
63 "The function(s) standing in as a coupled force(s)");
65 params.
addParam<
bool>(
"has_advected_mesh",
67 "Whether the fluid domain is undergoing displacement in which case we must "
68 "add an advecting mesh term to correct the material velocity.");
69 params.
addParam<VariableName>(
"disp_x",
"The x displacement");
70 params.
addParam<VariableName>(
"disp_y",
"The y displacement");
71 params.
addParam<VariableName>(
"disp_z",
"The z displacement");
85 "has_ambient_convection",
87 "Whether for the energy equation there is a heat source/sink due to convection "
88 "from ambient surroundings");
89 params.
addParam<Real>(
"ambient_convection_alpha",
90 "The heat transfer coefficient from from ambient surroundings");
91 params.
addParam<Real>(
"ambient_temperature",
"The ambient temperature");
104 for (
const auto sub_id : additional_block_ids)
119 mooseError(
"The requested sub_id is not a key in INSADObjectTracker::_block_id_to_params. Make "
120 "sure that your INSAD residual objects have block restrictions that are covered by "
121 "INSADMaterial (and derived) material objects");
123 return map_it->second;
registerMooseObject("NavierStokesApp", INSADObjectTracker)
void addAmbientConvectionParams(InputParameters ¶ms)
Global for adding ambient convection parameters.
void addAmbientConvectionParams(InputParameters ¶ms)
Global for adding ambient convection parameters.
static InputParameters validParams()
Object for tracking what kernels have been added to an INSAD simulation.
std::unordered_map< SubdomainID, InputParameters > _block_id_to_params
static bool notEqual(const T &val1, const T &val2)
bool isTrackerParamValid(const std::string &name, SubdomainID sub_id) const
const InputParameters & getParams(SubdomainID sub_id) const
INSADObjectTracker(const InputParameters ¶meters)
void addBlockIDs(const std::set< SubdomainID > &additional_block_ids)
Add additional block coverage to this.
static InputParameters validParams()
static InputParameters validTrackerParams()
const std::string & name() const
void mooseError(Args &&... args) const
bool compareCurrent(const MooseEnum &other, CompareMode mode=CompareMode::COMPARE_NAME) const