www.mooseframework.org
ContactPressureVarAction.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
12 #include "Factory.h"
13 #include "FEProblem.h"
14 #include "Parser.h"
15 #include "MooseApp.h"
16 #include "libmesh/string_to_enum.h"
17 
18 registerMooseAction("ContactApp", ContactPressureVarAction, "add_aux_variable");
19 
20 template <>
21 InputParameters
23 {
24  MooseEnum orders("CONSTANT FIRST SECOND THIRD FOURTH", "FIRST");
25 
26  InputParameters params = validParams<Action>();
27  params.addParam<MooseEnum>("order", orders, "The finite element order: " + orders.getRawNames());
28  return params;
29 }
30 
31 ContactPressureVarAction::ContactPressureVarAction(const InputParameters & params) : Action(params)
32 {
33 }
34 
35 void
37 {
38  if (!_problem->getDisplacedProblem())
39  {
40  mooseError("Contact requires updated coordinates. Use the 'displacements = ...' line in the "
41  "Mesh block.");
42  }
43 
44  auto var_params = _factory.getValidParams("MooseVariable");
45  var_params.set<MooseEnum>("order") = getParam<MooseEnum>("order");
46  var_params.set<MooseEnum>("family") = "LAGRANGE";
47 
48  _problem->addAuxVariable("MooseVariable", "contact_pressure", var_params);
49 }
validParams< ContactPressureVarAction >
InputParameters validParams< ContactPressureVarAction >()
Definition: ContactPressureVarAction.C:22
ContactPressureVarAction.h
ContactPressureVarAction
Definition: ContactPressureVarAction.h:15
ContactPressureVarAction::act
virtual void act()
Definition: ContactPressureVarAction.C:36
ContactPressureVarAction::ContactPressureVarAction
ContactPressureVarAction(const InputParameters &params)
Definition: ContactPressureVarAction.C:31
registerMooseAction
registerMooseAction("ContactApp", ContactPressureVarAction, "add_aux_variable")