www.mooseframework.org
NodalAreaAction.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 
10 #include "NodalAreaAction.h"
11 
12 #include "Factory.h"
13 #include "FEProblem.h"
14 #include "Parser.h"
15 #include "MooseApp.h"
16 #include "Conversion.h"
17 
18 static unsigned int na_counter = 0;
19 
20 registerMooseAction("ContactApp", NodalAreaAction, "add_user_object");
21 
22 template <>
23 InputParameters
25 {
26  MooseEnum orders("FIRST SECOND THIRD FOURTH", "FIRST");
27 
28  InputParameters params = validParams<Action>();
29  params.addParam<BoundaryName>("slave", "The slave surface");
30 
31  // Set this action to build "NodalArea"
32  params.set<std::string>("type") = "NodalArea";
33  return params;
34 }
35 
36 NodalAreaAction::NodalAreaAction(const InputParameters & params) : MooseObjectAction(params) {}
37 
38 void
40 {
41  _moose_object_pars.set<std::vector<BoundaryName>>("boundary") = {getParam<BoundaryName>("slave")};
42  _moose_object_pars.set<std::vector<VariableName>>("variable") = {"nodal_area_" + _name};
43 
44  mooseAssert(_problem, "Problem pointer is NULL");
45  _moose_object_pars.set<ExecFlagEnum>("execute_on", true) = {EXEC_INITIAL, EXEC_TIMESTEP_BEGIN};
46  _moose_object_pars.set<bool>("use_displaced_mesh") = true;
47 
48  _problem->addUserObject(
49  "NodalArea", "nodal_area_object_" + Moose::stringify(na_counter++), _moose_object_pars);
50 }
NodalAreaAction
Definition: NodalAreaAction.h:16
na_counter
static unsigned int na_counter
Definition: NodalAreaAction.C:18
validParams< NodalAreaAction >
InputParameters validParams< NodalAreaAction >()
Definition: NodalAreaAction.C:24
registerMooseAction
registerMooseAction("ContactApp", NodalAreaAction, "add_user_object")
NodalAreaAction::NodalAreaAction
NodalAreaAction(const InputParameters &params)
Definition: NodalAreaAction.C:36
NodalAreaAction::act
virtual void act()
Definition: NodalAreaAction.C:39
NodalAreaAction.h