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 Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver > Class Template Reference

#include <poromechanics_ramm_arc_length_strategy.hpp>

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

Public Types

typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver > GrandMotherType
 
typedef PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver > MotherType
 
typedef ConvergenceCriteria< TSparseSpace, TDenseSpace > TConvergenceCriteriaType
 
typedef BaseType::TBuilderAndSolverType TBuilderAndSolverType
 
typedef BaseType::TSchemeType TSchemeType
 
typedef TSparseSpace SparseSpaceType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
- Public Types inherited from Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver > MotherType
 
typedef ConvergenceCriteria< TSparseSpace, TDenseSpace > TConvergenceCriteriaType
 
typedef BaseType::TBuilderAndSolverType TBuilderAndSolverType
 
typedef BaseType::TSchemeType TSchemeType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
- 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

 KRATOS_CLASS_POINTER_DEFINITION (PoromechanicsRammArcLengthStrategy)
 
 PoromechanicsRammArcLengthStrategy (ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters &rParameters, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false)
 Constructor. More...
 
 ~PoromechanicsRammArcLengthStrategy () override
 Destructor. More...
 
void Initialize () override
 Initialization of member variables and prior operations. More...
 
void InitializeSolutionStep () override
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
bool SolveSolutionStep () override
 Solves the current step. This function returns true if a solution has been found, false otherwise. More...
 
void FinalizeSolutionStep () override
 Performs all the required operations that should be done (for each step) after solving the solution step. 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...
 
virtual void UpdateLoads ()
 
- Public Member Functions inherited from Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 KRATOS_CLASS_POINTER_DEFINITION (PoromechanicsNewtonRaphsonStrategy)
 
 PoromechanicsNewtonRaphsonStrategy (ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters &rParameters, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false)
 Constructor. More...
 
 ~PoromechanicsNewtonRaphsonStrategy () override
 Destructor. More...
 
- 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...
 
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 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...
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. 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)
 
virtual double Solve ()
 The problem of interest is solved. More...
 
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...
 

Public Attributes

TSchemeType::Pointer mpScheme
 
TBuilderAndSolverType::Pointer mpBuilderAndSolver
 The pointer to the time scheme employed. More...
 
TConvergenceCriteriaType::Pointer mpConvergenceCriteria
 The pointer to the builder and solver employed. More...
 
TSystemMatrixPointerType mpA
 The RHS vector of the system of equations. More...
 
TSystemVectorPointerType mpb
 The increment in the solution. More...
 
TSystemVectorPointerType mpDx
 The pointer to the convergence criteria employed. 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...
 
unsigned int mMaxIterationNumber
 
bool mInitializeWasPerformed
 The maximum number of iterations, 30 by default. More...
 
- Public Attributes inherited from Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
TSchemeType::Pointer mpScheme
 
TBuilderAndSolverType::Pointer mpBuilderAndSolver
 The pointer to the time scheme employed. More...
 
TSystemMatrixPointerType mpA
 The RHS vector of the system of equations. More...
 
TSystemVectorPointerType mpb
 The increment in the solution. More...
 
TSystemVectorPointerType mpDx
 The pointer to the convergence criteria employed. More...
 
unsigned int mMaxIterationNumber
 
bool mInitializeWasPerformed
 The maximum number of iterations, 30 by default. More...
 

Protected Member Functions

void InitializeSystemVector (TSystemVectorPointerType &pv)
 Delta lambda of the current step. More...
 
void SaveInitializeSystemVector (TSystemVectorPointerType &pv)
 
void BuildWithDirichlet (TSystemMatrixType &mA, TSystemVectorType &mDx, TSystemVectorType &mb)
 
virtual void Update (DofsArrayType &rDofSet, TSystemMatrixType &mA, TSystemVectorType &mDx, TSystemVectorType &mb)
 
void ClearStep ()
 
void UpdateExternalLoads ()
 
- Protected Member Functions inherited from Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
virtual bool CheckConvergence ()
 Name of the nodal variable associated to every SubModelPart. More...
 
double CalculateReferenceDofsNorm (DofsArrayType &rDofSet)
 
- Protected Member Functions inherited from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
virtual void UpdateDatabase (TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb, const bool MoveMesh)
 Here the database is updated. More...
 
virtual void EchoInfo (const unsigned int IterationNumber)
 This method returns the components of the system of equations depending of the echo level. More...
 
virtual void MaxIterationsExceeded ()
 This method prints information after reach the max number of iterations. More...
 
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. 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

TSystemVectorPointerType mpf
 Member Variables. More...
 
TSystemVectorPointerType mpDxf
 Vector of reference external forces. More...
 
TSystemVectorPointerType mpDxb
 Delta x of A*Dxf=f. More...
 
TSystemVectorPointerType mpDxPred
 Delta x of A*Dxb=b. More...
 
TSystemVectorPointerType mpDxStep
 Delta x of prediction phase. More...
 
unsigned int mDesiredIterations
 Delta x of the current step. More...
 
bool mInitializeArcLengthWasPerformed
 This is used to calculate the radius of the next step. More...
 
double mMaxRadiusFactor
 
double mMinRadiusFactor
 
double mRadius
 Used to limit the radius of the arc length strategy. More...
 
double mRadius_0
 
double mLambda
 Radius of the arc length strategy. More...
 
double mLambda_old
 
double mNormxEquilibrium
 Loading factor. More...
 
double mDLambdaStep
 Norm of the solution vector in equilibrium. More...
 
- Protected Attributes inherited from Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
ParametersmpParameters
 Member Variables. More...
 
std::vector< ModelPart * > mSubModelPartList
 
std::vector< std::string > mVariableNames
 List of every SubModelPart associated to an external load. 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
 

Additional Inherited Members

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

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::DofsArrayType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType

◆ GrandMotherType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ResidualBasedNewtonRaphsonStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GrandMotherType

◆ MotherType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef PoromechanicsNewtonRaphsonStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::MotherType

◆ SparseSpaceType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseSpaceType

◆ TBuilderAndSolverType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TBuilderAndSolverType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TBuilderAndSolverType

◆ TConvergenceCriteriaType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ConvergenceCriteria<TSparseSpace, TDenseSpace> Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TConvergenceCriteriaType

◆ TSchemeType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSchemeType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType

◆ TSystemMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemMatrixType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType

◆ TSystemVectorPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemVectorPointerType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType

◆ TSystemVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemVectorType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType

Constructor & Destructor Documentation

◆ PoromechanicsRammArcLengthStrategy()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PoromechanicsRammArcLengthStrategy ( ModelPart model_part,
typename TSchemeType::Pointer  pScheme,
typename TConvergenceCriteriaType::Pointer  pNewConvergenceCriteria,
typename TBuilderAndSolverType::Pointer  pNewBuilderAndSolver,
Parameters rParameters,
int  MaxIterations = 30,
bool  CalculateReactions = false,
bool  ReformDofSetAtEachStep = false,
bool  MoveMeshFlag = false 
)
inline

Constructor.

◆ ~PoromechanicsRammArcLengthStrategy()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::~PoromechanicsRammArcLengthStrategy ( )
inlineoverride

Destructor.

Member Function Documentation

◆ BuildWithDirichlet()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BuildWithDirichlet ( TSystemMatrixType mA,
TSystemVectorType mDx,
TSystemVectorType mb 
)
inlineprotected

◆ Clear()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Clear ( )
inlineoverridevirtual

◆ ClearStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ClearStep ( )
inlineprotected

◆ FinalizeSolutionStep()

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

Performs all the required operations that should be done (for each step) after 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 >.

◆ Initialize()

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

Initialization of member variables and prior operations.

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

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsRammArcLengthStrategy< 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 >.

◆ InitializeSystemVector()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::InitializeSystemVector ( TSystemVectorPointerType pv)
inlineprotected

Delta lambda of the current step.

◆ IsConverged()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::IsConverged ( )
inlineoverridevirtual

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.

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

◆ SaveInitializeSystemVector()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SaveInitializeSystemVector ( TSystemVectorPointerType pv)
inlineprotected

◆ SolveSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::PoromechanicsRammArcLengthStrategy< 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 >.

◆ Update()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Update ( DofsArrayType rDofSet,
TSystemMatrixType mA,
TSystemVectorType mDx,
TSystemVectorType mb 
)
inlineprotectedvirtual

◆ UpdateExternalLoads()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::UpdateExternalLoads ( )
inlineprotected

◆ UpdateLoads()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::UpdateLoads ( )
inlinevirtual

Member Data Documentation

◆ mCalculateReactionsFlag

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mCalculateReactionsFlag

Flag telling if it is needed or not to compute the reactions.

default = true

◆ mDesiredIterations

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mDesiredIterations
protected

Delta x of the current step.

◆ mDLambdaStep

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mDLambdaStep
protected

Norm of the solution vector in equilibrium.

◆ mInitializeArcLengthWasPerformed

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mInitializeArcLengthWasPerformed
protected

This is used to calculate the radius of the next step.

◆ mInitializeWasPerformed

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mInitializeWasPerformed

The maximum number of iterations, 30 by default.

◆ mLambda

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mLambda
protected

Radius of the arc length strategy.

◆ mLambda_old

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mLambda_old
protected

◆ mMaxIterationNumber

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mMaxIterationNumber

◆ mMaxRadiusFactor

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mMaxRadiusFactor
protected

◆ mMinRadiusFactor

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mMinRadiusFactor
protected

◆ mNormxEquilibrium

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mNormxEquilibrium
protected

Loading factor.

◆ mpA

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemMatrixPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpA

The RHS vector of the system of equations.

◆ mpb

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpb

The increment in the solution.

◆ mpBuilderAndSolver

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TBuilderAndSolverType::Pointer Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpBuilderAndSolver

The pointer to the time scheme employed.

◆ mpConvergenceCriteria

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TConvergenceCriteriaType::Pointer Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpConvergenceCriteria

The pointer to the builder and solver employed.

◆ mpDx

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpDx

The pointer to the convergence criteria employed.

◆ mpDxb

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpDxb
protected

Delta x of A*Dxf=f.

◆ mpDxf

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpDxf
protected

Vector of reference external forces.

◆ mpDxPred

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpDxPred
protected

Delta x of A*Dxb=b.

◆ mpDxStep

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpDxStep
protected

Delta x of prediction phase.

◆ mpf

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpf
protected

Member Variables.

◆ mpScheme

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSchemeType::Pointer Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpScheme

◆ mRadius

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mRadius
protected

Used to limit the radius of the arc length strategy.

◆ mRadius_0

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mRadius_0
protected

◆ mReformDofSetAtEachStep

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mReformDofSetAtEachStep

The LHS matrix of the system of equations.

Flag telling if it is needed to reform the DofSet at each solution step or if it is possible to form it just once

Default = false

  • true : Reforme at each time step
  • false : Form just one (more efficient)

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