KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Public Member Functions | Protected Member Functions | List of all members
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster > Class Template Reference

PenaltyMethodFrictionalMortarContactCondition. More...

#include <penalty_frictional_mortar_contact_condition.h>

Inheritance diagram for Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >:
Collaboration diagram for Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >:

Public Member Functions

void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 2 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 3 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 4 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 3 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 4 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 2 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 3 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 4 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 3 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, 4 > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
Life Cycle
 PenaltyMethodFrictionalMortarContactCondition ()
 Default constructor. More...
 
 PenaltyMethodFrictionalMortarContactCondition (IndexType NewId, GeometryPointerType pGeometry)
 
 PenaltyMethodFrictionalMortarContactCondition (IndexType NewId, GeometryPointerType pGeometry, PropertiesPointerType pProperties)
 
 PenaltyMethodFrictionalMortarContactCondition (IndexType NewId, GeometryPointerType pGeometry, PropertiesPointerType pProperties, GeometryType::Pointer pMasterGeometry)
 
 PenaltyMethodFrictionalMortarContactCondition (PenaltyMethodFrictionalMortarContactCondition const &rOther)
 Copy constructor. More...
 
 ~PenaltyMethodFrictionalMortarContactCondition () override
 Destructor. More...
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::MortarContactCondition< TDim, TNumNodes, FrictionalCase::FRICTIONAL_PENALTY, TNormalVariation, TNumNodes >
 MortarContactCondition ()
 Default constructor. More...
 
 MortarContactCondition (IndexType NewId, GeometryType::Pointer pGeometry)
 
 MortarContactCondition (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
 
 MortarContactCondition (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties, GeometryType::Pointer pMasterGeometry)
 
 MortarContactCondition (MortarContactCondition const &rOther)
 Copy constructor. More...
 
 ~MortarContactCondition () override
 Destructor. More...
 
void Initialize (const ProcessInfo &rCurrentProcessInfo) override
 Called at the beginning of each solution step. More...
 
void InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override
 Called at the beginning of each solution step. More...
 
void InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override
 Called at the beginning of each iteration. More...
 
void FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override
 Called at the ending of each solution step. More...
 
void FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override
 Called at the end of each iteration. More...
 
void CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override
 This method computes the mass matrix. More...
 
void CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override
 Initialize Damping Matrix. More...
 
Condition::Pointer Create (IndexType NewId, NodesArrayType const &rThisNodes, PropertiesType::Pointer pProperties) const override
 Creates a new element pointer from an arry of nodes. More...
 
Condition::Pointer Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override
 Creates a new element pointer from an existing geometry. More...
 
Condition::Pointer Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties, GeometryType::Pointer pMasterGeom) const override
 Creates a new element pointer from an existing geometry. More...
 
void AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) override
 This is called during the assembling process in order to calculate the condition contribution in explicit calculation. More...
 
void AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable (double version) More...
 
void AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable (array_1d<double, 3>) version rDestinationVariable. More...
 
void EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
 Sets on rResult the ID's of the element degrees of freedom. More...
 
void GetDofList (DofsVectorType &rConditionalDofList, const ProcessInfo &rCurrentProcessInfo) const override
 Sets on ConditionalDofList the degrees of freedom of the considered element geometry. More...
 
void CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rOutput, const ProcessInfo &rCurrentProcessInfo) override
 Calculate a double Variable. More...
 
void CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, std::vector< array_1d< double, 3 > > &rOutput, const ProcessInfo &rCurrentProcessInfo) override
 Calculate a array_1d Variable. More...
 
void CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) override
 Calculate a Vector Variable. More...
 
int Check (const ProcessInfo &rCurrentProcessInfo) const override
 This function provides the place to perform checks on the completeness of the input. More...
 
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
 KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (MortarContactCondition)
 Counted pointer of MortarContactCondition. More...
 
- Public Member Functions inherited from Kratos::PairedCondition
 PairedCondition ()
 Default constructor. More...
 
 PairedCondition (IndexType NewId, GeometryType::Pointer pGeometry)
 
 PairedCondition (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
 
 PairedCondition (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties, GeometryType::Pointer pPairedGeometry)
 
 PairedCondition (PairedCondition const &rOther)
 Copy constructor. More...
 
 ~PairedCondition () override
 Destructor. More...
 
GeometryType::Pointer pGetParentGeometry ()
 This method returns the parent geometry. More...
 
GeometryType::Pointer const pGetParentGeometry () const
 This method returns the parent geometry (constant version) More...
 
GeometryType::Pointer pGetPairedGeometry ()
 This method returns the paired geometry. More...
 
GeometryType::Pointer const pGetPairedGeometry () const
 This method returns the paired geometry (constant version) More...
 
GeometryTypeGetParentGeometry ()
 This method returns the parent geometry. More...
 
GeometryType const & GetParentGeometry () const
 This method returns the parent geometry (constant version) More...
 
GeometryTypeGetPairedGeometry ()
 This method returns the paired geometry. More...
 
GeometryType const & GetPairedGeometry () const
 This method returns the paired geometry (constant version) More...
 
void SetPairedNormal (const array_1d< double, 3 > &rPairedNormal)
 This method sets the paired normal. More...
 
array_1d< double, 3 > const & GetPairedNormal () const
 This method returns the paired normal. More...
 
 KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (PairedCondition)
 Counted pointer of PairedCondition. More...
 
- Public Member Functions inherited from Kratos::Condition
 Condition (IndexType NewId=0)
 
 Condition (IndexType NewId, const NodesArrayType &ThisNodes)
 
 Condition (IndexType NewId, GeometryType::Pointer pGeometry)
 
 Condition (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
 
 Condition (Condition const &rOther)
 Copy constructor. More...
 
 ~Condition () override
 Destructor. More...
 
Conditionoperator= (Condition const &rOther)
 Assignment operator. More...
 
virtual Pointer Clone (IndexType NewId, NodesArrayType const &ThisNodes) const
 It creates a new condition pointer and clones the previous condition data. More...
 
virtual void GetValuesVector (Vector &values, int Step=0) const
 
virtual void GetFirstDerivativesVector (Vector &values, int Step=0) const
 
virtual void GetSecondDerivativesVector (Vector &values, int Step=0) const
 
virtual void ResetConstitutiveLaw ()
 
virtual void CalculateFirstDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateFirstDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateFirstDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateSecondDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateSecondDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateSecondDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo)
 
virtual void AddExplicitContribution (const MatrixType &rLHSMatrix, const Variable< MatrixType > &rLHSVariable, const Variable< Matrix > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo)
 This function is designed to make the condition to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the matrix version) More...
 
virtual void Calculate (const Variable< double > &rVariable, double &Output, const ProcessInfo &rCurrentProcessInfo)
 
virtual void Calculate (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &Output, const ProcessInfo &rCurrentProcessInfo)
 
virtual void Calculate (const Variable< Vector > &rVariable, Vector &Output, const ProcessInfo &rCurrentProcessInfo)
 
virtual void Calculate (const Variable< Matrix > &rVariable, Matrix &Output, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, std::vector< array_1d< double, 4 >> &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, std::vector< array_1d< double, 9 >> &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, const std::vector< array_1d< double, 3 >> &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, const std::vector< array_1d< double, 4 >> &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, const std::vector< array_1d< double, 6 >> &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, const std::vector< array_1d< double, 9 >> &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void MassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo)
 
virtual void AddMassMatrix (MatrixType &rLeftHandSideMatrix, double coeff, const ProcessInfo &rCurrentProcessInfo)
 
virtual void DampMatrix (MatrixType &rDampMatrix, const ProcessInfo &rCurrentProcessInfo)
 
virtual void AddInertiaForces (VectorType &rRightHandSideVector, double coeff, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateLocalVelocityContribution (MatrixType &rDampingMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateSensitivityMatrix (const Variable< double > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
virtual void CalculateSensitivityMatrix (const Variable< array_1d< double, 3 > > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo)
 
PropertiesType::Pointer pGetProperties ()
 returns the pointer to the property of the condition. Does not throw an error, to allow copying of conditions which don't have any property assigned. More...
 
const PropertiesType::Pointer pGetProperties () const
 
PropertiesTypeGetProperties ()
 
PropertiesType const & GetProperties () const
 
void SetProperties (PropertiesType::Pointer pProperties)
 
bool HasProperties () const
 Check that the Condition has a correctly initialized pointer to a Properties instance. More...
 
virtual const Parameters GetSpecifications () const
 This method provides the specifications/requirements of the element. More...
 
 KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (Condition)
 Pointer definition of Condition. More...
 
- Public Member Functions inherited from Kratos::GeometricalObject
 GeometricalObject (IndexType NewId=0)
 Default constructor. More...
 
 GeometricalObject (IndexType NewId, GeometryType::Pointer pGeometry)
 Default constructor. More...
 
 ~GeometricalObject () override
 Destructor. More...
 
 GeometricalObject (GeometricalObject const &rOther)
 Copy constructor. More...
 
GeometricalObjectoperator= (GeometricalObject const &rOther)
 Assignment operator. More...
 
virtual void SetGeometry (GeometryType::Pointer pGeometry)
 Sets the pointer to the geometry. More...
 
GeometryType::Pointer pGetGeometry ()
 Returns the pointer to the geometry. More...
 
const GeometryType::Pointer pGetGeometry () const
 Returns the pointer to the geometry (const version) More...
 
GeometryTypeGetGeometry ()
 Returns the reference of the geometry. More...
 
GeometryType const & GetGeometry () const
 Returns the reference of the geometry (const version) More...
 
FlagsGetFlags ()
 Returns the flags of the object. More...
 
Flags const & GetFlags () const
 Returns the flags of the object (const version) More...
 
void SetFlags (Flags const &rThisFlags)
 Sets the flags of the object. More...
 
DataValueContainerData ()
 
DataValueContainerGetData ()
 
DataValueContainer const & GetData () const
 
void SetData (DataValueContainer const &rThisData)
 
template<class TDataType >
bool Has (const Variable< TDataType > &rThisVariable) const
 
template<class TVariableType >
void SetValue (const TVariableType &rThisVariable, typename TVariableType::Type const &rValue)
 
template<class TVariableType >
TVariableType::Type & GetValue (const TVariableType &rThisVariable)
 
template<class TVariableType >
TVariableType::Type const & GetValue (const TVariableType &rThisVariable) const
 
unsigned int use_count () const noexcept
 
 KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (GeometricalObject)
 Pointer definition of GeometricalObject. More...
 
bool IsActive () const
 Checks if the GeometricalObject is active. More...
 
- Public Member Functions inherited from Kratos::IndexedObject
 IndexedObject (IndexType NewId=0)
 Default constructor. More...
 
virtual ~IndexedObject ()
 Destructor. More...
 
 IndexedObject (IndexedObject const &rOther)
 Copy constructor. More...
 
IndexedObjectoperator= (IndexedObject const &rOther)
 Assignment operator. More...
 
template<class TObjectType >
IndexType operator() (TObjectType const &rThisObject) const
 
IndexType Id () const
 
IndexType GetId () const
 
virtual void SetId (IndexType NewId)
 
IndexTypeDepricatedIdAccess ()
 TODO: remove this function when removing data_file_io object. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (IndexedObject)
 Pointer definition of IndexedObject. More...
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
 KRATOS_CLASS_POINTER_DEFINITION (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Protected Member Functions

void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 
Protected Operations
void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo) override
 Calculates the local contibution of the LHS. More...
 
void CalculateLocalRHS (Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo) override
 Calculates the local contibution of the RHS. More...
 
IndexType GetActiveInactiveValue (const GeometryType &rCurrentGeometry) const override
 Returns a value depending of the active/inactive set. More...
 
array_1d< double, TNumNodes > GetFrictionCoefficient ()
 This method returns a vector containing the friction coefficients. More...
 
- Protected Member Functions inherited from Kratos::MortarContactCondition< TDim, TNumNodes, FrictionalCase::FRICTIONAL_PENALTY, TNormalVariation, TNumNodes >
void CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
 This is called during the assembling process in order to calculate all condition contributions to the global system matrix and the right hand side. More...
 
void CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
 This is called during the assembling process in order to calculate the condition right hand side vector only. More...
 
void CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override
 This is called during the assembling process in order to calculate the condition left hand side matrix only. More...
 
void CalculateConditionSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &CurrentProcessInfo, const bool ComputeLHS=true, const bool ComputeRHS=true)
 Calculates the condition contribution. More...
 
virtual void CalculateLocalLHS (Matrix &rLocalLHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 Calculates the local contibution of the LHS. More...
 
virtual void CalculateLocalRHS (Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 Calculates the local contibution of the RHS. More...
 
bool CheckIsolatedElement (const double DeltaTime, const bool HalfJump=true)
 It checks if the element is isolated or not. More...
 
IntegrationMethod GetIntegrationMethod () const override
 It returns theintegration method considered. More...
 
virtual bool IsAxisymmetric () const
 This functions returns if the computation is axisymmetric or not. More...
 
virtual double GetAxisymmetricCoefficient (const GeneralVariables &rVariables) const
 This functions computes the integration weight to consider. More...
 
virtual void ResizeLHS (MatrixType &rLeftHandSideMatrix)
 This method just resizes the LHS matrix. More...
 
virtual void ResizeRHS (VectorType &rRightHandSideVector)
 
virtual void ZeroLHS (MatrixType &rLeftHandSideMatrix)
 
virtual void ZeroRHS (VectorType &rRightHandSideVector)
 

Protected Attributes

Protected member Variables
bool mPreviousMortarOperatorsInitialized = false
 
MortarBaseConditionMatrices mPreviousMortarOperators
 In order to know iw we need to initialize the previous operators. More...
 

Type Definitions

using BaseType = MortarContactCondition< TDim, TNumNodes, FrictionalCase::FRICTIONAL_PENALTY, TNormalVariation, TNumNodesMaster >
 Base type for the mortar contact condition. More...
 
using ConditionBaseType = Condition
 Base type for the condition. More...
 
using PairedConditionBaseType = PairedCondition
 Base type for the paired condition. More...
 
using MortarConditionMatrices = typename BaseType::MortarConditionMatrices
 Type definition for mortar condition matrices. More...
 
using GeneralVariables = typename BaseType::GeneralVariables
 Type definition for general variables. More...
 
using IntegrationUtility = typename BaseType::IntegrationUtility
 Type definition for integration utility. More...
 
using DerivativesUtilitiesType = typename BaseType::DerivativesUtilitiesType
 Type definition for derivatives utilities. More...
 
using BelongType = typename BaseType::BelongType
 Type definition for belong type. More...
 
using ConditionArrayListType = typename BaseType::ConditionArrayListType
 Type definition for an array list of conditions. More...
 
using MortarBaseConditionMatrices = MortarOperator< TNumNodes, TNumNodesMaster >
 Base type for the mortar contact condition matrices. More...
 
using VectorType = typename ConditionBaseType::VectorType
 Vector type definition. More...
 
using MatrixType = typename ConditionBaseType::MatrixType
 Matrix type definition. More...
 
using IndexType = typename ConditionBaseType::IndexType
 Index type definition. More...
 
using GeometryPointerType = typename ConditionBaseType::GeometryType::Pointer
 Geometry pointer definition. More...
 
using NodesArrayType = typename ConditionBaseType::NodesArrayType
 Nodes array type definition. More...
 
using PropertiesType = typename ConditionBaseType::PropertiesType
 Properties type definition. More...
 
using PropertiesPointerType = typename ConditionBaseType::PropertiesType::Pointer
 Properties pointer definition. More...
 
using EquationIdVectorType = typename ConditionBaseType::EquationIdVectorType
 Equation ID vector type definition. More...
 
using DofsVectorType = typename ConditionBaseType::DofsVectorType
 Dofs vector type definition. More...
 
using LineType = Line2D2< Point >
 Line type definition. More...
 
using TriangleType = Triangle3D3< Point >
 Triangle type definition. More...
 
using DecompositionType = typename std::conditional< TDim==2, LineType, TriangleType >::type
 Decomposition type definition. More...
 
using DerivativeDataType = DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >
 Type definition for derivative data. More...
 
static constexpr IndexType MatrixSize = TDim * (TNumNodes + TNumNodesMaster)
 Constant expression for matrix size. More...
 
static constexpr IndexType StepSlip = TNormalVariation ? 0 : 1
 Constant expression for step slip. More...
 
 KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (PenaltyMethodFrictionalMortarContactCondition)
 Counted pointer of PenaltyMethodFrictionalMortarContactCondition. More...
 

Un accessible methods

class Serializer
 

Operations

void Initialize (const ProcessInfo &rCurrentProcessInfo) override
 Called at the beginning of each solution step. More...
 
void InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override
 Called at the begining of each solution step. More...
 
void FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override
 Called at the ending of each solution step. More...
 
Condition::Pointer Create (IndexType NewId, NodesArrayType const &rThisNodes, PropertiesPointerType pProperties) const override
 Creates a new element pointer from an arry of nodes. More...
 
Condition::Pointer Create (IndexType NewId, GeometryPointerType pGeom, PropertiesPointerType pProperties) const override
 Creates a new element pointer from an existing geometry. More...
 
Condition::Pointer Create (IndexType NewId, GeometryPointerType pGeom, PropertiesPointerType pProperties, GeometryPointerType pMasterGeom) const override
 Creates a new element pointer from an existing geometry. More...
 
void AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) override
 This is called during the assembling process in order to calculate the condition contribution in explicit calculation. NodalData is modified Inside the function, so the The "AddEXplicit" FUNCTIONS THE ONLY FUNCTIONS IN WHICH A CONDITION IS ALLOWED TO WRITE ON ITS NODES. the caller is expected to ensure thread safety hence SET/UNSETLOCK MUST BE PERFORMED IN THE STRATEGY BEFORE CALLING THIS FUNCTION. More...
 
void AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable (double version) More...
 
void AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable (array_1d<double, 3>) version rDestinationVariable. More...
 
void EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
 Sets on rResult the ID's of the element degrees of freedom. More...
 
void GetDofList (DofsVectorType &rConditionalDofList, const ProcessInfo &rCurrentProcessInfo) const override
 Sets on ConditionalDofList the degrees of freedom of the considered element geometry. More...
 
int Check (const ProcessInfo &rCurrentProcessInfo) const override
 This function provides the place to perform checks on the completeness of the input. More...
 
static void StaticCalculateLocalRHS (PairedCondition *pCondition, const MortarBaseConditionMatrices &rPreviousMortarOperators, const array_1d< double, TNumNodes > &mu, Vector &rLocalRHS, const MortarConditionMatrices &rMortarConditionMatrices, const DerivativeDataType &rDerivativeData, const IndexType rActiveInactive, const ProcessInfo &rCurrentProcessInfo)
 Calculates the local contibution of the RHS. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::MortarContactCondition< TDim, TNumNodes, FrictionalCase::FRICTIONAL_PENALTY, TNormalVariation, TNumNodes >
using BaseType = PairedCondition
 Base class definitions. More...
 
using VectorType = typename BaseType::VectorType
 Vector type definition. More...
 
using MatrixType = typename BaseType::MatrixType
 Matrix type definition. More...
 
using IndexType = typename BaseType::IndexType
 Index type definition. More...
 
using GeometryPointerType = typename BaseType::GeometryType::Pointer
 Geometry pointer definition. More...
 
using NodesArrayType = typename BaseType::NodesArrayType
 Nodes array type definition. More...
 
using PropertiesPointerType = typename BaseType::PropertiesType::Pointer
 Properties pointer definition. More...
 
using PointType = Point
 Point definition. More...
 
using GeometryType = Geometry< Node >
 Geometry type definition. More...
 
using IntegrationPointsType = typename GeometryType::IntegrationPointsArrayType
 
using BelongType = typename std::conditional< TNumNodes==2, PointBelongsLine2D2N, typename std::conditional< TNumNodes==3, typename std::conditional< TNumNodesMaster==3, PointBelongsTriangle3D3N, PointBelongsTriangle3D3NQuadrilateral3D4N >::type, typename std::conditional< TNumNodesMaster==3, PointBelongsQuadrilateral3D4NTriangle3D3N, PointBelongsQuadrilateral3D4N >::type >::type >::type
 The type of points belongs to be considered. More...
 
using PointBelongType = PointBelong< TNumNodes, TNumNodesMaster >
 The definition of the point with belonging. More...
 
using GeometryPointBelongType = Geometry< PointBelongType >
 Type definition for the geometry with point belonging. More...
 
using ConditionArrayType = array_1d< PointBelongType, TDim >
 Type definition for an array of points with belonging. More...
 
using ConditionArrayListType = typename std::vector< ConditionArrayType >
 Type definition for a list of arrays of points with belonging. More...
 
using LineType = Line2D2< PointType >
 Type definition for a line in 2D. More...
 
using TriangleType = Triangle3D3< PointType >
 Type definition for a triangle in 3D. More...
 
using DecompositionType = typename std::conditional< TDim==2, LineType, TriangleType >::type
 The decomposition type. More...
 
using DerivativeDataType = typename std::conditional< TFrictional==FrictionalCase::FRICTIONAL||TFrictional==FrictionalCase::FRICTIONAL_PENALTY, DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >, DerivativeData< TDim, TNumNodes, TNumNodesMaster > >::type
 The derivative data type. More...
 
using GeneralVariables = MortarKinematicVariablesWithDerivatives< TDim, TNumNodes, TNumNodesMaster >
 Type definition for general variables with derivatives. More...
 
using AeData = DualLagrangeMultiplierOperatorsWithDerivatives< TDim, TNumNodes, IsFrictional, TNumNodesMaster >
 Type definition for AE data with derivatives. More...
 
using MortarConditionMatrices = MortarOperatorWithDerivatives< TDim, TNumNodes, IsFrictional, TNumNodesMaster >
 Type definition for mortar condition matrices with derivatives. More...
 
using IntegrationUtility = ExactMortarIntegrationUtility< TDim, TNumNodes, true, TNumNodesMaster >
 Type definition for integration utility with derivatives. More...
 
using DerivativesUtilitiesType = DerivativesUtilities< TDim, TNumNodes, IsFrictional, TNormalVariation, TNumNodesMaster >
 Type definition for derivatives utilities with derivatives. More...
 
- Public Types inherited from Kratos::PairedCondition
using BaseType = Condition
 Basetype definition. More...
 
using PointType = Point
 Point type definition. More...
 
using GeometryType = Geometry< Node >
 Geometry type definition. More...
 
using CouplingGeometryType = CouplingGeometry< Node >
 Coupling geometry type definition. More...
 
using VectorType = BaseType::VectorType
 Vector type definition. More...
 
using MatrixType = BaseType::MatrixType
 Matrix type definition. More...
 
using IndexType = BaseType::IndexType
 Index type definition. More...
 
using GeometryPointerType = BaseType::GeometryType::Pointer
 Geometry pointer type definition. More...
 
using NodesArrayType = BaseType::NodesArrayType
 Nodes array type definition. More...
 
using PropertiesPointerType = BaseType::PropertiesType::Pointer
 Properties pointer type definition. More...
 
- Public Types inherited from Kratos::Condition
typedef Condition ConditionType
 definition of condition type More...
 
typedef GeometricalObject BaseType
 base type: an GeometricalObject that automatically has a unique number More...
 
typedef Node NodeType
 definition of node type (default is: Node) More...
 
typedef Properties PropertiesType
 
typedef Geometry< NodeTypeGeometryType
 definition of the geometry type with given NodeType More...
 
typedef Geometry< NodeType >::PointsArrayType NodesArrayType
 definition of nodes container type, redefined from GeometryType More...
 
typedef Vector VectorType
 
typedef Matrix MatrixType
 
typedef std::size_t IndexType
 
typedef std::size_t SizeType
 
typedef Dof< doubleDofType
 
typedef std::vector< std::size_t > EquationIdVectorType
 
typedef std::vector< DofType::PointerDofsVectorType
 
typedef PointerVectorSet< DofTypeDofsArrayType
 
typedef GeometryData::IntegrationMethod IntegrationMethod
 Type definition for integration methods. More...
 
typedef GeometryData GeometryDataType
 
- Public Types inherited from Kratos::GeometricalObject
typedef Node NodeType
 Definition of the node type. More...
 
typedef Geometry< NodeTypeGeometryType
 The geometry type definition. More...
 
typedef std::size_t IndexType
 Defines the index type. More...
 
typedef std::size_t result_type
 Defines the result type. More...
 
- Public Types inherited from Kratos::IndexedObject
typedef std::size_t IndexType
 The definition of the index type. More...
 
typedef std::size_t result_type
 The definition of the result_type. More...
 
- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::GeometricalObject
static bool HasSameType (const GeometricalObject &rLHS, const GeometricalObject &rRHS)
 Checks if two GeometricalObject have the same type. More...
 
static bool HasSameType (const GeometricalObject *rLHS, const GeometricalObject *rRHS)
 Checks if two GeometricalObject have the same type (pointer version) More...
 
static bool HasSameGeometryType (const GeometricalObject &rLHS, const GeometricalObject &rRHS)
 Checks if two GeometricalObject have the same geometry type. More...
 
static bool HasSameGeometryType (const GeometricalObject *rLHS, const GeometricalObject *rRHS)
 Checks if two GeometricalObject have the same geometry type (pointer version) More...
 
static bool IsSame (const GeometricalObject &rLHS, const GeometricalObject &rRHS)
 Checks if two GeometricalObject are the same. More...
 
static bool IsSame (const GeometricalObject *rLHS, const GeometricalObject *rRHS)
 Checks if two GeometricalObject are the same (pointer version) More...
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 
- Static Public Attributes inherited from Kratos::MortarContactCondition< TDim, TNumNodes, FrictionalCase::FRICTIONAL_PENALTY, TNormalVariation, TNumNodes >
static constexpr IndexType MatrixSize
 The matrix size definition. More...
 
static constexpr bool IsFrictional
 The definition of the frictional flag. More...
 
static constexpr double CheckThresholdCoefficient
 

Detailed Description

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
class Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >

PenaltyMethodFrictionalMortarContactCondition.

This is a frictional contact condition which employes the mortar method with penalty The method has been taken from the Alexander Popps thesis: Popp, Alexander: Mortar Methods for Computational Contact Mechanics and General Interface Problems, Technische Universität München, jul 2012

Author
Vicente Mataix Ferrandiz
Template Parameters
TDimThe dimension of work
TNumNodesThe number of nodes of the slave
TFrictionalIf we are solving a frictional or frictionless problem
TNormalVariationIf we are consider normal variation
TNumNodesMasterThe number of nodes of the master

Member Typedef Documentation

◆ BaseType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::BaseType = MortarContactCondition<TDim, TNumNodes, FrictionalCase::FRICTIONAL_PENALTY, TNormalVariation, TNumNodesMaster>

Base type for the mortar contact condition.

◆ BelongType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::BelongType = typename BaseType::BelongType

Type definition for belong type.

◆ ConditionArrayListType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::ConditionArrayListType = typename BaseType::ConditionArrayListType

Type definition for an array list of conditions.

◆ ConditionBaseType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::ConditionBaseType = Condition

Base type for the condition.

◆ DecompositionType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::DecompositionType = typename std::conditional<TDim == 2, LineType, TriangleType>::type

Decomposition type definition.

◆ DerivativeDataType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::DerivativeDataType = DerivativeDataFrictional<TDim, TNumNodes, TNumNodesMaster>

Type definition for derivative data.

◆ DerivativesUtilitiesType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::DerivativesUtilitiesType = typename BaseType::DerivativesUtilitiesType

Type definition for derivatives utilities.

◆ DofsVectorType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::DofsVectorType = typename ConditionBaseType::DofsVectorType

Dofs vector type definition.

◆ EquationIdVectorType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::EquationIdVectorType = typename ConditionBaseType::EquationIdVectorType

Equation ID vector type definition.

◆ GeneralVariables

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::GeneralVariables = typename BaseType::GeneralVariables

Type definition for general variables.

◆ GeometryPointerType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::GeometryPointerType = typename ConditionBaseType::GeometryType::Pointer

Geometry pointer definition.

◆ IndexType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::IndexType = typename ConditionBaseType::IndexType

Index type definition.

◆ IntegrationUtility

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::IntegrationUtility = typename BaseType::IntegrationUtility

Type definition for integration utility.

◆ LineType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::LineType = Line2D2<Point>

Line type definition.

◆ MatrixType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::MatrixType = typename ConditionBaseType::MatrixType

Matrix type definition.

◆ MortarBaseConditionMatrices

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::MortarBaseConditionMatrices = MortarOperator<TNumNodes, TNumNodesMaster>

Base type for the mortar contact condition matrices.

◆ MortarConditionMatrices

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::MortarConditionMatrices = typename BaseType::MortarConditionMatrices

Type definition for mortar condition matrices.

◆ NodesArrayType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::NodesArrayType = typename ConditionBaseType::NodesArrayType

Nodes array type definition.

◆ PairedConditionBaseType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PairedConditionBaseType = PairedCondition

Base type for the paired condition.

◆ PropertiesPointerType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PropertiesPointerType = typename ConditionBaseType::PropertiesType::Pointer

Properties pointer definition.

◆ PropertiesType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PropertiesType = typename ConditionBaseType::PropertiesType

Properties type definition.

◆ TriangleType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::TriangleType = Triangle3D3<Point>

Triangle type definition.

◆ VectorType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::VectorType = typename ConditionBaseType::VectorType

Vector type definition.

Constructor & Destructor Documentation

◆ PenaltyMethodFrictionalMortarContactCondition() [1/5]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PenaltyMethodFrictionalMortarContactCondition ( )
inline

Default constructor.

◆ PenaltyMethodFrictionalMortarContactCondition() [2/5]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PenaltyMethodFrictionalMortarContactCondition ( IndexType  NewId,
GeometryPointerType  pGeometry 
)
inline

◆ PenaltyMethodFrictionalMortarContactCondition() [3/5]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PenaltyMethodFrictionalMortarContactCondition ( IndexType  NewId,
GeometryPointerType  pGeometry,
PropertiesPointerType  pProperties 
)
inline

◆ PenaltyMethodFrictionalMortarContactCondition() [4/5]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PenaltyMethodFrictionalMortarContactCondition ( IndexType  NewId,
GeometryPointerType  pGeometry,
PropertiesPointerType  pProperties,
GeometryType::Pointer  pMasterGeometry 
)
inline

◆ PenaltyMethodFrictionalMortarContactCondition() [5/5]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PenaltyMethodFrictionalMortarContactCondition ( PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster > const &  rOther)
inline

Copy constructor.

◆ ~PenaltyMethodFrictionalMortarContactCondition()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::~PenaltyMethodFrictionalMortarContactCondition ( )
overridedefault

Destructor.

Member Function Documentation

◆ AddExplicitContribution() [1/3]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::AddExplicitContribution ( const ProcessInfo rCurrentProcessInfo)
overridevirtual

This is called during the assembling process in order to calculate the condition contribution in explicit calculation. NodalData is modified Inside the function, so the The "AddEXplicit" FUNCTIONS THE ONLY FUNCTIONS IN WHICH A CONDITION IS ALLOWED TO WRITE ON ITS NODES. the caller is expected to ensure thread safety hence SET/UNSETLOCK MUST BE PERFORMED IN THE STRATEGY BEFORE CALLING THIS FUNCTION.

Parameters
rCurrentProcessInfothe current process info instance

Reimplemented from Kratos::Condition.

◆ AddExplicitContribution() [2/3]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::AddExplicitContribution ( const VectorType rRHSVector,
const Variable< VectorType > &  rRHSVariable,
const Variable< array_1d< double, 3 > > &  rDestinationVariable,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable (array_1d<double, 3>) version rDestinationVariable.

The "AddEXplicit" FUNCTIONS THE ONLY FUNCTIONS IN WHICH AN ELEMENT IS ALLOWED TO WRITE ON ITS NODES. The caller is expected to ensure thread safety hence SET/UNSETLOCK MUST BE PERFORMED IN THE STRATEGY BEFORE CALLING THIS FUNCTION

Parameters
rRHSVectorinput variable containing the RHS vector to be assembled
rRHSVariablevariable describing the type of the RHS vector to be assembled
rDestinationVariablevariable in the database to which the rRHSVector will be assembled
rCurrentProcessInfothe current process info instance

Reimplemented from Kratos::Condition.

◆ AddExplicitContribution() [3/3]

template<SizeType TDim, SizeType TNumNodes, bool TNormalVariation, SizeType TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::AddExplicitContribution ( const VectorType rRHSVector,
const Variable< VectorType > &  rRHSVariable,
const Variable< double > &  rDestinationVariable,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable (double version)

The "AddEXplicit" FUNCTIONS THE ONLY FUNCTIONS IN WHICH AN ELEMENT IS ALLOWED TO WRITE ON ITS NODES. The caller is expected to ensure thread safety hence SET/UNSETLOCK MUST BE PERFORMED IN THE STRATEGY BEFORE CALLING THIS FUNCTION

Parameters
rRHSVectorinput variable containing the RHS vector to be assembled
rRHSVariablevariable describing the type of the RHS vector to be assembled
rDestinationVariablevariable in the database to which the rRHSVector will be assembled
rCurrentProcessInfothe current process info instance

Reimplemented from Kratos::Condition.

◆ CalculateLocalLHS() [1/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 2, 2, false, 2 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [2/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, false, 3 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [3/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, false, 4 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [4/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, false, 4 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [5/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, false, 3 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [6/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 2, 2, true, 2 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [7/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, true, 3 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [8/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, true, 4 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [9/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, true, 4 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [10/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, true, 3 >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
protected

◆ CalculateLocalLHS() [11/11]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::CalculateLocalLHS ( Matrix rLocalLHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
overrideprotected

Calculates the local contibution of the LHS.

Parameters
rLocalLHSThe local LHS to compute
rMortarConditionMatricesThe mortar operators to be considered
rDerivativeDataThe class containing all the derivatives uses to compute the jacobian
rActiveInactiveThe integer that is used to identify which case is the currectly computed
rCurrentProcessInfoThe current process information

◆ CalculateLocalRHS()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::CalculateLocalRHS ( Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
overrideprotected

Calculates the local contibution of the RHS.

Parameters
rLocalRHSThe local RHS to compute
rMortarConditionMatricesThe mortar operators to be considered
rDerivativeDataThe class containing all the derivatives uses to compute the jacobian
rActiveInactiveThe integer that is used to identify which case is the currectly computed
rCurrentProcessInfoThe current process information

◆ Check()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
int Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::Check ( const ProcessInfo rCurrentProcessInfo) const
overridevirtual

This function provides the place to perform checks on the completeness of the input.

It is designed to be called only once (or anyway, not often) typically at the beginning of the calculations, so to verify that nothing is missing from the input or that no common error is found.

Parameters
rCurrentProcessInfoThe current process information

Reimplemented from Kratos::Condition.

◆ Create() [1/3]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
Condition::Pointer Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::Create ( IndexType  NewId,
GeometryPointerType  pGeom,
PropertiesPointerType  pProperties 
) const
override

Creates a new element pointer from an existing geometry.

Parameters
NewIdthe ID of the new element
pGeomthe geometry taken to create the condition
pPropertiesthe properties assigned to the new element
Returns
a Pointer to the new element

◆ Create() [2/3]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Condition::Pointer Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::Create ( IndexType  NewId,
GeometryPointerType  pGeom,
PropertiesPointerType  pProperties,
GeometryPointerType  pMasterGeom 
) const
override

Creates a new element pointer from an existing geometry.

Parameters
NewIdthe ID of the new element
pGeomthe geometry taken to create the condition
pPropertiesthe properties assigned to the new element
pMasterGeomthe paired geometry
Returns
a Pointer to the new element

◆ Create() [3/3]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
Condition::Pointer Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::Create ( IndexType  NewId,
NodesArrayType const &  rThisNodes,
PropertiesPointerType  pProperties 
) const
override

Creates a new element pointer from an arry of nodes.

Parameters
NewIdthe ID of the new element
rThisNodesthe nodes of the new element
pPropertiesthe properties assigned to the new element
Returns
a Pointer to the new element

◆ EquationIdVector()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::EquationIdVector ( EquationIdVectorType rResult,
const ProcessInfo rCurrentProcessInfo 
) const
overridevirtual

Sets on rResult the ID's of the element degrees of freedom.

Parameters
rResultThe result vector with the ID's of the DOF
rCurrentProcessInfothe current process info instance

Reimplemented from Kratos::Condition.

◆ FinalizeSolutionStep()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::FinalizeSolutionStep ( const ProcessInfo rCurrentProcessInfo)
overridevirtual

Called at the ending of each solution step.

Parameters
rCurrentProcessInfothe current process info instance

Reimplemented from Kratos::Condition.

◆ GetActiveInactiveValue()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
IndexType Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::GetActiveInactiveValue ( const GeometryType rCurrentGeometry) const
inlineoverrideprotectedvirtual

Returns a value depending of the active/inactive set.

Parameters
rCurrentGeometryThe geometry containing the nodes that are needed to be checked as active or inactive
Returns
The integer that can be used to identify the case to compute

Reimplemented from Kratos::MortarContactCondition< TDim, TNumNodes, FrictionalCase::FRICTIONAL_PENALTY, TNormalVariation, TNumNodes >.

◆ GetDofList()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::GetDofList ( DofsVectorType rConditionalDofList,
const ProcessInfo rCurrentProcessInfo 
) const
overridevirtual

Sets on ConditionalDofList the degrees of freedom of the considered element geometry.

Parameters
rConditionalDofListThe list of DOFs
rCurrentProcessInfoThe current process info instance

Reimplemented from Kratos::Condition.

◆ GetFrictionCoefficient()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
array_1d<double, TNumNodes> Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::GetFrictionCoefficient ( )
inlineprotected

This method returns a vector containing the friction coefficients.

Returns
The friction coefficient corresponding to each node

◆ Info()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
std::string Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::PairedCondition.

◆ Initialize()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::Initialize ( const ProcessInfo rCurrentProcessInfo)
overridevirtual

Called at the beginning of each solution step.

Reimplemented from Kratos::PairedCondition.

◆ InitializeSolutionStep()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::InitializeSolutionStep ( const ProcessInfo rCurrentProcessInfo)
overridevirtual

Called at the begining of each solution step.

Parameters
rCurrentProcessInfothe current process info instance

Reimplemented from Kratos::PairedCondition.

◆ KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION ( PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >  )

◆ PrintData()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::PairedCondition.

◆ PrintInfo()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::PairedCondition.

◆ StaticCalculateLocalRHS() [1/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 2, 2, false, 2 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 2 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [2/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 2, 2, true, 2 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 2 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [3/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, false, 3 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 3 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [4/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, false, 4 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 3 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [5/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, true, 3 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 3 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [6/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 3, true, 4 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 3 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [7/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, false, 4 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 4 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [8/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, false, 3 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 4 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [9/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, true, 4 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 4 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [10/11]

void Kratos::PenaltyMethodFrictionalMortarContactCondition< 3, 4, true, 3 >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, 4 > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)

◆ StaticCalculateLocalRHS() [11/11]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
static void Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::StaticCalculateLocalRHS ( PairedCondition pCondition,
const MortarBaseConditionMatrices rPreviousMortarOperators,
const array_1d< double, TNumNodes > &  mu,
Vector rLocalRHS,
const MortarConditionMatrices rMortarConditionMatrices,
const DerivativeDataType rDerivativeData,
const IndexType  rActiveInactive,
const ProcessInfo rCurrentProcessInfo 
)
static

Calculates the local contibution of the RHS.

Parameters
pConditionThe condition pointer
rPreviousMortarOperatorsThe previous mortar operators
muThe friction coefficients
rLocalRHSThe local RHS to compute
rMortarConditionMatricesThe mortar operators to be considered
rDerivativeDataThe class containing all the derivatives uses to compute the jacobian
rActiveInactiveThe integer that is used to identify which case is the currectly computed

Friends And Related Function Documentation

◆ Serializer

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
friend class Serializer
friend

Member Data Documentation

◆ MatrixSize

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
constexpr IndexType Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::MatrixSize = TDim * (TNumNodes + TNumNodesMaster)
staticconstexpr

Constant expression for matrix size.

◆ mPreviousMortarOperators

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
MortarBaseConditionMatrices Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::mPreviousMortarOperators
protected

In order to know iw we need to initialize the previous operators.

◆ mPreviousMortarOperatorsInitialized

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
bool Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::mPreviousMortarOperatorsInitialized = false
protected

◆ StepSlip

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
constexpr IndexType Kratos::PenaltyMethodFrictionalMortarContactCondition< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::StepSlip = TNormalVariation ? 0 : 1
staticconstexpr

Constant expression for step slip.


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