22 "component",
component,
"The force component constraint that this object is supplying");
25 MooseEnum direction(
"direction_1 direction_2",
"direction_1");
28 "Tangent direction to compute the residual due to frictional contact");
30 "Used to apply tangential stresses from frictional contact using lagrange multipliers");
32 "The weighted velocities user object.");
33 params.
set<
bool>(
"interpolate_normals") =
false;
34 params.
set<
bool>(
"compute_lm_residual") =
false;
41 _component(getParam<
MooseEnum>(
"component")),
42 _direction(getParam<
MooseEnum>(
"direction")),
52 MooseEnum direction(
"direction_1 direction_2",
"direction_1");
54 const auto tangential_pressure =
const VariableTestValue & _test_secondary
static const std::string component
Creates dof object to weighted tangential velocities map.
DualNumber< Real, DNDerivativeType, true > ADReal
static InputParameters validParams()
virtual const ADVariableValue & contactTangentialPressureDirTwo() const =0
Elem const *const & _lower_secondary_elem
const AutomaticMortarGeneration & amg() const
This class enforces mortar constraints on lower dimensional domains, skipping interior nodes...
const std::string & type() const
std::array< MooseUtils::SemidynamicVector< Point, 9 >, 2 > getNodalTangents(const Elem &secondary_elem) const
std::map< unsigned int, unsigned int > _primary_ip_lowerd_map
Nodal map from primary interior parent to lower dimensional domain.
std::map< unsigned int, unsigned int > _secondary_ip_lowerd_map
Nodal map from secondary interior parent to lower dimensional domain.
virtual const ADVariableValue & contactTangentialPressureDirOne() const =0
bool compareCurrent(const MooseEnum &other, CompareMode mode=CompareMode::COMPARE_NAME) const
const VariableTestValue & _test_primary