25 virtual void execute()
override;
32 const std::unordered_map<const DofObject *, std::pair<ADReal, Real>> &
dofToWeightedGap()
const;
70 const unsigned int )
const 81 const unsigned int )
const 92 const unsigned int )
const 123 template <
typename K,
typename V>
125 findValue(
const std::unordered_map<K, V> & map,
const K & key,
const V & default_value = 0)
const 127 const auto it = map.find(key);
129 return default_value;
202 inline const std::unordered_map<const DofObject *, std::pair<ADReal, Real>> &
ADReal adPhysicalGap(const std::pair< ADReal, Real > &gap) const
const ADVariableValue *const _primary_disp_z
z-displacement on the primary face
unsigned int _qp
Quadrature point index for the mortar segments.
virtual const ADVariableValue & contactPressure() const =0
V findValue(const std::unordered_map< K, V > &map, const K &key, const V &default_value=0) const
Find a value in a map or return a default if the key doesn't exist.
const ADVariableValue & _secondary_disp_y
y-displacement on the secondary face
Real _qp_factor
The value of the LM at the current quadrature point.
virtual const VariableTestValue & test() const =0
static const std::string K
virtual void initialSetup() override
WeightedGapUserObject(const InputParameters ¶meters)
virtual Real getNormalContactPressure(const Node *const) const
virtual void initialize() override
const MooseVariable *const _disp_z_var
The z displacement variable.
static InputParameters validParams()
virtual Real getTangentialVelocity(const Node *const, const unsigned int) const
ADRealVectorValue _qp_displacement_nodal
Vector for computation of relative displacement (determines mixity ratio in interface problems) ...
std::unordered_map< const DofObject *, ADRealVectorValue > _dof_to_weighted_displacements
A map from node to weighted displacements.
const ADVariableValue & _secondary_disp_x
x-displacement on the secondary face
const bool _nodal
Whether the dof objects are nodal; if they're not, then they're elemental.
const bool _has_disp_z
For 2D mortar contact no displacement will be specified, so const pointers used.
const ADVariableValue & _primary_disp_x
x-displacement on the primary face
ADRealVectorValue _qp_gap_nodal
Vector for computation of weighted gap with nodal normals.
DualNumber< Real, DNDerivativeType, true > ADReal
const ADReal * _weighted_gap_ptr
A pointer members that can be used to help avoid copying ADReals.
virtual Real getNormalGap(const Node *const) const
ADReal _qp_gap
The value of the gap at the current quadrature point.
const ADVariableValue & _primary_disp_y
y-displacement on the primary face
OutputTools< Real >::VariableTestValue VariableTestValue
const VariableTestValue * _test
A pointer to the test function associated with the weighted gap.
const ADVariableValue *const _secondary_disp_z
z-displacement on the secondary face
virtual void computeQpProperties()
Computes properties that are functions only of the current quadrature point (_qp), e.g.
virtual Real getAccumulatedSlip(const Node *const, const unsigned int) const
const std::unordered_map< const DofObject *, std::pair< ADReal, Real > > & dofToWeightedGap() const
Get the degree of freedom to weighted gap information.
virtual void execute() override
const MooseArray< Real > & _coord
Member for handling change of coordinate systems (xyz, rz, spherical)
virtual Real getFrictionalContactPressure(const Node *const, const unsigned int) const
const Real * _normalization_ptr
Creates dof object to weighted gap map.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool _is_weighted_gap_nodal
Whether the weighted gap is associated with nodes or elements (like for a CONSTANT MONOMIAL Lagrange ...
const MooseVariable *const _disp_y_var
The y displacement variable.
virtual bool constrainedByOwner() const =0
void mooseError(Args &&... args) const
unsigned int _i
Test function index.
const InputParameters & parameters() const
Real physicalGap(const std::pair< ADReal, Real > &gap) const
Compute physical gap from integration gap quantity.
const MooseVariable *const _disp_x_var
The x displacement variable.
virtual void computeQpIProperties()
Computes properties that are functions both of _qp and _i, for example the weighted gap...
std::unordered_map< const DofObject *, std::pair< ADReal, Real > > _dof_to_weighted_gap
A map from node to weighted gap and normalization (if requested)
FEProblemBase & _fe_problem
The base finite element problem.
virtual void finalize() override