Action that sets up pressure boundary condition on displacement variables.
More...
#include <CoupledPressureAction.h>
Action that sets up pressure boundary condition on displacement variables.
Definition at line 22 of file CoupledPressureAction.h.
◆ CoupledPressureAction()
CoupledPressureAction::CoupledPressureAction |
( |
const InputParameters & |
params | ) |
|
◆ act()
void CoupledPressureAction::act |
( |
| ) |
|
|
overridevirtual |
Definition at line 59 of file CoupledPressureAction.C.
61 const std::string kernel_name =
"CoupledPressureBC";
63 std::vector<VariableName> displacements;
64 if (isParamValid(
"displacements"))
65 displacements = getParam<std::vector<VariableName>>(
"displacements");
69 if (!isParamValid(
"disp_x"))
70 mooseError(
"Specify displacement variables using the `displacements` parameter.");
71 displacements.push_back(getParam<VariableName>(
"disp_x"));
73 if (isParamValid(
"disp_y"))
75 displacements.push_back(getParam<VariableName>(
"disp_y"));
76 if (isParamValid(
"disp_z"))
77 displacements.push_back(getParam<VariableName>(
"disp_z"));
82 for (
unsigned int i = 0; i < displacements.size(); ++i)
85 std::string unique_kernel_name = kernel_name +
"_" + _name +
"_" + Moose::stringify(i);
87 InputParameters params = _factory.getValidParams(kernel_name);
88 params.applySpecificParameters(parameters(), {
"boundary"});
89 params.set<std::vector<VariableName>>(
"pressure") = {getParam<VariableName>(
"pressure")};
90 params.set<
bool>(
"use_displaced_mesh") =
true;
91 params.set<
unsigned int>(
"component") = i;
92 params.set<NonlinearVariableName>(
"variable") = displacements[i];
95 params.set<std::vector<AuxVariableName>>(
"save_in") =
_save_in_vars[i];
97 _problem->addBoundaryCondition(kernel_name, unique_kernel_name, params);
◆ validParams()
InputParameters CoupledPressureAction::validParams |
( |
| ) |
|
|
static |
Definition at line 20 of file CoupledPressureAction.C.
23 params.addClassDescription(
"Set up Coupled Pressure 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<VariableName>(
"disp_x",
"The x displacement");
29 params.addParam<VariableName>(
"disp_y",
"The y displacement");
30 params.addParam<VariableName>(
"disp_z",
"The z displacement");
32 params.addParam<std::vector<VariableName>>(
34 "The displacements appropriate for the simulation geometry and coordinate system");
36 params.addParam<std::vector<AuxVariableName>>(
"save_in_disp_x",
37 "The save_in variables for x displacement");
38 params.addParam<std::vector<AuxVariableName>>(
"save_in_disp_y",
39 "The save_in variables for y displacement");
40 params.addParam<std::vector<AuxVariableName>>(
"save_in_disp_z",
41 "The save_in variables for z displacement");
43 params.addParam<VariableName>(
"pressure",
"The variable that contains the pressure");
◆ _has_save_in_vars
std::vector<bool> CoupledPressureAction::_has_save_in_vars |
|
protected |
◆ _save_in_vars
std::vector<std::vector<AuxVariableName> > CoupledPressureAction::_save_in_vars |
|
protected |
The documentation for this class was generated from the following files: