12 #include "FEProblem.h"
13 #include "Conversion.h"
23 params.addClassDescription(
"Set up inclined no displacement boundary conditions");
25 params.addRequiredParam<std::vector<BoundaryName>>(
26 "boundary",
"The list of boundary IDs from the mesh where the pressure will be applied");
28 params.addParam<std::vector<VariableName>>(
30 "The displacements appropriate for the simulation geometry and coordinate system");
31 params.addParam<std::vector<AuxVariableName>>(
"save_in",
"The displacement residuals");
33 params.addRequiredParam<Real>(
"penalty",
"Penalty parameter");
39 _displacements(getParam<std::vector<VariableName>>(
"displacements")),
40 _ndisp(_displacements.size()),
41 _save_in(getParam<std::vector<AuxVariableName>>(
"save_in"))
44 mooseError(
"InclinedNoDisplacementBC is specific to 2D and 3D models.");
47 mooseError(
"Number of save_in variables should equal to the number of displacement variables ",
54 const std::string kernel_name =
"PenaltyInclinedNoDisplacementBC";
57 for (
unsigned int i = 0; i <
_ndisp; ++i)
60 std::string unique_kernel_name = kernel_name +
"_" + _name +
"_" + Moose::stringify(i);
62 InputParameters params = _factory.getValidParams(kernel_name);
63 params.applyParameters(parameters());
64 params.set<
bool>(
"use_displaced_mesh") =
false;
65 params.set<
unsigned int>(
"component") = i;
69 params.set<std::vector<AuxVariableName>>(
"save_in") = {
_save_in[i]};
71 _problem->addBoundaryCondition(kernel_name, unique_kernel_name, params);