23 "component",
component,
"The force component constraint that this object is supplying");
26 MooseEnum direction(
"direction_1 direction_2",
"direction_1");
29 "Tangent direction to compute the residual due to frictional contact");
31 "Used to apply tangential stresses from frictional contact using lagrange multipliers");
33 "The weighted velocities user object.");
34 params.
set<
bool>(
"interpolate_normals") =
false;
35 params.
set<
bool>(
"compute_lm_residual") =
false;
42 _component(getParam<
MooseEnum>(
"component")),
43 _direction(getParam<
MooseEnum>(
"direction")),
53 MooseEnum direction(
"direction_1 direction_2",
"direction_1");
55 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