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.
|
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>
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... | |
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.