19 #include "libmesh/mesh_base.h" 27 params.
addRequiredParam<VariableName>(
"variable",
"The name of the variable to test for contact");
28 params.
addRequiredParam<SubdomainName>(
"subdomain",
"The subdomain that the variable lives on");
30 "tolerance", TOLERANCE,
"The tolerance for accepting that the variable indicates contact");
32 "indicating mechanical contact");
38 _var(_fe_problem.getVariable(_tid,
39 getParam<VariableName>(
"variable"),
43 _subdomain_id(_fe_problem.
mesh().
getSubdomainID(getParam<SubdomainName>(
"subdomain"))),
44 _tolerance(getParam<
Real>(
"tolerance"))
65 Threads::parallel_reduce(range, aldit);
69 for (
auto dof : aldit.getDofIndices())
74 _console << std::endl <<
"The number of nodes in contact is " <<
_count << std::endl << std::endl;
T & getMesh(MooseMesh &mesh)
function to cast mesh
const std::string & name() const override
SubdomainID getSubdomainID(const SubdomainName &subdomain_name, const MeshBase &mesh)
StoredRange< MeshBase::const_element_iterator, const Elem *> ConstElemRange
static InputParameters validParams()
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
unsigned int number() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
FEProblemBase & _fe_problem
const ConsoleStream _console