www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TangentialMortarMechanicalContact< compute_stage > Class Template Reference

#include <TangentialMortarMechanicalContact.h>

Inheritance diagram for TangentialMortarMechanicalContact< compute_stage >:
[legend]

Public Member Functions

 TangentialMortarMechanicalContact (const InputParameters &parameters)
 

Protected Member Functions

ADReal computeQpResidual (Moose::MortarType type) final
 

Protected Attributes

const MooseEnum _component
 
 usingMortarConstraintMembers
 

Detailed Description

template<ComputeStage compute_stage>
class TangentialMortarMechanicalContact< compute_stage >

Definition at line 15 of file TangentialMortarMechanicalContact.h.

Constructor & Destructor Documentation

◆ TangentialMortarMechanicalContact()

template<ComputeStage compute_stage>
TangentialMortarMechanicalContact< compute_stage >::TangentialMortarMechanicalContact ( const InputParameters &  parameters)

Definition at line 26 of file TangentialMortarMechanicalContact.C.

28  : ADMortarConstraint<compute_stage>(parameters), _component(getParam<MooseEnum>("component"))
29 {
30 }

Member Function Documentation

◆ computeQpResidual()

template<ComputeStage compute_stage>
ADReal TangentialMortarMechanicalContact< compute_stage >::computeQpResidual ( Moose::MortarType  type)
finalprotected

Definition at line 34 of file TangentialMortarMechanicalContact.C.

35 {
36  switch (type)
37  {
38  case Moose::MortarType::Slave:
39  // We have taken the convention the lagrange multiplier must have the same sign as the
40  // relative slip velocity of the slave face. So positive lambda indicates that force is being
41  // applied in the negative direction, so we want to decrease the momentum in the system, which
42  // means we want an outflow of momentum, which means we want the residual to be positive in
43  // that case. Negative lambda means force is being applied in the positive direction, so we
44  // want to increase momentum in the system, which means we want an inflow of momentum, which
45  // means we want the residual to be negative in that case. So the sign of this residual should
46  // be the same as the sign of lambda
47  return _test_slave[_i][_qp] * _lambda[_qp] * _tangents[_qp][0](_component) /
48  _tangents[_qp][0].norm();
49 
50  case Moose::MortarType::Master:
51  // Equal and opposite reactions so we put a negative sign here
52  return -_test_master[_i][_qp] * _lambda[_qp] * _tangents[_qp][0](_component) /
53  _tangents[_qp][0].norm();
54 
55  default:
56  return 0;
57  }
58 }

Member Data Documentation

◆ _component

template<ComputeStage compute_stage>
const MooseEnum TangentialMortarMechanicalContact< compute_stage >::_component
protected

Definition at line 28 of file TangentialMortarMechanicalContact.h.

◆ usingMortarConstraintMembers

template<ComputeStage compute_stage>
TangentialMortarMechanicalContact< compute_stage >::usingMortarConstraintMembers
protected

Definition at line 30 of file TangentialMortarMechanicalContact.h.


The documentation for this class was generated from the following files:
TangentialMortarMechanicalContact::_component
const MooseEnum _component
Definition: TangentialMortarMechanicalContact.h:28