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::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver > Class Template Reference

Contact Newton Raphson class. More...

#include <residualbased_newton_raphson_contact_strategy.h>

Inheritance diagram for Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >:
Collaboration diagram for Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >:

Protected Member Functions

Protected Operations
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
bool BaseSolveSolutionStep ()
 Solves the current step. More...
 
bool AdaptativeStep ()
 This method performs the adaptative step. More...
 
void UpdateDatabase (TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b, const bool MoveMesh) override
 Here the database is updated. More...
 
bool CheckGeometryInverted ()
 his method checks if there is no element inverted More...
 
double SplitTimeStep (double &AuxDeltaTime, double &CurrentTime)
 Here the time step is splitted. More...
 
void UnMoveMesh ()
 This method moves bak the mesh to the previous position. More...
 
void CoutSolvingProblem ()
 This method prints information after solving the problem. More...
 
void CoutSplittingTime (const double AuxDeltaTime, const double AuxTime)
 This method prints information after split the increment of time. More...
 
void MaxIterationsExceeded () override
 This method prints information after reach the max number of interations. More...
 
void MaxIterationsAndSplitsExceeded ()
 This method prints information after reach the max number of interations and splits. More...
 
Protected LifeCycle
 ResidualBasedNewtonRaphsonContactStrategy (const ResidualBasedNewtonRaphsonContactStrategy &Other)
 
- Protected Member Functions inherited from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
virtual void EchoInfo (const unsigned int IterationNumber)
 This method returns the components of the system of equations depending of the echo level. More...
 
void WriteDofInfo (std::string FileName, const TSystemVectorType &rDX)
 
 ResidualBasedNewtonRaphsonStrategy (const ResidualBasedNewtonRaphsonStrategy &Other)
 
Protected Operations
- Protected Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 

Protected Attributes

Protected member Variables
Parameters mThisParameters
 
bool mFinalizeWasPerformed
 The configuration parameters. More...
 
ProcessesListType mpMyProcesses
 If the FinalizeSolutionStep has been already permformed. More...
 
ProcessesListType mpPostProcesses
 The processes list. More...
 
int mConvergenceCriteriaEchoLevel
 The post processes list. More...
 
- Protected Attributes inherited from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
TSchemeType::Pointer mpScheme = nullptr
 
TBuilderAndSolverType::Pointer mpBuilderAndSolver = nullptr
 The pointer to the time scheme employed. More...
 
TConvergenceCriteriaType::Pointer mpConvergenceCriteria = nullptr
 The pointer to the builder and solver employed. More...
 
TSystemVectorPointerType mpDx
 The pointer to the convergence criteria employed. More...
 
TSystemVectorPointerType mpb
 The increment in the solution. More...
 
TSystemMatrixPointerType mpA
 The RHS vector of the system of equations. More...
 
bool mReformDofSetAtEachStep
 The LHS matrix of the system of equations. More...
 
bool mCalculateReactionsFlag
 Flag telling if it is needed or not to compute the reactions. More...
 
bool mUseOldStiffnessInFirstIteration = false
 Flag telling if a full update of the database will be performed at the first iteration. More...
 
unsigned int mMaxIterationNumber
 
bool mInitializeWasPerformed
 The maximum number of iterations, 30 by default. More...
 
bool mKeepSystemConstantDuringIterations
 Flag to set as initialized the strategy. More...
 
- Protected Attributes inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
int mRebuildLevel
 
bool mStiffnessMatrixIsBuilt
 The current rebuild level. More...
 
- Protected Attributes inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
int mEchoLevel
 

Type Definitions

using SolvingStrategyType = SolvingStrategy< TSparseSpace, TDenseSpace >
 The solving strategy type. More...
 
using StrategyBaseType = ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 The base type for the implicit solving strategy. More...
 
using BaseType = ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 The base type for the Newton-Raphson strategy. More...
 
using ClassType = ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 The current class type. More...
 
using TConvergenceCriteriaType = ConvergenceCriteria< TSparseSpace, TDenseSpace >
 The convergence criteria type. More...
 
using TBuilderAndSolverType = typename BaseType::TBuilderAndSolverType
 The type of the builder and solver. More...
 
using TDataType = typename BaseType::TDataType
 The data type. More...
 
using SparseSpaceType = TSparseSpace
 The sparse space used. More...
 
using TSchemeType = typename BaseType::TSchemeType
 The scheme type. More...
 
using DofsArrayType = typename BaseType::DofsArrayType
 The array type for degrees of freedom. More...
 
using TSystemMatrixType = typename BaseType::TSystemMatrixType
 The sparse matrix type. More...
 
using TSystemVectorType = typename BaseType::TSystemVectorType
 The dense vector type. More...
 
using LocalSystemVectorType = typename BaseType::LocalSystemVectorType
 The local system vector type. More...
 
using LocalSystemMatrixType = typename BaseType::LocalSystemMatrixType
 The local system matrix type. More...
 
using TSystemMatrixPointerType = typename BaseType::TSystemMatrixPointerType
 Pointer type for the system matrix. More...
 
using TSystemVectorPointerType = typename BaseType::TSystemVectorPointerType
 Pointer type for the system vector. More...
 
using NodesArrayType = typename ModelPart::NodesContainerType
 Array type for nodes. More...
 
using ElementsArrayType = typename ModelPart::ElementsContainerType
 Array type for elements. More...
 
using ConditionsArrayType = typename ModelPart::ConditionsContainerType
 Array type for conditions. More...
 
using ProcessesListType = typename ProcessFactoryUtility::Pointer
 Type for the list of processes. More...
 
using IndexType = std::size_t
 Index type definition. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ResidualBasedNewtonRaphsonContactStrategy)
 Pointer definition of ResidualBasedNewtonRaphsonContactStrategy. More...
 
 ResidualBasedNewtonRaphsonContactStrategy ()
 Default constructor. More...
 
 ResidualBasedNewtonRaphsonContactStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ResidualBasedNewtonRaphsonContactStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, IndexType MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false, Parameters ThisParameters=Parameters(R"({})"), ProcessesListType pMyProcesses=nullptr, ProcessesListType pPostProcesses=nullptr)
 Default constructor. More...
 
 ResidualBasedNewtonRaphsonContactStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, IndexType MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false, Parameters ThisParameters=Parameters(R"({})"), ProcessesListType pMyProcesses=nullptr, ProcessesListType pPostProcesses=nullptr)
 Default constructor. More...
 
 ResidualBasedNewtonRaphsonContactStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, IndexType MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false, Parameters ThisParameters=Parameters(R"({})"), ProcessesListType pMyProcesses=nullptr, ProcessesListType pPostProcesses=nullptr)
 Default constructor. More...
 
 ~ResidualBasedNewtonRaphsonContactStrategy () override=default
 

Operations

SolvingStrategyType::Pointer Create (ModelPart &rModelPart, Parameters ThisParameters) const override
 Create method. More...
 
void Predict () override
 Operation to predict the solution ... if it is not called a trivial predictor is used in which the values of the solution step of interest are assumed equal to the old values. More...
 
void Initialize () override
 Initialization of member variables and prior operations. More...
 
double Solve () override
 The problem of interest is solved. More...
 
void InitializeSolutionStep () override
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
void FinalizeSolutionStep () override
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
bool SolveSolutionStep () override
 Solves the current step. More...
 
Parameters GetDefaultParameters () const override
 This method returns the defaulr parameters in order to avoid code duplication. 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::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef ConvergenceCriteria< TSparseSpace, TDenseSpace > TConvergenceCriteriaType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > SolvingStrategyType
 
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver > ClassType
 
typedef BaseType::TBuilderAndSolverType TBuilderAndSolverType
 
typedef BaseType::TDataType TDataType
 
typedef TSparseSpace SparseSpaceType
 
typedef BaseType::TSchemeType TSchemeType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
- Public Types inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef SolvingStrategy< TSparseSpace, TDenseSpace > BaseType
 
typedef BaseType::TDataType TDataType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef Scheme< TSparseSpace, TDenseSpace > TSchemeType
 
typedef BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > TBuilderAndSolverType
 
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > ClassType
 
typedef BaseType::TDofType TDofType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::NodesArrayType NodesArrayType
 
typedef BaseType::ElementsArrayType ElementsArrayType
 
typedef BaseType::ConditionsArrayType ConditionsArrayType
 
- Public Types inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
typedef TSparseSpace::DataType TDataType
 
typedef TSparseSpace::MatrixType TSystemMatrixType
 
typedef TSparseSpace::VectorType TSystemVectorType
 
typedef TSparseSpace::MatrixPointerType TSystemMatrixPointerType
 
typedef TSparseSpace::VectorPointerType TSystemVectorPointerType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > ClassType
 
typedef ModelPart::DofType TDofType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 
- Public Member Functions inherited from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
TSystemMatrixTypeGetSystemMatrix () override
 This method returns the LHS matrix. More...
 
TSystemVectorTypeGetSystemVector () override
 This method returns the RHS vector. More...
 
TSystemVectorTypeGetSolutionVector () override
 This method returns the solution vector. More...
 
void SetKeepSystemConstantDuringIterations (bool Value)
 Set method for the flag mKeepSystemConstantDuringIterations. More...
 
bool GetKeepSystemConstantDuringIterations ()
 Get method for the flag mKeepSystemConstantDuringIterations. 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_POINTER_DEFINITION (ResidualBasedNewtonRaphsonStrategy)
 
 ResidualBasedNewtonRaphsonStrategy ()
 Default constructor. More...
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart)
 Default constructor. (with parameters) More...
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false)
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false)
 Constructor specifying the builder and solver. More...
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false)
 Constructor specifying the builder and solver. More...
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, Parameters Settings)
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters Settings)
 Constructor specifying the builder and solver and using Parameters. More...
 
 ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters Settings)
 Constructor specifying the builder and solver and using Parameters. More...
 
 ~ResidualBasedNewtonRaphsonStrategy () override
 Destructor. More...
 
void SetScheme (typename TSchemeType::Pointer pScheme)
 Set method for the time scheme. More...
 
TSchemeType::Pointer GetScheme ()
 Get method for the time scheme. More...
 
void SetBuilderAndSolver (typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver)
 Set method for the builder and solver. More...
 
TBuilderAndSolverType::Pointer GetBuilderAndSolver ()
 Get method for the builder and solver. More...
 
void SetInitializePerformedFlag (bool InitializePerformedFlag=true)
 This method sets the flag mInitializeWasPerformed. More...
 
bool GetInitializePerformedFlag ()
 This method gets the flag mInitializeWasPerformed. More...
 
void SetCalculateReactionsFlag (bool CalculateReactionsFlag)
 This method sets the flag mCalculateReactionsFlag. More...
 
bool GetCalculateReactionsFlag ()
 This method returns the flag mCalculateReactionsFlag. More...
 
void SetUseOldStiffnessInFirstIterationFlag (bool UseOldStiffnessInFirstIterationFlag)
 This method sets the flag mFullUpdateFlag. More...
 
bool GetUseOldStiffnessInFirstIterationFlag ()
 This method returns the flag mFullUpdateFlag. More...
 
void SetReformDofSetAtEachStepFlag (bool Flag)
 This method sets the flag mReformDofSetAtEachStep. More...
 
bool GetReformDofSetAtEachStepFlag ()
 This method returns the flag mReformDofSetAtEachStep. More...
 
void SetMaxIterationNumber (unsigned int MaxIterationNumber)
 This method sets the flag mMaxIterationNumber. More...
 
unsigned int GetMaxIterationNumber ()
 This method gets the flag mMaxIterationNumber. More...
 
void SetEchoLevel (int Level) override
 It sets the level of echo for the solving strategy. More...
 
void Clear () override
 Clears the internal storage. More...
 
bool IsConverged () override
 This should be considered as a "post solution" convergence check which is useful for coupled analysis - the convergence criteria used is the one used inside the "solve" step. More...
 
void CalculateOutputData () override
 This operations should be called before printing the results when non trivial results (e.g. stresses) Need to be calculated given the solution of the step. More...
 
int Check () override
 Function to perform expensive checks. More...
 
- Public Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 ImplicitSolvingStrategy ()
 Default constructor. More...
 
 ImplicitSolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ImplicitSolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false)
 Default constructor. More...
 
virtual ~ImplicitSolvingStrategy ()
 
void SetRebuildLevel (int Level) override
 This sets the build level. More...
 
int GetRebuildLevel () const override
 This returns the build level. More...
 
void SetStiffnessMatrixIsBuilt (const bool StiffnessMatrixIsBuilt)
 This method sets the flag mStiffnessMatrixIsBuilt. More...
 
bool GetStiffnessMatrixIsBuilt () const
 This method gets the flag mStiffnessMatrixIsBuilt. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ImplicitSolvingStrategy)
 
- Public Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
 SolvingStrategy ()
 Default constructor. More...
 
 SolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 SolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false)
 Default constructor. More...
 
virtual ~SolvingStrategy ()
 
 KRATOS_CLASS_POINTER_DEFINITION (SolvingStrategy)
 
int GetEchoLevel ()
 This returns the level of echo for the solving strategy. More...
 
void SetMoveMeshFlag (bool Flag)
 This function sets the flag that says if the mesh is moved. More...
 
bool MoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
bool GetMoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
virtual void MoveMesh ()
 This function is designed to move the mesh. More...
 
ModelPartGetModelPart ()
 Operations to get the pointer to the model. More...
 
const ModelPartGetModelPart () const
 Operations to get the pointer to the model. More...
 
virtual double GetResidualNorm ()
 Operations to get the residual norm. More...
 
- Static Public Member Functions inherited from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Static Public Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Static Public Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 

Detailed Description

template<class TSparseSpace, class TDenseSpace, class TLinearSolver>
class Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >

Contact Newton Raphson class.

This class is a specialization of the Newton Raphson strategy with some custom modifications for contact problems

Author
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType = ResidualBasedNewtonRaphsonStrategy<TSparseSpace, TDenseSpace, TLinearSolver>

The base type for the Newton-Raphson strategy.

◆ ClassType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ClassType = ResidualBasedNewtonRaphsonContactStrategy<TSparseSpace, TDenseSpace, TLinearSolver>

The current class type.

◆ ConditionsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ConditionsArrayType = typename ModelPart::ConditionsContainerType

Array type for conditions.

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType = typename BaseType::DofsArrayType

The array type for degrees of freedom.

◆ ElementsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsArrayType = typename ModelPart::ElementsContainerType

Array type for elements.

◆ IndexType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::IndexType = std::size_t

Index type definition.

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType = typename BaseType::LocalSystemMatrixType

The local system matrix type.

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType = typename BaseType::LocalSystemVectorType

The local system vector type.

◆ NodesArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::NodesArrayType = typename ModelPart::NodesContainerType

Array type for nodes.

◆ ProcessesListType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ProcessesListType = typename ProcessFactoryUtility::Pointer

Type for the list of processes.

◆ SolvingStrategyType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SolvingStrategyType = SolvingStrategy<TSparseSpace, TDenseSpace>

The solving strategy type.

◆ SparseSpaceType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseSpaceType = TSparseSpace

The sparse space used.

◆ StrategyBaseType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::StrategyBaseType = ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver>

The base type for the implicit solving strategy.

◆ TBuilderAndSolverType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TBuilderAndSolverType = typename BaseType::TBuilderAndSolverType

The type of the builder and solver.

◆ TConvergenceCriteriaType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TConvergenceCriteriaType = ConvergenceCriteria<TSparseSpace, TDenseSpace>

The convergence criteria type.

◆ TDataType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType = typename BaseType::TDataType

The data type.

◆ TSchemeType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType = typename BaseType::TSchemeType

The scheme type.

◆ TSystemMatrixPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType = typename BaseType::TSystemMatrixPointerType

Pointer type for the system matrix.

◆ TSystemMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType = typename BaseType::TSystemMatrixType

The sparse matrix type.

◆ TSystemVectorPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType = typename BaseType::TSystemVectorPointerType

Pointer type for the system vector.

◆ TSystemVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
using Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType = typename BaseType::TSystemVectorType

The dense vector type.

Constructor & Destructor Documentation

◆ ResidualBasedNewtonRaphsonContactStrategy() [1/6]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ResidualBasedNewtonRaphsonContactStrategy ( )
inlineexplicit

Default constructor.

◆ ResidualBasedNewtonRaphsonContactStrategy() [2/6]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ResidualBasedNewtonRaphsonContactStrategy ( ModelPart rModelPart,
Parameters  ThisParameters 
)
inlineexplicit

Default constructor. (with parameters)

Parameters
rModelPartThe model part of the problem
ThisParametersThe configuration parameters

◆ ResidualBasedNewtonRaphsonContactStrategy() [3/6]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ResidualBasedNewtonRaphsonContactStrategy ( ModelPart rModelPart,
typename TSchemeType::Pointer  pScheme,
typename TConvergenceCriteriaType::Pointer  pNewConvergenceCriteria,
typename TBuilderAndSolverType::Pointer  pNewBuilderAndSolver,
IndexType  MaxIterations = 30,
bool  CalculateReactions = false,
bool  ReformDofSetAtEachStep = false,
bool  MoveMeshFlag = false,
Parameters  ThisParameters = Parameters(R"({})"),
ProcessesListType  pMyProcesses = nullptr,
ProcessesListType  pPostProcesses = nullptr 
)
inline

Default constructor.

Parameters
rModelPartThe model part of the problem
pSchemeThe integration scheme
pNewConvergenceCriteriaThe convergence criteria employed
MaxIterationsThe maximum number of iterations
CalculateReactionsThe flag for the reaction calculation
ReformDofSetAtEachStepThe flag that allows to compute the modification of the DOF
MoveMeshFlagThe flag that allows to move the mesh

◆ ResidualBasedNewtonRaphsonContactStrategy() [4/6]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ResidualBasedNewtonRaphsonContactStrategy ( ModelPart rModelPart,
typename TSchemeType::Pointer  pScheme,
typename TLinearSolver::Pointer  pNewLinearSolver,
typename TConvergenceCriteriaType::Pointer  pNewConvergenceCriteria,
IndexType  MaxIterations = 30,
bool  CalculateReactions = false,
bool  ReformDofSetAtEachStep = false,
bool  MoveMeshFlag = false,
Parameters  ThisParameters = Parameters(R"({})"),
ProcessesListType  pMyProcesses = nullptr,
ProcessesListType  pPostProcesses = nullptr 
)
inline

Default constructor.

Parameters
rModelPartThe model part of the problem
pSchemeThe integration scheme
pNewLinearSolverThe linear solver employed
pNewConvergenceCriteriaThe convergence criteria employed
MaxIterationsThe maximum number of iterations
CalculateReactionsThe flag for the reaction calculation
ReformDofSetAtEachStepThe flag that allows to compute the modification of the DOF
MoveMeshFlagThe flag that allows to move the mesh

◆ ResidualBasedNewtonRaphsonContactStrategy() [5/6]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ResidualBasedNewtonRaphsonContactStrategy ( ModelPart rModelPart,
typename TSchemeType::Pointer  pScheme,
typename TLinearSolver::Pointer  pNewLinearSolver,
typename TConvergenceCriteriaType::Pointer  pNewConvergenceCriteria,
typename TBuilderAndSolverType::Pointer  pNewBuilderAndSolver,
IndexType  MaxIterations = 30,
bool  CalculateReactions = false,
bool  ReformDofSetAtEachStep = false,
bool  MoveMeshFlag = false,
Parameters  ThisParameters = Parameters(R"({})"),
ProcessesListType  pMyProcesses = nullptr,
ProcessesListType  pPostProcesses = nullptr 
)
inline

Default constructor.

Parameters
rModelPartThe model part of the problem
pSchemeThe integration scheme
pNewLinearSolverThe linear solver employed
pNewConvergenceCriteriaThe convergence criteria employed
MaxIterationsThe maximum number of iterations
CalculateReactionsThe flag for the reaction calculation
ReformDofSetAtEachStepThe flag that allows to compute the modification of the DOF
MoveMeshFlagThe flag that allows to move the mesh

◆ ~ResidualBasedNewtonRaphsonContactStrategy()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::~ResidualBasedNewtonRaphsonContactStrategy ( )
overridedefault

Destructor.

◆ ResidualBasedNewtonRaphsonContactStrategy() [6/6]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ResidualBasedNewtonRaphsonContactStrategy ( const ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver > &  Other)
inlineprotected

Copy constructor.

Member Function Documentation

◆ AdaptativeStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::AdaptativeStep ( )
inlineprotected

This method performs the adaptative step.

◆ AssignSettings()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::AssignSettings ( const Parameters  ThisParameters)
inlineoverrideprotectedvirtual

This method assigns settings to member variables.

Parameters
ThisParametersParameters that are assigned to the member variables

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ BaseSolveSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseSolveSolutionStep ( )
inlineprotected

Solves the current step.

This function returns true if a solution has been found, false otherwise.

◆ CheckGeometryInverted()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::CheckGeometryInverted ( )
inlineprotected

his method checks if there is no element inverted

◆ CoutSolvingProblem()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::CoutSolvingProblem ( )
inlineprotected

This method prints information after solving the problem.

◆ CoutSplittingTime()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::CoutSplittingTime ( const double  AuxDeltaTime,
const double  AuxTime 
)
inlineprotected

This method prints information after split the increment of time.

Parameters
AuxDeltaTimeThe new time step to be considered
AuxTimeThe destination time

◆ Create()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
SolvingStrategyType::Pointer Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Create ( ModelPart rModelPart,
Parameters  ThisParameters 
) const
inlineoverridevirtual

Create method.

Parameters
rModelPartThe model part of the problem
ThisParametersThe configuration parameters

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::FinalizeSolutionStep ( )
inlineoverridevirtual

Performs all the required operations that should be done (for each step) after solving the solution step.

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ GetDefaultParameters()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Parameters Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetDefaultParameters ( ) const
inlineoverridevirtual

This method returns the defaulr parameters in order to avoid code duplication.

Returns
Returns the default parameters

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ Initialize()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Initialize ( )
inlineoverridevirtual

Initialization of member variables and prior operations.

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::InitializeSolutionStep ( )
inlineoverridevirtual

Performs all the required operations that should be done (for each step) before solving the solution step.

A member variable should be used as a flag to make sure this function is called only once per step.

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION ( ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >  )

◆ MaxIterationsAndSplitsExceeded()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::MaxIterationsAndSplitsExceeded ( )
inlineprotected

This method prints information after reach the max number of interations and splits.

◆ MaxIterationsExceeded()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::MaxIterationsExceeded ( )
inlineoverrideprotectedvirtual

This method prints information after reach the max number of interations.

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ Name()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
static std::string Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Name ( )
inlinestatic

Returns the name of the class as used in the settings (snake_case format)

Returns
The name of the class

◆ Predict()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Predict ( )
inlineoverridevirtual

Operation to predict the solution ... if it is not called a trivial predictor is used in which the values of the solution step of interest are assumed equal to the old values.

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ Solve()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Solve ( )
inlineoverridevirtual

The problem of interest is solved.

This function calls sequentially: Initialize(), InitializeSolutionStep(), Predict(), SolveSolutionStep() and FinalizeSolutionStep(). All those functions can otherwise be called separately.

Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.

◆ SolveSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SolveSolutionStep ( )
inlineoverridevirtual

Solves the current step.

This function returns true if a solution has been found, false otherwise.

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ SplitTimeStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SplitTimeStep ( double AuxDeltaTime,
double CurrentTime 
)
inlineprotected

Here the time step is splitted.

Parameters
AuxDeltaTimeThe new delta time to be considered
CurrentTimeThe current time
Returns
The destination time

◆ UnMoveMesh()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::UnMoveMesh ( )
inlineprotected

This method moves bak the mesh to the previous position.

◆ UpdateDatabase()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::UpdateDatabase ( TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b,
const bool  MoveMesh 
)
inlineoverrideprotectedvirtual

Here the database is updated.

Parameters
AThe LHS matrix
DxThe increment of solution after solving system
bThe RHS vector
MoveMeshThe flag that tells if the mesh should be moved

Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

Member Data Documentation

◆ mConvergenceCriteriaEchoLevel

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
int Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mConvergenceCriteriaEchoLevel
protected

The post processes list.

◆ mFinalizeWasPerformed

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mFinalizeWasPerformed
protected

The configuration parameters.

◆ mpMyProcesses

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
ProcessesListType Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpMyProcesses
protected

If the FinalizeSolutionStep has been already permformed.

◆ mpPostProcesses

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
ProcessesListType Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpPostProcesses
protected

The processes list.

◆ mThisParameters

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Parameters Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mThisParameters
protected

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