https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
RANFSNormalMechanicalContact Class Reference

#include <RANFSNormalMechanicalContact.h>

Inheritance diagram for RANFSNormalMechanicalContact:
[legend]

Public Types

enum  ResidualTagType { ResidualTagType::NonReference, ResidualTagType::Reference }
 
typedef DataFileName DataFileParameterType
 

Public Member Functions

 RANFSNormalMechanicalContact (const InputParameters &parameters)
 
bool shouldApply () override
 
void residualSetup () override
 
void timestepSetup () override
 
void initialSetup () override
 
bool overwriteSecondaryResidual () override
 
void computeSecondaryValue (NumericVector< Number > &solution) override
 
virtual void computeResidual () override
 
virtual void computeJacobian () override
 
virtual void computeOffDiagJacobian (unsigned int jvar) override
 
virtual void getConnectedDofIndices (unsigned int var_num)
 
virtual bool overwriteSecondaryJacobian ()
 
virtual MooseVariableprimaryVariable ()
 
BoundaryID primaryBoundary () const
 
BoundaryID secondaryBoundary () const
 
const MooseVariablevariable () const override
 
Real secondaryResidual () const
 
virtual const std::unordered_set< unsigned int > & getMatPropDependencies () const
 
virtual bool isExplicitConstraint () const
 
virtual void overwriteBoundaryVariables (NumericVector< Number > &, const Node &) const
 
std::set< SubdomainIDgetSecondaryConnectedBlocks () const
 
virtual bool addCouplingEntriesToJacobian ()
 
virtual void subdomainSetup () override final
 
virtual void residualEnd ()
 
void prepareNeighborShapes (unsigned int var_num)
 
virtual void computeResidualAndJacobian ()
 
virtual void computeOffDiagJacobianScalar (unsigned int)
 
virtual void computeNonlocalJacobian ()
 
virtual void computeNonlocalOffDiagJacobian (unsigned int)
 
const SubProblemsubProblem () const
 
virtual void prepareShapes (unsigned int var_num)
 
virtual std::set< std::string > additionalROVariables ()
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T * queryParam (const std::string &name) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
virtual void jacobianSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
const FunctiongetFunction (const std::string &name) const
 
const FunctiongetFunctionByName (const FunctionName &name) const
 
bool hasFunction (const std::string &param_name) const
 
bool hasFunctionByName (const FunctionName &name) const
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const T & getUserObject (const std::string &param_name, bool is_dependency=true) const
 
const T & getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 
bool isImplicit ()
 
Moose::StateArg determineState () const
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 
const VectorPostprocessorName & getVectorPostprocessorName (const std::string &param_name) const
 
void setRandomResetFrequency (ExecFlagType exec_flag)
 
unsigned long getRandomLong () const
 
Real getRandomReal () const
 
unsigned int getSeed (std::size_t id)
 
unsigned int getMasterSeed () const
 
bool isNodal () const
 
ExecFlagType getResetOnTime () const
 
void setRandomDataPointer (RandomData *random_data)
 
virtual void meshChanged ()
 
void useVectorTag (const TagName &tag_name, VectorTagsKey)
 
void useVectorTag (TagID tag_id, VectorTagsKey)
 
void useMatrixTag (const TagName &tag_name, MatrixTagsKey)
 
void useMatrixTag (TagID tag_id, MatrixTagsKey)
 
bool isVectorTagged ()
 
bool isMatrixTagged ()
 
bool hasVectorTags () const
 
const std::set< TagID > & getVectorTags (VectorTagsKey) const
 
const std::set< TagID > & getMatrixTags (MatrixTagsKey) const
 
virtual const VariableValuecoupledNeighborValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledNeighborValues (const std::string &var_name) const
 
std::vector< const VariableValue *> coupledNeighborValuesOld (const std::string &var_name) const
 
std::vector< const VariableValue *> coupledNeighborValuesOlder (const std::string &var_name) const
 
virtual const ADVariableValueadCoupledNeighborValue (const std::string &var_name, unsigned int comp=0) const
 
const auto & coupledGenericNeighborValue (const std::string &var_name, unsigned int comp=0) const
 
const auto & coupledGenericNeighborGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const ADVariableValueadCoupledNeighborValueDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableValue *> adCoupledNeighborValues (const std::string &var_name) const
 
virtual const ADVectorVariableValueadCoupledVectorNeighborValue (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNeighborValueDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNeighborValueDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNeighborValueOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNeighborValueOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledNeighborGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual std::vector< const VariableGradient *> coupledNeighborGradients (const std::string &var_name) const
 
virtual const VariableGradientcoupledNeighborGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledNeighborGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ADVariableGradientadCoupledNeighborGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorNeighborGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorNeighborGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorNeighborGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayNeighborValue (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayNeighborGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayNeighborGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayNeighborGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledNeighborSecond (const std::string &var_name, unsigned int i=0) const
 
virtual const VariableValuecoupledNeighborDofValues (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNeighborDofValuesOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNeighborDofValuesOlder (const std::string &var_name, unsigned int comp=0) const
 
const std::unordered_map< std::string, std::vector< MooseVariableFieldBase *> > & getCoupledVars () const
 
const std::vector< MooseVariableFieldBase *> & getCoupledMooseVars () const
 
const std::vector< MooseVariable *> & getCoupledStandardMooseVars () const
 
const std::vector< VectorMooseVariable *> & getCoupledVectorMooseVars () const
 
const std::vector< ArrayMooseVariable *> & getCoupledArrayMooseVars () const
 
void addFEVariableCoupleableVectorTag (TagID tag)
 
void addFEVariableCoupleableMatrixTag (TagID tag)
 
std::set< TagID > & getFEVariableCoupleableVectorTags ()
 
const std::set< TagID > & getFEVariableCoupleableVectorTags () const
 
std::set< TagID > & getFEVariableCoupleableMatrixTags ()
 
const std::set< TagID > & getFEVariableCoupleableMatrixTags () const
 
auto & getWritableCoupledVariables () const
 
bool hasWritableCoupledVariables () const
 
const ADVariableValuegetADDefaultValue (const std::string &var_name) const
 
const ADVectorVariableValuegetADDefaultVectorValue (const std::string &var_name) const
 
const ADVariableGradientgetADDefaultGradient () const
 
const ADVectorVariableGradientgetADDefaultVectorGradient () const
 
const ADVariableSecondgetADDefaultSecond () const
 
const ADVectorVariableCurlgetADDefaultCurl () const
 
const std::vector< MooseVariableScalar *> & getCoupledMooseScalarVars ()
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () const
 
const std::set< MooseVariableFieldBase *> & getMooseVariableDependencies () const
 
std::set< MooseVariableFieldBase *> checkAllVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_omit={})
 
std::set< MooseVariableFieldBase *> checkVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_check)
 
void addMooseVariableDependency (MooseVariableFieldBase *var)
 
void addMooseVariableDependency (const std::vector< MooseVariableFieldBase * > &vars)
 
MooseVariableBasemooseVariableBase () const
 
MooseVariableField< Real > & mooseVariableField ()
 
MooseVariableFE< Real > * mooseVariable () const
 
MooseVariableFV< Real > * mooseVariableFV () const
 
MooseLinearVariableFV< Real > * mooseLinearVariableFV () const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
PenetrationLocatorgetPenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 
PenetrationLocatorgetQuadraturePenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 
NearestNodeLocatorgetNearestNodeLocator (const BoundaryName &primary, const BoundaryName &secondary)
 
NearestNodeLocatorgetQuadratureNearestNodeLocator (const BoundaryName &primary, const BoundaryName &secondary)
 
bool requiresGeometricSearch () const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

static InputParameters validParams ()
 

Public Attributes

const ConsoleStream _console
 

Protected Member Functions

virtual Real computeQpSecondaryValue () override
 
virtual Real computeQpResidual (Moose::ConstraintType type) override
 
virtual Real computeQpJacobian (Moose::ConstraintJacobianType type) override
 
virtual Real computeQpOffDiagJacobian (Moose::ConstraintJacobianType, unsigned int)
 
virtual const VariableValuecoupledSecondaryValue (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableValuecoupledSecondaryValueOld (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableValuecoupledSecondaryValueOlder (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableGradientcoupledSecondaryGradient (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableGradientcoupledSecondaryGradientOld (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableGradientcoupledSecondaryGradientOlder (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableSecondcoupledSecondarySecond (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableValuecoupledPrimaryValue (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableValuecoupledPrimaryValueOld (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableValuecoupledPrimaryValueOlder (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableGradientcoupledPrimaryGradient (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableGradientcoupledPrimaryGradientOld (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableGradientcoupledPrimaryGradientOlder (const std::string &var_name, unsigned int comp=0)
 
virtual const VariableSecondcoupledPrimarySecond (const std::string &var_name, unsigned int comp=0)
 
const std::set< BoundaryID > & buildBoundaryIDs ()
 
virtual void precalculateResidual ()
 
virtual void precalculateJacobian ()
 
virtual void precalculateOffDiagJacobian (unsigned int)
 
const MooseVariableFieldBasegetVariable (unsigned int jvar_num) const
 
virtual void addUserObjectDependencyHelper (const UserObject &) const
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &) const
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const
 
T & declareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const T & getRestartableData (const std::string &data_name) const
 
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTagNeighbor (Assembly &assembly, unsigned int ivar)
 
void prepareVectorTagLower (Assembly &assembly, unsigned int ivar)
 
void prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar)
 
void prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar, DenseMatrix< Number > &k) const
 
void prepareMatrixTagNonlocal (Assembly &assembly, unsigned int ivar, unsigned int jvar)
 
void prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type)
 
void prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, DenseMatrix< Number > &k) const
 
void prepareMatrixTagLower (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::ConstraintJacobianType type)
 
void accumulateTaggedLocalResidual ()
 
void assignTaggedLocalResidual ()
 
void accumulateTaggedLocalMatrix ()
 
void accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, const DenseMatrix< Number > &k)
 
void accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, const DenseMatrix< Number > &k)
 
void accumulateTaggedNonlocalMatrix ()
 
void assignTaggedLocalMatrix ()
 
void addResiduals (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResiduals (Assembly &assembly, const DenseVector< T > &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResiduals (Assembly &assembly, const ADResidualsPacket &packet)
 
void addResidualsAndJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResidualsAndJacobian (Assembly &assembly, const ADResidualsPacket &packet)
 
void addJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobian (Assembly &assembly, const ADResidualsPacket &packet)
 
void addJacobian (Assembly &assembly, DenseMatrix< Real > &local_k, const std::vector< dof_id_type > &row_indices, const std::vector< dof_id_type > &column_indices, Real scaling_factor)
 
void addResidualsWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResidualsAndJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobianElement (Assembly &assembly, Real value, dof_id_type row_index, dof_id_type column_index, Real scaling_factor)
 
void setResidual (SystemBase &sys, const T &residual, MooseVariableFE< T > &var)
 
void setResidual (SystemBase &sys, Real residual, dof_id_type dof_index)
 
void setResidual (SystemBase &sys, SetResidualFunctor set_residual_functor)
 
virtual void coupledCallback (const std::string &, bool) const
 
virtual bool isCoupled (const std::string &var_name, unsigned int i=0) const
 
virtual bool isCoupledConstant (const std::string &var_name) const
 
unsigned int coupledComponents (const std::string &var_name) const
 
VariableName coupledName (const std::string &var_name, unsigned int comp=0) const
 
std::vector< VariableName > coupledNames (const std::string &var_name) const
 
virtual unsigned int coupled (const std::string &var_name, unsigned int comp=0) const
 
std::vector< unsigned intcoupledIndices (const std::string &var_name) const
 
virtual const VariableValuecoupledValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledValues (const std::string &var_name) const
 
std::vector< const VectorVariableValue *> coupledVectorValues (const std::string &var_name) const
 
const GenericVariableValue< is_ad > & coupledGenericValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericValue (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericValue (const std::string &var_name, unsigned int comp) const
 
const GenericVectorVariableValue< is_ad > & coupledGenericVectorValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVectorVariableValue< false > & coupledGenericVectorValue (const std::string &var_name, unsigned int comp) const
 
const GenericVectorVariableValue< true > & coupledGenericVectorValue (const std::string &var_name, unsigned int comp) const
 
std::vector< const GenericVariableValue< is_ad > *> coupledGenericValues (const std::string &var_name) const
 
std::vector< const GenericVariableValue< false > *> coupledGenericValues (const std::string &var_name) const
 
std::vector< const GenericVariableValue< true > *> coupledGenericValues (const std::string &var_name) const
 
const GenericVariableValue< is_ad > & coupledGenericDofValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericDofValue (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericDofValue (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< is_ad > & coupledGenericDot (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericDot (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericDot (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< is_ad > & coupledGenericDotDot (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericDotDot (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericDotDot (const std::string &var_name, unsigned int comp) const
 
virtual const VariableValuecoupledValueLower (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableValue *> adCoupledValues (const std::string &var_name) const
 
const ADVariableValueadCoupledLowerValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableValueadCoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVectorVariableValue *> adCoupledVectorValues (const std::string &var_name) const
 
virtual const VariableValuecoupledVectorTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableValuecoupledVectorTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableValue *> coupledVectorTagValues (const std::string &var_names, TagID tag) const
 
std::vector< const VariableValue *> coupledVectorTagValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const ArrayVariableValuecoupledVectorTagArrayValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const ArrayVariableValuecoupledVectorTagArrayValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const ArrayVariableValue *> coupledVectorTagArrayValues (const std::string &var_names, TagID tag) const
 
std::vector< const ArrayVariableValue *> coupledVectorTagArrayValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableGradientcoupledVectorTagGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableGradientcoupledVectorTagGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableGradient *> coupledVectorTagGradients (const std::string &var_names, TagID tag) const
 
std::vector< const VariableGradient *> coupledVectorTagGradients (const std::string &var_names, const std::string &tag_name) const
 
virtual const ArrayVariableGradientcoupledVectorTagArrayGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const ArrayVariableGradientcoupledVectorTagArrayGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const ArrayVariableGradient *> coupledVectorTagArrayGradients (const std::string &var_names, TagID tag) const
 
std::vector< const ArrayVariableGradient *> coupledVectorTagArrayGradients (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableValuecoupledVectorTagDofValue (const std::string &var_name, TagID tag, unsigned int index=0) const
 
virtual const VariableValuecoupledVectorTagDofValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
const ArrayVariableValuecoupledVectorTagArrayDofValue (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledVectorTagDofValues (const std::string &var_names, TagID tag) const
 
std::vector< const VariableValue *> coupledVectorTagDofValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableValuecoupledMatrixTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableValuecoupledMatrixTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableValue *> coupledMatrixTagValues (const std::string &var_names, TagID tag) const
 
std::vector< const VariableValue *> coupledMatrixTagValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VectorVariableValuecoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ArrayVariableValue *> coupledArrayValues (const std::string &var_name) const
 
MooseWritableVariablewritableVariable (const std::string &var_name, unsigned int comp=0)
 
virtual VariableValuewritableCoupledValue (const std::string &var_name, unsigned int comp=0)
 
void checkWritableVar (MooseWritableVariable *var)
 
virtual const VariableValuecoupledValueOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledValuesOld (const std::string &var_name) const
 
std::vector< const VectorVariableValue *> coupledVectorValuesOld (const std::string &var_name) const
 
virtual const VariableValuecoupledValueOlder (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledValuesOlder (const std::string &var_name) const
 
virtual const VariableValuecoupledValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorValueOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorValueOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayValueOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayValueOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradient (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableGradient *> coupledGradients (const std::string &var_name) const
 
const ADVariableGradientadCoupledGradient (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableGradientadCoupledGradientDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableGradient *> adCoupledGradients (const std::string &var_name) const
 
const GenericVariableGradient< is_ad > & coupledGenericGradient (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableGradient< false > & coupledGenericGradient (const std::string &var_name, unsigned int comp) const
 
const GenericVariableGradient< true > & coupledGenericGradient (const std::string &var_name, unsigned int comp) const
 
std::vector< const GenericVariableGradient< is_ad > *> coupledGenericGradients (const std::string &var_name) const
 
std::vector< const GenericVariableGradient< false > *> coupledGenericGradients (const std::string &var_name) const
 
std::vector< const GenericVariableGradient< true > *> coupledGenericGradients (const std::string &var_name) const
 
const ADVectorVariableGradientadCoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableSecondadCoupledSecond (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableSecondadCoupledVectorSecond (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableGradient *> coupledGradientsOld (const std::string &var_name) const
 
virtual const VariableGradientcoupledGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientPreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradientDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurlcoupledCurl (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurlcoupledCurlOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurlcoupledCurlOlder (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableCurladCoupledCurl (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergencecoupledDiv (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergencecoupledDivOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergencecoupledDivOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecond (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecondOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecondOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecondPreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledDots (const std::string &var_name) const
 
virtual const VariableValuecoupledDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableValue *> adCoupledDots (const std::string &var_name) const
 
const ADVariableValueadCoupledDotDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableValueadCoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledVectorDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledVectorDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledArrayDotDu (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
const Moose::ADType< T >::typeadCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNodalDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNodalDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNodalDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDofValues (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledAllDofValues (const std::string &var_name) const
 
virtual const VariableValuecoupledDofValuesOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledAllDofValuesOld (const std::string &var_name) const
 
virtual const VariableValuecoupledDofValuesOlder (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue *> coupledAllDofValuesOlder (const std::string &var_name) const
 
virtual const ArrayVariableValuecoupledArrayDofValues (const std::string &var_name, unsigned int comp=0) const
 
virtual const ADVariableValueadCoupledDofValues (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadZeroValue () const
 
const ADVariableGradientadZeroGradient () const
 
const ADVariableSecondadZeroSecond () const
 
const GenericVariableValue< is_ad > & genericZeroValue ()
 
const GenericVariableValue< false > & genericZeroValue ()
 
const GenericVariableValue< true > & genericZeroValue ()
 
const GenericVariableGradient< is_ad > & genericZeroGradient ()
 
const GenericVariableGradient< false > & genericZeroGradient ()
 
const GenericVariableGradient< true > & genericZeroGradient ()
 
const GenericVariableSecond< is_ad > & genericZeroSecond ()
 
const GenericVariableSecond< false > & genericZeroSecond ()
 
const GenericVariableSecond< true > & genericZeroSecond ()
 
bool checkVar (const std::string &var_name, unsigned int comp=0, unsigned int comp_bound=0) const
 
const MooseVariableFieldBasegetFEVar (const std::string &var_name, unsigned int comp) const
 
const MooseVariableFieldBasegetFieldVar (const std::string &var_name, unsigned int comp) const
 
MooseVariableFieldBasegetFieldVar (const std::string &var_name, unsigned int comp)
 
const T * getVarHelper (const std::string &var_name, unsigned int comp) const
 
T * getVarHelper (const std::string &var_name, unsigned int comp)
 
MooseVariablegetVar (const std::string &var_name, unsigned int comp)
 
const MooseVariablegetVar (const std::string &var_name, unsigned int comp) const
 
VectorMooseVariablegetVectorVar (const std::string &var_name, unsigned int comp)
 
const VectorMooseVariablegetVectorVar (const std::string &var_name, unsigned int comp) const
 
ArrayMooseVariablegetArrayVar (const std::string &var_name, unsigned int comp)
 
const ArrayMooseVariablegetArrayVar (const std::string &var_name, unsigned int comp) const
 
void validateExecutionerType (const std::string &name, const std::string &fn_name) const
 
std::vector< T > coupledVectorHelper (const std::string &var_name, const Func &func) const
 
bool isCoupledScalar (const std::string &var_name, unsigned int i=0) const
 
unsigned int coupledScalarComponents (const std::string &var_name) const
 
unsigned int coupledScalar (const std::string &var_name, unsigned int comp=0) const
 
libMesh::Order coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< is_ad > & coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const VariableValuecoupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const MooseVariableScalargetScalarVar (const std::string &var_name, unsigned int comp) const
 
virtual const OutputTools< Real >::VariableValueneighborValue ()
 
const VectorVariableValueneighborValue ()
 
virtual const OutputTools< Real >::VariableValueneighborValueOld ()
 
const VectorVariableValueneighborValueOld ()
 
virtual const OutputTools< Real >::VariableValueneighborValueOlder ()
 
const VectorVariableValueneighborValueOlder ()
 
virtual const OutputTools< Real >::VariableGradientneighborGradient ()
 
virtual const OutputTools< Real >::VariableGradientneighborGradientOld ()
 
virtual const OutputTools< Real >::VariableGradientneighborGradientOlder ()
 
virtual const OutputTools< Real >::VariableSecondneighborSecond ()
 
virtual const OutputTools< Real >::VariableSecondneighborSecondOld ()
 
virtual const OutputTools< Real >::VariableSecondneighborSecondOlder ()
 
virtual const OutputTools< Real >::VariableTestSecondneighborSecondTest ()
 
virtual const OutputTools< Real >::VariablePhiSecondneighborSecondPhi ()
 
virtual const OutputTools< Real >::VariableValuevalue ()
 
virtual const OutputTools< Real >::VariableValuevalueOld ()
 
virtual const OutputTools< Real >::VariableValuevalueOlder ()
 
virtual const OutputTools< Real >::VariableValuedot ()
 
virtual const OutputTools< Real >::VariableValuedotDot ()
 
virtual const OutputTools< Real >::VariableValuedotOld ()
 
virtual const OutputTools< Real >::VariableValuedotDotOld ()
 
virtual const VariableValuedotDu ()
 
virtual const VariableValuedotDotDu ()
 
virtual const OutputTools< Real >::VariableGradientgradient ()
 
virtual const OutputTools< Real >::VariableGradientgradientOld ()
 
virtual const OutputTools< Real >::VariableGradientgradientOlder ()
 
virtual const OutputTools< Real >::VariableSecondsecond ()
 
virtual const OutputTools< Real >::VariableSecondsecondOld ()
 
virtual const OutputTools< Real >::VariableSecondsecondOlder ()
 
virtual const OutputTools< Real >::VariableTestSecondsecondTest ()
 
virtual const OutputTools< Real >::VariableTestSecondsecondTestFace ()
 
virtual const OutputTools< Real >::VariablePhiSecondsecondPhi ()
 
virtual const OutputTools< Real >::VariablePhiSecondsecondPhiFace ()
 

Protected Attributes

const MooseEnum _component
 
const unsigned int _mesh_dimension
 
NumericVector< Number > & _residual_copy
 
unsigned int _largest_component
 
std::vector< unsigned int_vars
 
std::vector< MooseVariable * > _var_objects
 
std::unordered_map< dof_id_type, Real_node_to_contact_lm
 
std::unordered_map< dof_id_type, Real_node_to_tied_lm
 
std::unordered_map< dof_id_type, std::vector< const Elem * > > _node_to_primary_elem_sequence
 
Real _contact_lm
 
Real _tied_lm
 
PenetrationInfo_pinfo
 
std::unordered_map< dof_id_type, const Node * > _ping_pong_secondary_node_to_primary_node
 
Real _distance
 
bool _tie_nodes
 
unsigned int _primary_index
 
RealVectorValue _res_vec
 
const Node * _nearest_node
 
std::vector< std::unordered_map< dof_id_type, Number > > _dof_number_to_value
 
CouplingMatrix _disp_coupling
 
const bool _ping_pong_protection
 
const SparseMatrix< Number > * _jacobian
 
BoundaryID _secondary
 
BoundaryID _primary
 
MooseVariable_var
 
const MooseArray< Point > & _primary_q_point
 
const QBase *const & _primary_qrule
 
std::set< BoundaryID_boundary_ids
 
PenetrationLocator_penetration_locator
 
const Node *const & _current_node
 
const Elem *const & _current_primary
 
const VariableValue_u_secondary
 
VariablePhiValue _phi_secondary
 
VariableTestValue _test_secondary
 
MooseVariable_primary_var
 
unsigned int _primary_var_num
 
const VariablePhiValue_phi_primary
 
const VariablePhiGradient_grad_phi_primary
 
const VariableTestValue_test_primary
 
const VariableTestGradient_grad_test_primary
 
const VariableValue_u_primary
 
const VariableGradient_grad_u_primary
 
const DofMap & _dof_map
 
const std::map< dof_id_type, std::vector< dof_id_type > > & _node_to_elem_map
 
bool _overwrite_secondary_residual
 
const MooseArray< Real > & _primary_JxW
 
bool _secondary_residual_computed
 
Real _secondary_residual
 
const std::unordered_set< unsigned int_empty_mat_prop_deps
 
std::vector< dof_id_type_connected_dof_indices
 
DenseMatrix< Number_Kne
 
DenseMatrix< Number_Kee
 
DenseMatrix< Number_Ken
 
unsigned int _i
 
unsigned int _j
 
unsigned int _qp
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
THREAD_ID _tid
 
Assembly_assembly
 
MooseMesh_mesh
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 
Real_t
 
const Real_t_old
 
int_t_step
 
Real_dt
 
Real_dt_old
 
bool _is_transient
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
FEProblemBase_mci_feproblem
 
DenseVector< Number_local_re
 
DenseMatrix< Number_local_ke
 
DenseMatrix< Number_nonlocal_ke
 
GeometricSearchData_geometric_search_data
 
bool _requires_geometric_search
 
bool _neighbor_nodal
 
const InputParameters_c_parameters
 
const std::string & _c_name
 
const std::string & _c_type
 
FEProblemBase_c_fe_problem
 
const SystemBase *const _c_sys
 
std::unordered_map< std::string, std::vector< MooseVariableFieldBase *> > _coupled_vars
 
std::vector< MooseVariableFieldBase *> _coupled_moose_vars
 
std::vector< MooseVariable *> _coupled_standard_moose_vars
 
std::vector< VectorMooseVariable *> _coupled_vector_moose_vars
 
std::vector< ArrayMooseVariable *> _coupled_array_moose_vars
 
std::vector< MooseVariableFV< Real > *> _coupled_standard_fv_moose_vars
 
std::vector< MooseLinearVariableFV< Real > *> _coupled_standard_linear_fv_moose_vars
 
const std::unordered_map< std::string, std::string > & _new_to_deprecated_coupled_vars
 
bool _c_nodal
 
bool _c_is_implicit
 
const bool _c_allow_element_to_nodal_coupling
 
THREAD_ID _c_tid
 
std::unordered_map< std::string, std::vector< std::unique_ptr< VariableValue > > > _default_value
 
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADReal > > > _ad_default_value
 
std::unordered_map< std::string, std::unique_ptr< VectorVariableValue > > _default_vector_value
 
std::unordered_map< std::string, std::unique_ptr< ArrayVariableValue > > _default_array_value
 
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADRealVectorValue > > > _ad_default_vector_value
 
VariableValue _default_value_zero
 
VariableGradient _default_gradient
 
MooseArray< ADRealVectorValue_ad_default_gradient
 
MooseArray< ADRealTensorValue_ad_default_vector_gradient
 
VariableSecond _default_second
 
MooseArray< ADRealTensorValue_ad_default_second
 
MooseArray< ADRealVectorValue_ad_default_curl
 
const VariableValue_zero
 
const VariablePhiValue_phi_zero
 
const MooseArray< ADReal > & _ad_zero
 
const VariableGradient_grad_zero
 
const MooseArray< ADRealVectorValue > & _ad_grad_zero
 
const VariablePhiGradient_grad_phi_zero
 
const VariableSecond_second_zero
 
const MooseArray< ADRealTensorValue > & _ad_second_zero
 
const VariablePhiSecond_second_phi_zero
 
const VectorVariableValue_vector_zero
 
const VectorVariableCurl_vector_curl_zero
 
VectorVariableValue _default_vector_value_zero
 
VectorVariableGradient _default_vector_gradient
 
VectorVariableCurl _default_vector_curl
 
VectorVariableDivergence _default_div
 
ArrayVariableValue _default_array_value_zero
 
ArrayVariableGradient _default_array_gradient
 
bool _coupleable_neighbor
 
FEProblemBase_sc_fe_problem
 
const THREAD_ID _sc_tid
 
const Real_real_zero
 
const VariableValue_scalar_zero
 
const Point & _point_zero
 
bool _nodal
 
MooseVariableFE< Real > * _variable
 
MooseVariableFV< Real > * _fv_variable
 
MooseLinearVariableFV< Real > * _linear_fv_variable
 
MooseVariableField< Real > * _field_variable
 
Assembly_mvi_assembly
 
const Parallel::Communicator & _communicator
 

Detailed Description

Definition at line 29 of file RANFSNormalMechanicalContact.h.

Constructor & Destructor Documentation

◆ RANFSNormalMechanicalContact()

RANFSNormalMechanicalContact::RANFSNormalMechanicalContact ( const InputParameters parameters)

Definition at line 50 of file RANFSNormalMechanicalContact.C.

52  _component(getParam<MooseEnum>("component")),
55  _dof_number_to_value(coupledComponents("displacements")),
56  _disp_coupling(coupledComponents("displacements")),
57  _ping_pong_protection(getParam<bool>("ping_pong_protection"))
58 {
59  // modern parameter scheme for displacements
60  for (unsigned int i = 0; i < coupledComponents("displacements"); ++i)
61  {
62  _vars.push_back(coupled("displacements", i));
63  _var_objects.push_back(getVar("displacements", i));
64  }
65 
66  for (auto & var : _var_objects)
67  if (var->feType().family != LAGRANGE)
68  mooseError("This object only works when the displacement variables use a Lagrange basis");
69 
70  if (_vars.size() != _mesh_dimension)
71  mooseError("The number of displacement variables does not match the mesh dimension!");
72 
73  if (parameters.isParamValid("normal_smoothing_distance"))
74  _penetration_locator.setNormalSmoothingDistance(getParam<Real>("normal_smoothing_distance"));
75 }
MooseMesh & _mesh
std::vector< MooseVariable * > _var_objects
LAGRANGE
NumericVector< Number > & _residual_copy
virtual unsigned int coupled(const std::string &var_name, unsigned int comp=0) const
void setNormalSmoothingDistance(Real normal_smoothing_distance)
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
SystemBase & _sys
NodeFaceConstraint(const InputParameters &parameters)
std::vector< std::unordered_map< dof_id_type, Number > > _dof_number_to_value
virtual unsigned int dimension() const
unsigned int coupledComponents(const std::string &var_name) const
void mooseError(Args &&... args) const
const InputParameters & parameters() const
PenetrationLocator & _penetration_locator
virtual NumericVector< Number > & residualGhosted()
bool isParamValid(const std::string &name) const

Member Function Documentation

◆ computeQpJacobian()

Real RANFSNormalMechanicalContact::computeQpJacobian ( Moose::ConstraintJacobianType  type)
overrideprotectedvirtual

Implements NodeFaceConstraint.

Definition at line 315 of file RANFSNormalMechanicalContact.C.

316 {
317  switch (type)
318  {
319  case Moose::ConstraintJacobianType::SecondarySecondary:
320  {
321  if (_tie_nodes)
322  return _phi_secondary[_j][_qp];
323 
324  // doing contact
325  else
326  {
327  // corresponds to gap equation
328  if (_largest_component == static_cast<unsigned int>(_component))
329  // _phi_secondary has been set such that it is 1 when _j corresponds to the degree of
330  // freedom associated with the _current node and 0 otherwise
331  return std::abs(_pinfo->_normal(_component)) * _phi_secondary[_j][_qp];
332 
333  // corresponds to regular residual with Lagrange Multiplier applied
334  else
335  {
336  Real ret_val = 0;
337  for (MooseIndex(_disp_coupling) i = 0; i < _disp_coupling.size(); ++i)
338  if (_disp_coupling(_component, i))
339  {
340  mooseAssert(
342  _dof_number_to_value[i].end(),
343  "The connected dof index is not found in the _dof_number_to_value container. "
344  "This must mean that insufficient sparsity was allocated");
345  ret_val += -_pinfo->_normal(_component) * _pinfo->_normal(i) *
347  }
348  return ret_val;
349  }
350  }
351  }
352 
353  case Moose::ConstraintJacobianType::SecondaryPrimary:
354  {
355  if (_tie_nodes)
356  {
357  if (_primary_index == _j)
358  return -1;
359 
360  // We're tying the secondary node to only one node on the primary side (specified by
361  // _primary_index). If the current _j doesn't correspond to that tied primary node, then the
362  // secondary residual doesn't depend on it
363  else
364  return 0;
365  }
366  else
367  {
368  if (_largest_component == static_cast<unsigned int>(_component))
369  return -std::abs(_pinfo->_normal(_component)) * _phi_primary[_j][_qp];
370 
371  // If we're not applying the gap constraint equation on this _component, then we're
372  // applying a Lagrange multiplier, and consequently there is no dependence of the secondary
373  // residual on the primary dofs because the Lagrange multiplier is only a functon of the
374  // secondary residuals
375  else
376  return 0;
377  }
378  }
379 
380  case Moose::ConstraintJacobianType::PrimarySecondary:
381  {
382  if (_tie_nodes)
383  {
384  if (_i == _primary_index)
385  {
388  "The connected dof index is not found in the _dof_number_to_value container. "
389  "This must mean that insufficient sparsity was allocated");
391  }
392 
393  // We only apply the tied node Lagrange multiplier to the closest primary node
394  else
395  return 0;
396  }
397  else
398  {
399  Real ret_val = 0;
400  for (MooseIndex(_disp_coupling) i = 0; i < _disp_coupling.size(); ++i)
401  if (_disp_coupling(_component, i))
402  {
403  mooseAssert(
405  _dof_number_to_value[i].end(),
406  "The connected dof index is not found in the _dof_number_to_value container. "
407  "This must mean that insufficient sparsity was allocated");
408  ret_val += _test_primary[_i][_qp] * _pinfo->_normal(_component) * _pinfo->_normal(i) *
410  }
411  return ret_val;
412  }
413  }
414 
415  // The only primary-primary dependence would come from the dependence of the normal and also
416  // the location of the integration (quadrature) points. We assume (valid or not) that this
417  // dependence is weak
418  // case MooseConstraintJacobianType::PrimaryPrimary
419 
420  default:
421  return 0;
422  }
423 }
RealVectorValue _normal
unsigned int _i
const VariableTestValue & _test_primary
unsigned int _j
std::vector< std::unordered_map< dof_id_type, Number > > _dof_number_to_value
const std::string & type() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< dof_id_type > _connected_dof_indices
const VariablePhiValue & _phi_primary
VariablePhiValue _phi_secondary
unsigned int _qp

◆ computeQpResidual()

Real RANFSNormalMechanicalContact::computeQpResidual ( Moose::ConstraintType  type)
overrideprotectedvirtual

Implements NodeFaceConstraint.

Definition at line 271 of file RANFSNormalMechanicalContact.C.

272 {
273  switch (type)
274  {
276  {
277  if (_tie_nodes)
278  return (*_current_node - *_nearest_node)(_component);
279  else
280  {
281  if (_largest_component == static_cast<unsigned int>(_component))
282  {
283  mooseAssert(_pinfo->_normal(_component) != 0,
284  "We should be selecting the largest normal component, hence it should be "
285  "impossible for this normal component to be zero");
286 
287  return _distance;
288  }
289 
290  else
291  // The normal points out of the primary face
292  return _contact_lm * -_pinfo->_normal(_component);
293  }
294  }
295 
297  {
298  if (_tie_nodes)
299  {
300  if (_i == _primary_index)
301  return _tied_lm;
302  else
303  return 0;
304  }
305  else
307  }
308 
309  default:
310  return 0;
311  }
312 }
RealVectorValue _normal
unsigned int _i
const VariableTestValue & _test_primary
const Node *const & _current_node
const std::string & type() const
unsigned int _qp

◆ computeQpSecondaryValue()

Real RANFSNormalMechanicalContact::computeQpSecondaryValue ( )
overrideprotectedvirtual

Implements NodeFaceConstraint.

Definition at line 431 of file RANFSNormalMechanicalContact.C.

432 {
433  mooseError(
434  "We overrode commputeSecondaryValue so computeQpSecondaryValue should never get called");
435 }
void mooseError(Args &&... args) const

◆ computeSecondaryValue()

void RANFSNormalMechanicalContact::computeSecondaryValue ( NumericVector< Number > &  solution)
overridevirtual

Reimplemented from NodeFaceConstraint.

Definition at line 426 of file RANFSNormalMechanicalContact.C.

427 {
428 }

◆ initialSetup()

void RANFSNormalMechanicalContact::initialSetup ( )
overridevirtual

Reimplemented from NodeFaceConstraint.

Definition at line 78 of file RANFSNormalMechanicalContact.C.

79 {
80  auto system_coupling_matrix = _subproblem.couplingMatrix(_sys.number());
81 
82  for (MooseIndex(_vars) i = 0; i < _vars.size(); ++i)
83  for (MooseIndex(_vars) j = 0; j < _vars.size(); ++j)
84  _disp_coupling(i, j) = (*system_coupling_matrix)(_vars[i], _vars[j]);
85 }
virtual const libMesh::CouplingMatrix * couplingMatrix(const unsigned int nl_sys_num) const=0
SystemBase & _sys
SubProblem & _subproblem
unsigned int number() const
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")

◆ overwriteSecondaryResidual()

bool RANFSNormalMechanicalContact::overwriteSecondaryResidual ( )
overridevirtual

Reimplemented from NodeFaceConstraint.

Definition at line 103 of file RANFSNormalMechanicalContact.C.

104 {
105  if (_tie_nodes)
106  return true;
107  else
108  return _largest_component == static_cast<unsigned int>(_component);
109 }

◆ residualSetup()

void RANFSNormalMechanicalContact::residualSetup ( )
overridevirtual

Reimplemented from NodeFaceConstraint.

Definition at line 95 of file RANFSNormalMechanicalContact.C.

96 {
97  _node_to_contact_lm.clear();
98  _node_to_tied_lm.clear();
100 }
std::unordered_map< dof_id_type, Real > _node_to_contact_lm
void residualSetup() override
std::unordered_map< dof_id_type, Real > _node_to_tied_lm

◆ shouldApply()

bool RANFSNormalMechanicalContact::shouldApply ( )
overridevirtual

Reimplemented from NodeFaceConstraint.

Definition at line 112 of file RANFSNormalMechanicalContact.C.

113 {
114  std::map<dof_id_type, PenetrationInfo *>::iterator found =
116  if (found != _penetration_locator._penetration_info.end())
117  {
118  _pinfo = found->second;
119  if (_pinfo)
120  {
121  // We overwrite the secondary residual when constraints are active so we cannot use the
122  // residual copy for determining the Lagrange multiplier when computing the Jacobian
124  {
125  // Build up residual vector corresponding to contact forces
126  _res_vec.zero();
127  for (unsigned int i = 0; i < _mesh_dimension; ++i)
128  {
129  dof_id_type dof_number = _current_node->dof_number(0, _vars[i], 0);
130  _res_vec(i) = _residual_copy(dof_number) / _var_objects[i]->scalingFactor();
131  }
132 
133  _node_to_contact_lm.insert(std::make_pair(_current_node->id(), _res_vec * _pinfo->_normal));
134  _node_to_tied_lm.insert(std::make_pair(_current_node->id(), _res_vec(_component)));
135  }
136  else
137  {
138  std::vector<dof_id_type> cols;
139  std::vector<Number> values;
140 
141  for (auto & d_to_v : _dof_number_to_value)
142  d_to_v.clear();
143 
144  mooseAssert(_vars.size() == _dof_number_to_value.size() &&
145  _vars.size() == _var_objects.size(),
146  "Somehow the sizes of our variable containers got out of sync");
147  for (MooseIndex(_var_objects) i = 0; i < _var_objects.size(); ++i)
148  {
149  auto secondary_dof_number = _current_node->dof_number(0, _vars[i], 0);
150 
151  _jacobian->get_row(secondary_dof_number, cols, values);
152  mooseAssert(cols.size() == values.size(),
153  "The size of the dof container and value container are different");
154 
155  for (MooseIndex(cols) j = 0; j < cols.size(); ++j)
156  _dof_number_to_value[i].insert(
157  std::make_pair(cols[j], values[j] / _var_objects[i]->scalingFactor()));
158  }
159  }
160 
161  mooseAssert(_node_to_contact_lm.find(_current_node->id()) != _node_to_contact_lm.end(),
162  "The node " << _current_node->id()
163  << " should map to a contact lagrange multiplier");
164  mooseAssert(_node_to_tied_lm.find(_current_node->id()) != _node_to_tied_lm.end(),
165  "The node " << _current_node->id()
166  << " should map to a tied lagrange multiplier");
169 
170  // Check to see whether we've locked a ping-ponging node
173  {
174  if (_contact_lm > -_pinfo->_distance)
175  {
176  // Ok, our math is telling us we should apply the constraint, but what if we are
177  // ping-ponging back and forth between different primary faces?
178 
179  // This only works for a basic line search! Write assertion here
181  {
182  auto & primary_elem_sequence = _node_to_primary_elem_sequence[_current_node->id()];
183  mooseAssert(
185  "The current primary element and the PenetrationInfo object's element should "
186  "be the same");
187  primary_elem_sequence.push_back(_pinfo->_elem);
188 
189  // 5 here is a heuristic choice. In testing, generally speaking, if a node ping-pongs
190  // back and forth 5 times then it will ping pong indefinitely. However, if it goes 3
191  // times for example, it is not guaranteed to ping-pong indefinitely and the Newton
192  // iteration may naturally resolve the correct face dofs that need to be involved in the
193  // constraint.
194  if (_ping_pong_protection && primary_elem_sequence.size() >= 5 &&
195  _pinfo->_elem == *(primary_elem_sequence.rbegin() + 2) &&
196  _pinfo->_elem == *(primary_elem_sequence.rbegin() + 4) &&
197  _pinfo->_elem != *(primary_elem_sequence.rbegin() + 1) &&
198  *(primary_elem_sequence.rbegin() + 1) == *(primary_elem_sequence.rbegin() + 3))
199  {
200  // Ok we are ping-ponging. Determine the primary node
201  auto primary_node =
203 
204  // Sanity checks
205  mooseAssert(_pinfo->_elem->get_node_index(primary_node) != libMesh::invalid_uint,
206  "The primary node is not on the current element");
207  mooseAssert((*(primary_elem_sequence.rbegin() + 1))->get_node_index(primary_node) !=
209  "The primary node is not on the other ping-ponging element");
210 
212  std::make_pair(_current_node->id(), primary_node));
213  }
214  }
215  }
216  else
217  // We have not locked the node into contact nor is the gap smaller than the Lagrange
218  // Multiplier so we should not apply
219  return false;
220  }
221 
222  // Determine whether we're going to apply the tied node equality constraint or the contact
223  // inequality constraint
226  {
227  _tie_nodes = true;
228  _nearest_node = it->second;
229  _primary_index = _current_primary->get_node_index(_nearest_node);
230  mooseAssert(_primary_index != libMesh::invalid_uint,
231  "nearest node not a node on the current primary element");
232  }
233  else
234  {
236  // Do this to make sure constraint equation has a positive on the diagonal
237  if (_pinfo->_normal(_component) > 0)
238  _distance *= -1;
239  _tie_nodes = false;
240 
241  // The contact constraint is active -> we're going to use our linear solve to ensure that
242  // the gap is driven to zero. We only have one zero-penetration constraint per node, so we
243  // choose to apply the zero penetration constraint only to the displacement component with
244  // the largest magnitude normal
245  auto largest_component_magnitude = std::abs(_pinfo->_normal(0));
246  _largest_component = 0;
247  for (MooseIndex(_mesh_dimension) i = 1; i < _mesh_dimension; ++i)
248  {
249  auto component_magnitude = std::abs(_pinfo->_normal(i));
250  if (component_magnitude > largest_component_magnitude)
251  {
252  largest_component_magnitude = component_magnitude;
253  _largest_component = i;
254  }
255  }
256  }
257 
258  return true;
259  }
260  }
261 
262  // If we're not applying the constraint then we can clear the node to primary elem sequence for
263  // this node
267  return false;
268 }
std::vector< MooseVariable * > _var_objects
NumericVector< Number > & _residual_copy
const unsigned int invalid_uint
RealVectorValue _normal
std::unordered_map< dof_id_type, std::vector< const Elem * > > _node_to_primary_elem_sequence
const Elem *const & _current_primary
std::unordered_map< dof_id_type, Real > _node_to_contact_lm
bool computingNonlinearResid() const
std::map< dof_id_type, PenetrationInfo *> & _penetration_info
const Node *const & _current_node
std::vector< std::unordered_map< dof_id_type, Number > > _dof_number_to_value
const Elem * _elem
SubProblem & _subproblem
virtual void get_row(numeric_index_type i, std::vector< numeric_index_type > &indices, std::vector< Number > &values) const =0
std::unordered_map< dof_id_type, const Node * > _ping_pong_secondary_node_to_primary_node
const Node * nearestNode(dof_id_type node_id)
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
const SparseMatrix< Number > * _jacobian
std::unordered_map< dof_id_type, Real > _node_to_tied_lm
const bool & currentlyComputingJacobian() const
PenetrationLocator & _penetration_locator
uint8_t dof_id_type
NearestNodeLocator & _nearest_node

◆ timestepSetup()

void RANFSNormalMechanicalContact::timestepSetup ( )
overridevirtual

Reimplemented from NodeFaceConstraint.

Definition at line 88 of file RANFSNormalMechanicalContact.C.

89 {
92 }
std::unordered_map< dof_id_type, std::vector< const Elem * > > _node_to_primary_elem_sequence
std::unordered_map< dof_id_type, const Node * > _ping_pong_secondary_node_to_primary_node

◆ validParams()

InputParameters RANFSNormalMechanicalContact::validParams ( )
static

Definition at line 24 of file RANFSNormalMechanicalContact.C.

25 {
27  params.set<bool>("use_displaced_mesh") = true;
28 
29  MooseEnum component("x=0 y=1 z=2");
31  "component", component, "The force component constraint that this object is supplying");
32  params.addRequiredCoupledVar(
33  "displacements",
34  "The displacements appropriate for the simulation geometry and coordinate system");
35  params.addParam<bool>("ping_pong_protection",
36  false,
37  "Whether to protect against ping-ponging, e.g. the oscillation of the "
38  "secondary node between two "
39  "different primary faces, by tying the secondary node to the "
40  "edge between the involved primary faces");
41  params.addParam<Real>(
42  "normal_smoothing_distance",
43  "Distance from edge in parametric coordinates over which to smooth contact normal");
44  params.addClassDescription("Applies the Reduced Active Nonlinear Function Set scheme in which "
45  "the secondary node's non-linear residual function is replaced by the "
46  "zero penetration constraint equation when the constraint is active");
47  return params;
48 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
static const std::string component
Definition: NS.h:153
T & set(const std::string &name, bool quiet_mode=false)
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _component

const MooseEnum RANFSNormalMechanicalContact::_component
protected

◆ _contact_lm

Real RANFSNormalMechanicalContact::_contact_lm
protected

Definition at line 59 of file RANFSNormalMechanicalContact.h.

Referenced by computeQpResidual(), and shouldApply().

◆ _disp_coupling

CouplingMatrix RANFSNormalMechanicalContact::_disp_coupling
protected

Definition at line 69 of file RANFSNormalMechanicalContact.h.

Referenced by computeQpJacobian(), and initialSetup().

◆ _distance

Real RANFSNormalMechanicalContact::_distance
protected

Definition at line 63 of file RANFSNormalMechanicalContact.h.

Referenced by computeQpResidual(), and shouldApply().

◆ _dof_number_to_value

std::vector<std::unordered_map<dof_id_type, Number> > RANFSNormalMechanicalContact::_dof_number_to_value
protected

Definition at line 68 of file RANFSNormalMechanicalContact.h.

Referenced by computeQpJacobian(), and shouldApply().

◆ _largest_component

unsigned int RANFSNormalMechanicalContact::_largest_component
protected

◆ _mesh_dimension

const unsigned int RANFSNormalMechanicalContact::_mesh_dimension
protected

Definition at line 50 of file RANFSNormalMechanicalContact.h.

Referenced by RANFSNormalMechanicalContact(), and shouldApply().

◆ _nearest_node

const Node* RANFSNormalMechanicalContact::_nearest_node
protected

Definition at line 67 of file RANFSNormalMechanicalContact.h.

Referenced by computeQpResidual(), and shouldApply().

◆ _node_to_contact_lm

std::unordered_map<dof_id_type, Real> RANFSNormalMechanicalContact::_node_to_contact_lm
protected

Definition at line 56 of file RANFSNormalMechanicalContact.h.

Referenced by residualSetup(), and shouldApply().

◆ _node_to_primary_elem_sequence

std::unordered_map<dof_id_type, std::vector<const Elem *> > RANFSNormalMechanicalContact::_node_to_primary_elem_sequence
protected

Definition at line 58 of file RANFSNormalMechanicalContact.h.

Referenced by shouldApply(), and timestepSetup().

◆ _node_to_tied_lm

std::unordered_map<dof_id_type, Real> RANFSNormalMechanicalContact::_node_to_tied_lm
protected

Definition at line 57 of file RANFSNormalMechanicalContact.h.

Referenced by residualSetup(), and shouldApply().

◆ _pinfo

PenetrationInfo* RANFSNormalMechanicalContact::_pinfo
protected

◆ _ping_pong_protection

const bool RANFSNormalMechanicalContact::_ping_pong_protection
protected

Definition at line 70 of file RANFSNormalMechanicalContact.h.

Referenced by shouldApply().

◆ _ping_pong_secondary_node_to_primary_node

std::unordered_map<dof_id_type, const Node *> RANFSNormalMechanicalContact::_ping_pong_secondary_node_to_primary_node
protected

Definition at line 62 of file RANFSNormalMechanicalContact.h.

Referenced by shouldApply(), and timestepSetup().

◆ _primary_index

unsigned int RANFSNormalMechanicalContact::_primary_index
protected

◆ _res_vec

RealVectorValue RANFSNormalMechanicalContact::_res_vec
protected

Definition at line 66 of file RANFSNormalMechanicalContact.h.

Referenced by shouldApply().

◆ _residual_copy

NumericVector<Number>& RANFSNormalMechanicalContact::_residual_copy
protected

Definition at line 51 of file RANFSNormalMechanicalContact.h.

Referenced by shouldApply().

◆ _tie_nodes

bool RANFSNormalMechanicalContact::_tie_nodes
protected

◆ _tied_lm

Real RANFSNormalMechanicalContact::_tied_lm
protected

Definition at line 60 of file RANFSNormalMechanicalContact.h.

Referenced by computeQpResidual(), and shouldApply().

◆ _var_objects

std::vector<MooseVariable *> RANFSNormalMechanicalContact::_var_objects
protected

Definition at line 55 of file RANFSNormalMechanicalContact.h.

Referenced by RANFSNormalMechanicalContact(), and shouldApply().

◆ _vars

std::vector<unsigned int> RANFSNormalMechanicalContact::_vars
protected

The documentation for this class was generated from the following files: