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

#include <NormalMortarMechanicalContact.h>

Inheritance diagram for NormalMortarMechanicalContact< compute_stage >:
[legend]

Public Member Functions

 NormalMortarMechanicalContact (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 NormalMortarMechanicalContact< compute_stage >

Definition at line 15 of file NormalMortarMechanicalContact.h.

Constructor & Destructor Documentation

◆ NormalMortarMechanicalContact()

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

Definition at line 26 of file NormalMortarMechanicalContact.C.

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

Member Function Documentation

◆ computeQpResidual()

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

Definition at line 34 of file NormalMortarMechanicalContact.C.

35 {
36  switch (type)
37  {
38  case Moose::MortarType::Slave:
39  // If normals is positive, then this residual is positive, indicating that we have an outflow
40  // of momentum, which in turn indicates that the momentum will tend to decrease at this
41  // location with time, which is what we want because the force vector is in the negative
42  // direction (always opposite of the normals). Conversely, if the normals is negative, then
43  // this residual is negative, indicating that we have an inflow of momentum, which in turn
44  // indicates the momentum will tend to increase at this location with time, which is what we
45  // want because the force vector is in the positive direction (always opposite of the
46  // normals).
47  return _test_slave[_i][_qp] * _lambda[_qp] * _normals[_qp](_component);
48 
49  case Moose::MortarType::Master:
50  // The normal vector is signed according to the slave face, so we need to introduce a negative
51  // sign here
52  return -_test_master[_i][_qp] * _lambda[_qp] * _normals[_qp](_component);
53 
54  default:
55  return 0;
56  }
57 }

Member Data Documentation

◆ _component

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

Definition at line 28 of file NormalMortarMechanicalContact.h.

◆ usingMortarConstraintMembers

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

Definition at line 30 of file NormalMortarMechanicalContact.h.


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