www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
InclinedNoDisplacementBCAction Class Reference

#include <InclinedNoDisplacementBCAction.h>

Inheritance diagram for InclinedNoDisplacementBCAction:
[legend]

Public Member Functions

 InclinedNoDisplacementBCAction (const InputParameters &params)
 
virtual void act () override
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

std::vector< VariableName > _displacements
 displacement variables More...
 
unsigned int _ndisp
 number of displacement variables More...
 
std::vector< AuxVariableName > _save_in
 auxvariables to save residuals More...
 

Detailed Description

Definition at line 14 of file InclinedNoDisplacementBCAction.h.

Constructor & Destructor Documentation

◆ InclinedNoDisplacementBCAction()

InclinedNoDisplacementBCAction::InclinedNoDisplacementBCAction ( const InputParameters &  params)

Definition at line 37 of file InclinedNoDisplacementBCAction.C.

38  : Action(params),
39  _displacements(getParam<std::vector<VariableName>>("displacements")),
40  _ndisp(_displacements.size()),
41  _save_in(getParam<std::vector<AuxVariableName>>("save_in"))
42 {
43  if (_ndisp == 1)
44  mooseError("InclinedNoDisplacementBC is specific to 2D and 3D models.");
45 
46  if (_save_in.size() != 0 && _save_in.size() != _ndisp)
47  mooseError("Number of save_in variables should equal to the number of displacement variables ",
48  _displacements.size());
49 }

Member Function Documentation

◆ act()

void InclinedNoDisplacementBCAction::act ( )
overridevirtual

Definition at line 52 of file InclinedNoDisplacementBCAction.C.

53 {
54  const std::string kernel_name = "PenaltyInclinedNoDisplacementBC";
55 
56  // Create pressure BCs
57  for (unsigned int i = 0; i < _ndisp; ++i)
58  {
59  // Create unique kernel name for each of the components
60  std::string unique_kernel_name = kernel_name + "_" + _name + "_" + Moose::stringify(i);
61 
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;
66  params.set<NonlinearVariableName>("variable") = _displacements[i];
67 
68  if (_save_in.size() == _ndisp)
69  params.set<std::vector<AuxVariableName>>("save_in") = {_save_in[i]};
70 
71  _problem->addBoundaryCondition(kernel_name, unique_kernel_name, params);
72  }
73 }

◆ validParams()

InputParameters InclinedNoDisplacementBCAction::validParams ( )
static

Definition at line 20 of file InclinedNoDisplacementBCAction.C.

21 {
22  InputParameters params = Action::validParams();
23  params.addClassDescription("Set up inclined no displacement boundary conditions");
24 
25  params.addRequiredParam<std::vector<BoundaryName>>(
26  "boundary", "The list of boundary IDs from the mesh where the pressure will be applied");
27 
28  params.addParam<std::vector<VariableName>>(
29  "displacements",
30  "The displacements appropriate for the simulation geometry and coordinate system");
31  params.addParam<std::vector<AuxVariableName>>("save_in", "The displacement residuals");
32 
33  params.addRequiredParam<Real>("penalty", "Penalty parameter");
34  return params;
35 }

Member Data Documentation

◆ _displacements

std::vector<VariableName> InclinedNoDisplacementBCAction::_displacements
protected

displacement variables

Definition at line 25 of file InclinedNoDisplacementBCAction.h.

Referenced by act(), and InclinedNoDisplacementBCAction().

◆ _ndisp

unsigned int InclinedNoDisplacementBCAction::_ndisp
protected

number of displacement variables

Definition at line 28 of file InclinedNoDisplacementBCAction.h.

Referenced by act(), and InclinedNoDisplacementBCAction().

◆ _save_in

std::vector<AuxVariableName> InclinedNoDisplacementBCAction::_save_in
protected

auxvariables to save residuals

Definition at line 31 of file InclinedNoDisplacementBCAction.h.

Referenced by act(), and InclinedNoDisplacementBCAction().


The documentation for this class was generated from the following files:
InclinedNoDisplacementBCAction::_ndisp
unsigned int _ndisp
number of displacement variables
Definition: InclinedNoDisplacementBCAction.h:28
InclinedNoDisplacementBCAction::_displacements
std::vector< VariableName > _displacements
displacement variables
Definition: InclinedNoDisplacementBCAction.h:25
validParams
InputParameters validParams()
InclinedNoDisplacementBCAction::_save_in
std::vector< AuxVariableName > _save_in
auxvariables to save residuals
Definition: InclinedNoDisplacementBCAction.h:31