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.
|
This is the base Newton Raphson strategy. More...
#include <residualbased_newton_raphson_strategy.h>
Public Member Functions | |
Access | |
TSystemMatrixType & | GetSystemMatrix () override |
This method returns the LHS matrix. More... | |
TSystemVectorType & | GetSystemVector () override |
This method returns the RHS vector. More... | |
TSystemVectorType & | GetSolutionVector () 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... | |
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::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... | |
ModelPart & | GetModelPart () |
Operations to get the pointer to the model. More... | |
const ModelPart & | GetModelPart () const |
Operations to get the pointer to the model. More... | |
virtual double | GetResidualNorm () |
Operations to get the residual norm. More... | |
Protected Member Functions | |
Private Operators | |
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) |
Un accessible methods | |
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 | |
Member Variables | |
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 |
Life Cycle | |
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 | Initialize () override |
Initialization of member variables and prior operations. 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... | |
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. This function returns true if a solution has been found, false otherwise. 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... | |
static std::string | Name () |
Returns the name of the class as used in the settings (snake_case format) More... | |
This is the base Newton Raphson strategy.
This strategy iterates until the convergence is achieved (or the maximum number of iterations is surpassed) using a Newton Raphson algorithm
typedef ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType |
typedef ResidualBasedNewtonRaphsonStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ClassType |
typedef BaseType::DofsArrayType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType |
typedef BaseType::LocalSystemMatrixType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType |
typedef BaseType::LocalSystemVectorType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType |
typedef SolvingStrategy<TSparseSpace, TDenseSpace> Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SolvingStrategyType |
typedef TSparseSpace Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseSpaceType |
typedef BaseType::TBuilderAndSolverType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TBuilderAndSolverType |
typedef ConvergenceCriteria<TSparseSpace, TDenseSpace> Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TConvergenceCriteriaType |
typedef BaseType::TDataType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType |
typedef BaseType::TSchemeType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType |
typedef BaseType::TSystemMatrixPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType |
typedef BaseType::TSystemMatrixType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType |
typedef BaseType::TSystemVectorPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType |
typedef BaseType::TSystemVectorType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType |
|
inlineexplicit |
Default constructor.
|
inlineexplicit |
Default constructor. (with parameters)
rModelPart | The model part of the problem |
ThisParameters | The configuration parameters |
|
inlineexplicit |
Default constructor. (with parameters)
rModelPart | The model part of the problem |
ThisParameters | The configuration parameters |
|
inlineexplicit |
Default constructor
rModelPart | The model part of the problem |
pScheme | The integration scheme |
pNewLinearSolver | The linear solver employed |
pNewConvergenceCriteria | The convergence criteria employed |
MaxIterations | The maximum number of non-linear iterations to be considered when solving the problem |
CalculateReactions | The flag for the reaction calculation |
ReformDofSetAtEachStep | The flag that allows to compute the modification of the DOF |
MoveMeshFlag | The flag that allows to move the mesh |
|
inlineexplicit |
Constructor specifying the builder and solver.
rModelPart | The model part of the problem |
pScheme | The integration scheme |
pNewConvergenceCriteria | The convergence criteria employed |
pNewBuilderAndSolver | The builder and solver employed |
MaxIterations | The maximum number of non-linear iterations to be considered when solving the problem |
CalculateReactions | The flag for the reaction calculation |
ReformDofSetAtEachStep | The flag that allows to compute the modification of the DOF |
MoveMeshFlag | The flag that allows to move the mesh |
|
inlineexplicit |
Constructor specifying the builder and solver.
rModelPart | The model part of the problem |
pScheme | The integration scheme |
pNewLinearSolver | The linear solver employed |
pNewConvergenceCriteria | The convergence criteria employed |
pNewBuilderAndSolver | The builder and solver employed |
MaxIterations | The maximum number of non-linear iterations to be considered when solving the problem |
CalculateReactions | The flag for the reaction calculation |
ReformDofSetAtEachStep | The flag that allows to compute the modification of the DOF |
MoveMeshFlag | The flag that allows to move the mesh |
|
inline |
Constructor with Parameters
rModelPart | The model part of the problem |
pScheme | The integration scheme |
pNewLinearSolver | The linear solver employed |
pNewConvergenceCriteria | The convergence criteria employed |
Settings | Settings used in the strategy |
|
inline |
Constructor specifying the builder and solver and using Parameters.
rModelPart | The model part of the problem |
pScheme | The integration scheme |
pNewLinearSolver | The linear solver employed |
pNewConvergenceCriteria | The convergence criteria employed |
pNewBuilderAndSolver | The builder and solver employed |
Settings | Settings used in the strategy |
|
inline |
Constructor specifying the builder and solver and using Parameters.
rModelPart | The model part of the problem |
pScheme | The integration scheme |
pNewLinearSolver | The linear solver employed |
pNewConvergenceCriteria | The convergence criteria employed |
pNewBuilderAndSolver | The builder and solver employed |
Parameters | Settings used in the strategy |
|
inlineoverride |
Destructor.
In trilinos third party library, the linear solver's preconditioner should be freed before the system matrix. We control the deallocation order with Clear().
|
inlineprotected |
Copy constructor.
|
inlineoverrideprotectedvirtual |
This method assigns settings to member variables.
ThisParameters | Parameters that are assigned to the member variables |
Reimplemented from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
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.
This operations should be called only when needed, before printing as it can involve a non negligible cost
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Function to perform expensive checks.
It is designed to be called ONCE to verify that the input is correct.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::GeoMechanicsNewtonRaphsonErosionProcessStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Clears the internal storage.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Create method.
OPERATIONS ACCESSIBLE FROM THE INPUT:
rModelPart | The model part of the problem |
ThisParameters | The configuration parameters |
Reimplemented from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotectedvirtual |
This method returns the components of the system of equations depending of the echo level.
IterationNumber | The non linear iteration in the solution loop |
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
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::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsNewtonRaphsonErosionProcessStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inline |
Get method for the builder and solver.
|
inline |
This method returns the flag mCalculateReactionsFlag.
|
inlineoverridevirtual |
This method provides the defaults parameters to avoid conflicts between the different constructors.
Reimplemented from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
Reimplemented in Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inline |
This method gets the flag mInitializeWasPerformed.
|
inline |
Get method for the flag mKeepSystemConstantDuringIterations.
|
inline |
This method gets the flag mMaxIterationNumber.
|
inline |
This method returns the flag mReformDofSetAtEachStep.
|
inline |
Get method for the time scheme.
|
inlineoverridevirtual |
This method returns the solution vector.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
This method returns the LHS matrix.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
This method returns the RHS vector.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inline |
This method returns the flag mFullUpdateFlag.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Initialization of member variables and prior operations.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
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::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
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::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
|
inlineprotectedvirtual |
This method prints information after reach the max number of iterations.
Reimplemented in Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinestatic |
Returns the name of the class as used in the settings (snake_case format)
|
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::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inline |
Set method for the builder and solver.
pNewBuilderAndSolver | The pointer to the builder and solver considered |
|
inline |
This method sets the flag mCalculateReactionsFlag.
CalculateReactionsFlag | The flag that tells if the reactions are computed |
|
inlineoverridevirtual |
It sets the level of echo for the solving strategy.
Level | The level to set |
The different levels of echo are:
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inline |
This method sets the flag mInitializeWasPerformed.
InitializePerformedFlag | The flag that tells if the initialize has been computed |
|
inline |
Set method for the flag mKeepSystemConstantDuringIterations.
Value | If we consider constant the system of equations during the iterations |
|
inline |
This method sets the flag mMaxIterationNumber.
MaxIterationNumber | This is the maximum number of on linear iterations |
|
inline |
This method sets the flag mReformDofSetAtEachStep.
Flag | The flag that tells if each time step the system is rebuilt |
|
inline |
Set method for the time scheme.
pScheme | The pointer to the time scheme considered |
|
inline |
This method sets the flag mFullUpdateFlag.
UseOldStiffnessInFirstIterationFlag | The flag that tells if |
|
inlineoverridevirtual |
Solves the current step. This function returns true if a solution has been found, false otherwise.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HexahedraNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotectedvirtual |
Here the database is updated.
A | The LHS matrix of the system of equations |
Dx | The incremement in the solution |
b | The RHS vector of the system of equations |
MoveMesh | The flag that allows to move the mesh |
Reimplemented in Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotected |
|
protected |
Flag telling if it is needed or not to compute the reactions.
default = true
|
protected |
The maximum number of iterations, 30 by default.
|
protected |
Flag to set as initialized the strategy.
|
protected |
|
protected |
The RHS vector of the system of equations.
|
protected |
The increment in the solution.
|
protected |
The pointer to the time scheme employed.
|
protected |
The pointer to the builder and solver employed.
|
protected |
The pointer to the convergence criteria employed.
|
protected |
|
protected |
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
|
protected |
Flag telling if a full update of the database will be performed at the first iteration.
default = false