22 "Returns the weighted gap velocity at a node. This quantity is useful for mortar contact, " 23 "particularly when dual basis functions are used in contact mechanics");
25 "Optional variable to take the value of. If omitted the value of the " 26 "`variable` itself is returned.");
29 params.
addCoupledVar(
"disp_z",
"The z displacement variable");
30 params.
set<
bool>(
"interpolate_normals") =
false;
31 params.
addParam<
bool>(
"use_displaced_mesh",
33 "Whether to use the displaced mesh to compute the auxiliary kernel value.");
39 _has_disp_z(isCoupled(
"disp_z")),
40 _disp_x(*getVar(
"disp_x", 0)),
41 _disp_y(*getVar(
"disp_y", 0)),
42 _disp_z(getVar(
"disp_z", 0)),
43 _secondary_x_dot(_disp_x.adUDot()),
44 _primary_x_dot(_disp_x.adUDotNeighbor()),
45 _secondary_y_dot(_disp_y.adUDot()),
46 _primary_y_dot(_disp_y.adUDotNeighbor()),
47 _secondary_z_dot(_has_disp_z ? &_disp_z->adUDot() : nullptr),
48 _primary_z_dot(_has_disp_z ? &_disp_z->adUDotNeighbor() : nullptr),
49 _weighted_gap_velocity(0),
51 _qp_gap_velocity_nodal(0)
56 "This auxiliary kernel typically requires the use of displaced meshes to compute the " 57 "weighted gap velocity.");
registerMooseObject("ContactApp", WeightedGapVelAux)
void computeQpProperties()
static InputParameters validParams()
RealVectorValue _qp_gap_velocity_nodal
The gap velocity vector at the current quadrature point, used when we are not interpolating the norma...
static InputParameters validParams()
const ADVariableValue *const _secondary_z_dot
z-velocity on the secondary face
const bool _has_disp_z
For 2D mortar contact no displacement will be specified, so const pointers used.
const std::vector< Real > & _JxW_msm
void computeQpIProperties()
const libMesh::QBase *const & _qrule_msm
const OutputTools< ComputeValueType >::VariableTestValue & _test_lower
const ADVariableValue & _primary_x_dot
x-velocity on the primary face
const ADVariableValue *const _primary_z_dot
z-velocity on the primary face
std::vector< Point > _normals
const MooseArray< Real > & _coord_msm
unsigned int n_points() const
Real _weighted_gap_velocity
The weighted gap velocity.
WeightedGapVelAux(const InputParameters ¶meters)
Factory constructor, takes parameters so that all derived classes can be built using the same constru...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const ADVariableValue & _secondary_x_dot
x-velocity on the secondary face
const ADVariableValue & _primary_y_dot
y-velocity on the primary face
void paramWarning(const std::string ¶m, Args... args) const
Compute nodal weighted gap velocity based on a mortar discretization.
Real computeValue() override
const ADVariableValue & _secondary_y_dot
y-velocity on the secondary face