www.mooseframework.org
Public Member Functions | Private Attributes | List of all members
ContactPenetrationAuxAction Class Reference

#include <ContactPenetrationAuxAction.h>

Inheritance diagram for ContactPenetrationAuxAction:
[legend]

Public Member Functions

 ContactPenetrationAuxAction (const InputParameters &params)
 
virtual void act ()
 

Private Attributes

const BoundaryName _master
 
const BoundaryName _slave
 
const MooseEnum _order
 

Detailed Description

Definition at line 19 of file ContactPenetrationAuxAction.h.

Constructor & Destructor Documentation

ContactPenetrationAuxAction::ContactPenetrationAuxAction ( const InputParameters &  params)

Definition at line 29 of file ContactPenetrationAuxAction.C.

30  : Action(params),
31  _master(getParam<BoundaryName>("master")),
32  _slave(getParam<BoundaryName>("slave")),
33  _order(getParam<MooseEnum>("order"))
34 {
35 }

Member Function Documentation

void ContactPenetrationAuxAction::act ( )
virtual

Definition at line 38 of file ContactPenetrationAuxAction.C.

39 {
40  if (!_problem->getDisplacedProblem())
41  {
42  mooseError("Contact requires updated coordinates. Use the 'displacements = ...' line in the "
43  "Mesh block.");
44  }
45 
46  {
47  InputParameters params = _factory.getValidParams("PenetrationAux");
48 
49  MultiMooseEnum execute_options = SetupInterface::getExecuteOptions();
50  execute_options = "initial linear";
51  params.set<MultiMooseEnum>("execute_on") = execute_options;
52 
53  // Extract global params
54  if (isParamValid("parser_syntax"))
55  _app.parser().extractParams(getParam<std::string>("parser_syntax"), params);
56 
57  params.set<std::vector<BoundaryName>>("boundary") = {_slave};
58  params.set<BoundaryName>("paired_boundary") = _master;
59  params.set<AuxVariableName>("variable") = "penetration";
60  params.set<MooseEnum>("order") = _order;
61 
62  params.set<bool>("use_displaced_mesh") = true;
63 
64  std::stringstream name;
65  name << _name;
66  name << "_contact_";
67  name << counter++;
68  _problem->addAuxKernel("PenetrationAux", name.str(), params);
69  }
70 }
static unsigned int counter

Member Data Documentation

const BoundaryName ContactPenetrationAuxAction::_master
private

Definition at line 27 of file ContactPenetrationAuxAction.h.

Referenced by act().

const MooseEnum ContactPenetrationAuxAction::_order
private

Definition at line 29 of file ContactPenetrationAuxAction.h.

Referenced by act().

const BoundaryName ContactPenetrationAuxAction::_slave
private

Definition at line 28 of file ContactPenetrationAuxAction.h.

Referenced by act().


The documentation for this class was generated from the following files: