16 const std::string & non_ad_pressure_bc_type,
17 const std::string & ad_pressure_bc_type)
19 _non_ad_pressure_bc_type(non_ad_pressure_bc_type),
20 _ad_pressure_bc_type(ad_pressure_bc_type),
21 _use_ad(getParam<bool>(
"use_automatic_differentiation")),
22 _save_in_vars({getParam<std::vector<AuxVariableName>>(
"save_in_disp_x"),
23 getParam<std::vector<AuxVariableName>>(
"save_in_disp_y"),
24 getParam<std::vector<AuxVariableName>>(
"save_in_disp_z")}),
25 _has_save_in_vars({params.isParamValid(
"save_in_disp_x"),
26 params.isParamValid(
"save_in_disp_y"),
27 params.isParamValid(
"save_in_disp_z")})
36 std::vector<VariableName> displacements = getParam<std::vector<VariableName>>(
"displacements");
38 for (
unsigned int i = 0; i < displacements.size(); ++i)
46 params.
set<NonlinearVariableName>(
"variable") = displacements[i];
50 _problem->addBoundaryCondition(bc_type, bc_name, params);
const std::vector< std::vector< AuxVariableName > > _save_in_vars
InputParameters getValidParams(const std::string &name) const
PressureActionBase(const InputParameters ¶ms, const std::string &non_ad_pressure_bc_type, const std::string &ad_pressure_bc_type)
bool isParamValid(const std::string &name) const
const std::vector< bool > _has_save_in_vars
const T & getParam(const std::string &name) const
const bool _use_ad
Flag to use automatic differentiation.
void connectControllableParams(const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
std::string stringify(const T &t)
const std::string _ad_pressure_bc_type
virtual void act() override
std::shared_ptr< FEProblemBase > & _problem
const InputParameters & parameters() const
const std::string _non_ad_pressure_bc_type