24 "boundary",
"The list of boundary IDs from the mesh where the pressure will be applied");
28 "The displacements appropriate for the simulation geometry and coordinate system");
30 params.
addParam<std::vector<AuxVariableName>>(
31 "save_in_disp_x", {},
"The save_in variables for x displacement");
32 params.
addParam<std::vector<AuxVariableName>>(
33 "save_in_disp_y", {},
"The save_in variables for y displacement");
34 params.
addParam<std::vector<AuxVariableName>>(
35 "save_in_disp_z", {},
"The save_in variables for z displacement");
37 params.
addParam<
Real>(
"factor", 1.0,
"The factor to use in computing the pressure");
38 params.
addParam<
bool>(
"use_displaced_mesh",
true,
"Whether to use the displaced mesh.");
41 "alpha parameter for mass dependent numerical damping induced " 42 "by HHT time integration scheme");
44 "alpha",
"alpha parameter for HHT time integration",
"Please use hht_alpha");
45 params.
addParam<FunctionName>(
"function",
"The function that describes the pressure");
46 params.
addParam<
bool>(
"use_automatic_differentiation",
48 "Flag to use automatic differentiation (AD) objects when possible");
49 params.
addParam<std::vector<TagName>>(
"extra_vector_tags",
50 "The extra tags for the vectors this Kernel should fill");
51 params.
addParam<std::vector<TagName>>(
52 "absolute_value_vector_tags",
53 "The tags for the vectors this residual object should fill with the " 54 "absolute value of the residual contribution");
59 :
Action(params), _use_ad(getParam<bool>(
"use_automatic_differentiation"))
73 std::string ad_prepend =
"";
77 std::string kernel_name = ad_prepend +
"Pressure";
79 std::vector<VariableName> displacements = getParam<std::vector<VariableName>>(
"displacements");
82 for (
unsigned int i = 0; i < displacements.size(); ++i)
89 params.
set<
bool>(
"use_displaced_mesh") = getParam<bool>(
"use_displaced_mesh");
91 isParamValid(
"alpha") ? getParam<Real>(
"alpha") : getParam<Real>(
"hht_alpha");
93 params.
set<NonlinearVariableName>(
"variable") = displacements[i];
98 params.
set<
Real>(
"factor") = getParam<Real>(
"factor");
99 _problem->addBoundaryCondition(kernel_name, unique_kernel_name, params);
InputParameters getValidParams(const std::string &name) const
PressureAction(const InputParameters ¶ms)
std::vector< bool > _has_save_in_vars
bool isParamValid(const std::string &name) const
static InputParameters validParams()
std::vector< std::vector< AuxVariableName > > _save_in_vars
const T & getParam(const std::string &name) const
std::string stringify(const T &t)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void act() override
const bool _use_ad
Flag to use automatic differentiation.
std::shared_ptr< FEProblemBase > & _problem
const InputParameters & parameters() const
registerMooseAction("SolidMechanicsApp", PressureAction, "add_bc")
static InputParameters validParams()