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.
List of all members
Kratos::DisplacementLagrangeMultiplierResidualFrictionalContactCriteria< TSparseSpace, TDenseSpace > Class Template Reference

Convergence criteria for contact problems (only for frictional cases) This class implements a convergence control based on nodal displacement and lagrange multiplier values. The error is evaluated separately for each of them, and relative and absolute tolerances for both must be specified. More...

#include <displacement_lagrangemultiplier_residual_frictional_contact_criteria.h>

Inheritance diagram for Kratos::DisplacementLagrangeMultiplierResidualFrictionalContactCriteria< TSparseSpace, TDenseSpace >:
Collaboration diagram for Kratos::DisplacementLagrangeMultiplierResidualFrictionalContactCriteria< TSparseSpace, TDenseSpace >:

Public Member Functions

Life Cycle
 DisplacementLagrangeMultiplierResidualFrictionalContactCriteria ()
 Default constructor. More...
 
 DisplacementLagrangeMultiplierResidualFrictionalContactCriteria (Kratos::Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 DisplacementLagrangeMultiplierResidualFrictionalContactCriteria (const double DispRatioTolerance, const double DispAbsTolerance, const double RotRatioTolerance, const double RotAbsTolerance, const double LMNormalRatioTolerance, const double LMNormalAbsTolerance, const double LMTangentStickRatioTolerance, const double LMTangentStickAbsTolerance, const double LMTangentSlipRatioTolerance, const double LMTangentSlipAbsTolerance, const double NormalTangentRatio, const bool EnsureContact=false, const bool PureSlip=false, const bool PrintingOutput=false)
 Default constructor. More...
 
 DisplacementLagrangeMultiplierResidualFrictionalContactCriteria (DisplacementLagrangeMultiplierResidualFrictionalContactCriteria const &rOther)
 
 ~DisplacementLagrangeMultiplierResidualFrictionalContactCriteria () override=default
 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::ConvergenceCriteria< TSparseSpace, TDenseSpace >
 ConvergenceCriteria ()
 
 ConvergenceCriteria (Kratos::Parameters ThisParameters)
 Constructor with Parameters. More...
 
 ConvergenceCriteria (ConvergenceCriteria const &rOther)
 
virtual ~ConvergenceCriteria ()
 
 KRATOS_CLASS_POINTER_DEFINITION (ConvergenceCriteria)
 Pointer definition of ConvergenceCriteria. More...
 
virtual std::vector< TSystemVectorType > & GetRHS_Element_Components ()
 Get component wise element components. More...
 
virtual std::vector< Variable< LocalSystemVectorType > > & GetRHS_Element_Variables ()
 Get component wise element variables. More...
 
virtual std::vector< TSystemVectorType > & GetRHS_Condition_Components ()
 Get component wise condition components. More...
 
virtual std::vector< Variable< LocalSystemVectorType > > & GetRHS_Condition_Variables ()
 Get component wise condition variables. More...
 
virtual void SetEchoLevel (int Level)
 It sets the level of echo for the solving strategy. More...
 
int GetEchoLevel ()
 This returns the level of echo for the solving strategy. More...
 
void SetActualizeRHSFlag (bool ActualizeRHSIsNeeded)
 This method sets the flag mActualizeRHSIsNeeded. More...
 
bool GetActualizeRHSflag ()
 This method gets the flag mActualizeRHSIsNeeded. More...
 
virtual bool PreCriteria (ModelPart &rModelPart, DofsArrayType &rDofSet, const TSystemMatrixType &rA, const TSystemVectorType &rDx, const TSystemVectorType &rb)
 Criterias that need to be called before getting the solution. More...
 
virtual bool IsInitialized ()
 This function returns if the convergence criteria is initialized. More...
 
virtual void InitializeNonLinearIteration (ModelPart &rModelPart, DofsArrayType &rDofSet, const TSystemMatrixType &rA, const TSystemVectorType &rDx, const TSystemVectorType &rb)
 This function initializes the non-linear iteration. More...
 
virtual void FinalizeSolutionStep (ModelPart &rModelPart, DofsArrayType &rDofSet, const TSystemMatrixType &rA, const TSystemVectorType &rDx, const TSystemVectorType &rb)
 This function finalizes the solution step. More...
 
virtual int Check (ModelPart &rModelPart)
 This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors. More...
 

Protected Member Functions

Protected Operations
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
- Protected Member Functions inherited from Kratos::ConvergenceCriteria< TSparseSpace, TDenseSpace >
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 

Type Definitions

using BaseType = ConvergenceCriteria< TSparseSpace, TDenseSpace >
 The base class definition. More...
 
using ClassType = DisplacementLagrangeMultiplierResidualFrictionalContactCriteria< TSparseSpace, TDenseSpace >
 The definition of the current class. More...
 
using DofsArrayType = typename BaseType::DofsArrayType
 The dofs array type. More...
 
using TSystemMatrixType = typename BaseType::TSystemMatrixType
 The sparse matrix type. More...
 
using TSystemVectorType = typename BaseType::TSystemVectorType
 The dense vector type. More...
 
using SparseSpaceType = TSparseSpace
 The sparse space used. More...
 
using TablePrinterPointerType = TableStreamUtility::Pointer
 The table stream definition TODO: Replace by logger. More...
 
using IndexType = std::size_t
 The index type definition. More...
 
static constexpr double ZeroTolerance = std::numeric_limits<double>::epsilon()
 Zero tolerance definition. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (DisplacementLagrangeMultiplierResidualFrictionalContactCriteria)
 Pointer definition of DisplacementLagrangeMultiplierResidualFrictionalContactCriteria. More...
 
 KRATOS_DEFINE_LOCAL_FLAG (ENSURE_CONTACT)
 Local Flags. More...
 
 KRATOS_DEFINE_LOCAL_FLAG (PRINTING_OUTPUT)
 
 KRATOS_DEFINE_LOCAL_FLAG (TABLE_IS_INITIALIZED)
 
 KRATOS_DEFINE_LOCAL_FLAG (ROTATION_DOF_IS_CONSIDERED)
 
 KRATOS_DEFINE_LOCAL_FLAG (PURE_SLIP)
 
 KRATOS_DEFINE_LOCAL_FLAG (INITIAL_RESIDUAL_IS_SET)
 
 KRATOS_DEFINE_LOCAL_FLAG (INITIAL_NORMAL_RESIDUAL_IS_SET)
 
 KRATOS_DEFINE_LOCAL_FLAG (INITIAL_STICK_RESIDUAL_IS_SET)
 
 KRATOS_DEFINE_LOCAL_FLAG (INITIAL_SLIP_RESIDUAL_IS_SET)
 

Operations

BaseType::Pointer Create (Parameters ThisParameters) const override
 Create method. More...
 
bool PostCriteria (ModelPart &rModelPart, DofsArrayType &rDofSet, const TSystemMatrixType &rA, const TSystemVectorType &rDx, const TSystemVectorType &rb) override
 Compute relative and absolute error. More...
 
void Initialize (ModelPart &rModelPart) override
 This function initialize the convergence criteria. More...
 
void InitializeSolutionStep (ModelPart &rModelPart, DofsArrayType &rDofSet, const TSystemMatrixType &rA, const TSystemVectorType &rDx, const TSystemVectorType &rb) override
 This function initializes the solution step. More...
 
void FinalizeNonLinearIteration (ModelPart &rModelPart, DofsArrayType &rDofSet, const TSystemMatrixType &rA, const TSystemVectorType &rDx, const TSystemVectorType &rb) override
 This function finalizes the non-linear iteration. More...
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 

Additional Inherited Members

- Public Types inherited from Kratos::ConvergenceCriteria< TSparseSpace, TDenseSpace >
typedef ConvergenceCriteria< TSparseSpace, TDenseSpace > ClassType
 The definition of the current class. More...
 
typedef TSparseSpace::DataType TDataType
 Data type definition. More...
 
typedef TSparseSpace::MatrixType TSystemMatrixType
 Matrix type definition. More...
 
typedef TSparseSpace::VectorType TSystemVectorType
 Vector type definition. More...
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 Local system matrix type definition. More...
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 Local system vector type definition. More...
 
typedef ModelPart::DofsArrayType DofsArrayType
 DoF array type definition. More...
 
- Static Public Member Functions inherited from Kratos::ConvergenceCriteria< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Protected Attributes inherited from Kratos::ConvergenceCriteria< TSparseSpace, TDenseSpace >
bool mActualizeRHSIsNeeded = false
 
bool mConvergenceCriteriaIsInitialized = false
 This "flag" is set in order to know if it is necessary to actualize the RHS. More...
 
int mEchoLevel
 This "flag" is set in order to know if it is convergence criteria is initialized. More...
 

Detailed Description

template<class TSparseSpace, class TDenseSpace>
class Kratos::DisplacementLagrangeMultiplierResidualFrictionalContactCriteria< TSparseSpace, TDenseSpace >

Convergence criteria for contact problems (only for frictional cases) This class implements a convergence control based on nodal displacement and lagrange multiplier values. The error is evaluated separately for each of them, and relative and absolute tolerances for both must be specified.

Author
Vicente Mataix Ferrandiz

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