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");
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");
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;
static InputParameters validTrackerParams()
static InputParameters validParams()
static InputParameters validParams()
const InputParameters & getParams(SubdomainID sub_id) const
virtual const std::string & name() const
INSADObjectTracker(const InputParameters ¶meters)
static bool notEqual(const T &val1, const T &val2)
bool isTrackerParamValid(const std::string &name, SubdomainID sub_id) const
std::unordered_map< SubdomainID, InputParameters > _block_id_to_params
registerMooseObject("NavierStokesApp", INSADObjectTracker)
void addAmbientConvectionParams(InputParameters ¶ms)
Global for adding ambient convection parameters.
void addBlockIDs(const std::set< SubdomainID > &additional_block_ids)
Add additional block coverage to this.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool compareCurrent(const MooseEnum &other, CompareMode mode=CompareMode::COMPARE_NAME) const
void mooseError(Args &&... args) const
Object for tracking what kernels have been added to an INSAD simulation.