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

Short class definition. More...

#include <adaptive_residualbased_newton_raphson_strategy.h>

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

Public Member Functions

Access
TSystemMatrixTypeGetSystemMatrix () override
 This method returns the LHS matrix. 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 ()
 
BaseType::Pointer Create (ModelPart &rModelPart, Parameters ThisParameters) const override
 Create method. More...
 
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...
 
std::string Info () const override
 Turn back information as a string. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ImplicitSolvingStrategy)
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
- 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 void FinalizeSolutionStep ()
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
virtual bool SolveSolutionStep ()
 Solves the current step. This function returns true if a solution has been found, false otherwise. 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...
 
virtual int Check ()
 Function to perform expensive checks. More...
 
virtual TSystemVectorTypeGetSystemVector ()
 This method returns the RHS vector. More...
 
virtual TSystemVectorTypeGetSolutionVector ()
 This method returns the solution vector. More...
 

Protected Member Functions

Private Operators
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...
 
void MaxIterationsExceeded (int cycle_number)
 
void PrintIncreaseOfDeltaTime (double old_dt, double new_dt)
 
void ReductionStrategy (ModelPart &model_part, double NewTime)
 
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
Un accessible methods
 AdaptiveResidualBasedNewtonRaphsonStrategy (const AdaptiveResidualBasedNewtonRaphsonStrategy &Other)
 
- Protected Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
- 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
 
TLinearSolver::Pointer mpLinearSolver
 
TBuilderAndSolverType::Pointer mpBuilderAndSolver
 
TConvergenceCriteriaType::Pointer mpConvergenceCriteria
 
TSystemVectorPointerType mpDx
 
TSystemVectorPointerType mpb
 
TSystemMatrixPointerType mpA
 
bool mReformDofSetAtEachStep
 
bool mCalculateReactionsFlag
 
bool mSolutionStepIsInitialized
 
int mMaxIterationNumber
 default = 30 More...
 
int mMinIterationNumber
 
bool mInitializeWasPerformed
 
double mReductionFactor
 
double mIncreaseFactor
 
int mNumberOfCycles
 
- 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

typedef ConvergenceCriteria< TSparseSpace, TDenseSpace > TConvergenceCriteriaType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > SolvingStrategyType
 
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef AdaptiveResidualBasedNewtonRaphsonStrategy< 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
 
 KRATOS_CLASS_POINTER_DEFINITION (AdaptiveResidualBasedNewtonRaphsonStrategy)
 

Life Cycle

 AdaptiveResidualBasedNewtonRaphsonStrategy ()
 Default constructor. More...
 
 AdaptiveResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 AdaptiveResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, int MaxIterations=30, int MinIterations=4, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false, double ReductionFactor=0.5, double IncreaseFactor=1.3, int NumberOfCycles=5)
 
 AdaptiveResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, int MaxIterations=30, int MinIterations=4, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false, double ReductionFactor=0.5, double IncreaseFactor=1.3, int NumberOfCycles=5)
 
 ~AdaptiveResidualBasedNewtonRaphsonStrategy () override
 
void SetScheme (typename TSchemeType::Pointer pScheme)
 
TSchemeType::Pointer GetScheme ()
 
void SetBuilderAndSolver (typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver)
 
TBuilderAndSolverType::Pointer GetBuilderAndSolver ()
 
void SetCalculateReactionsFlag (bool CalculateReactionsFlag)
 
bool GetCalculateReactionsFlag ()
 
void SetReformDofSetAtEachStepFlag (bool flag)
 
bool GetReformDofSetAtEachStepFlag ()
 
void SetMaxIterationNumber (int MaxIterationNumber)
 
unsigned int GetMaxIterationNumber ()
 
void SetEchoLevel (int Level) override
 This 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
 
bool CyclicSolve ()
 
double Solve () override
 The problem of interest is solved. More...
 
bool IsConverged () override
 
void CalculateOutputData () override
 
void Clear () override
 Clears the internal storage. More...
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 

Additional Inherited Members

- Public Types inherited from Kratos::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
 
- 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::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >

Short class definition.

Detail class definition.

\URL[Example of use html]{ extended_documentation/no_ex_of_use.html}

\URL[Example of use pdf]{ extended_documentation/no_ex_of_use.pdf}

\URL[Example of use doc]{ extended_documentation/no_ex_of_use.doc}

\URL[Example of use ps]{ extended_documentation/no_ex_of_use.ps}

\URL[Extended documentation html]{ extended_documentation/no_ext_doc.html}

\URL[Extended documentation pdf]{ extended_documentation/no_ext_doc.pdf}

\URL[Extended documentation doc]{ extended_documentation/no_ext_doc.doc}

\URL[Extended documentation ps]{ extended_documentation/no_ext_doc.ps}

Member Typedef Documentation

◆ BaseType

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

◆ ClassType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef AdaptiveResidualBasedNewtonRaphsonStrategy<TSparseSpace,TDenseSpace,TLinearSolver> Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ClassType

◆ DofsArrayType

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

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::LocalSystemMatrixType Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::LocalSystemVectorType Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType

◆ SolvingStrategyType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef SolvingStrategy<TSparseSpace, TDenseSpace> Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SolvingStrategyType

◆ SparseSpaceType

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

◆ TBuilderAndSolverType

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

◆ TConvergenceCriteriaType

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

◆ TDataType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TDataType Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType

◆ TSchemeType

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

◆ TSystemMatrixPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemMatrixPointerType Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType

◆ TSystemMatrixType

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

◆ TSystemVectorPointerType

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

◆ TSystemVectorType

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

Constructor & Destructor Documentation

◆ AdaptiveResidualBasedNewtonRaphsonStrategy() [1/5]

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

Default constructor.

◆ AdaptiveResidualBasedNewtonRaphsonStrategy() [2/5]

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

Default constructor. (with parameters)

Parameters
rModelPartThe model part of the problem
ThisParametersThe configuration parameters

◆ AdaptiveResidualBasedNewtonRaphsonStrategy() [3/5]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::AdaptiveResidualBasedNewtonRaphsonStrategy ( ModelPart rModelPart,
typename TSchemeType::Pointer  pScheme,
typename TLinearSolver::Pointer  pNewLinearSolver,
typename TConvergenceCriteriaType::Pointer  pNewConvergenceCriteria,
int  MaxIterations = 30,
int  MinIterations = 4,
bool  CalculateReactions = false,
bool  ReformDofSetAtEachStep = false,
bool  MoveMeshFlag = false,
double  ReductionFactor = 0.5,
double  IncreaseFactor = 1.3,
int  NumberOfCycles = 5 
)
inline

Constructor.

◆ AdaptiveResidualBasedNewtonRaphsonStrategy() [4/5]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::AdaptiveResidualBasedNewtonRaphsonStrategy ( ModelPart rModelPart,
typename TSchemeType::Pointer  pScheme,
typename TLinearSolver::Pointer  pNewLinearSolver,
typename TConvergenceCriteriaType::Pointer  pNewConvergenceCriteria,
typename TBuilderAndSolverType::Pointer  pNewBuilderAndSolver,
int  MaxIterations = 30,
int  MinIterations = 4,
bool  CalculateReactions = false,
bool  ReformDofSetAtEachStep = false,
bool  MoveMeshFlag = false,
double  ReductionFactor = 0.5,
double  IncreaseFactor = 1.3,
int  NumberOfCycles = 5 
)
inlineexplicit

Constructor specifying the builder and solver

Parameters
rModelPartThe model part of the problem
pSchemeThe integration scheme
pNewLinearSolverThe linear solver employed
pNewConvergenceCriteriaThe convergence criteria employed
pNewBuilderAndSolverThe builder and solver employed
MaxIterationsThe maximum number of non-linear iterations to be considered when solving the problem
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
ReductionFactorThe factor of reduction
IncreaseFactorThe increase factor
NumberOfCyclesThe number of cycles

◆ ~AdaptiveResidualBasedNewtonRaphsonStrategy()

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

Destructor.

◆ AdaptiveResidualBasedNewtonRaphsonStrategy() [5/5]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::AdaptiveResidualBasedNewtonRaphsonStrategy ( const AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver > &  Other)
protected

Copy constructor.

Member Function Documentation

◆ AssignSettings()

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

◆ CalculateOutputData()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::CalculateOutputData ( )
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 >.

◆ Clear()

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

Clears the internal storage.

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

◆ Create()

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

Create method.

OPERATIONS ACCESSIBLE FROM THE INPUT:

Parameters
rModelPartThe model part of the problem
ThisParametersThe configuration parameters

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

◆ CyclicSolve()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::CyclicSolve ( )
inline

the problem of interest is solved

◆ GetBuilderAndSolver()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TBuilderAndSolverType::Pointer Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetBuilderAndSolver ( )
inline

◆ GetCalculateReactionsFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetCalculateReactionsFlag ( )
inline

◆ GetDefaultParameters()

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

This method provides the defaults parameters to avoid conflicts between the different constructors.

Returns
The default parameters

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

◆ GetMaxIterationNumber()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetMaxIterationNumber ( )
inline

◆ GetReformDofSetAtEachStepFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetReformDofSetAtEachStepFlag ( )
inline

◆ GetScheme()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSchemeType::Pointer Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetScheme ( )
inline

◆ GetSystemMatrix()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemMatrixType& Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetSystemMatrix ( )
inlineoverridevirtual

This method returns the LHS matrix.

Returns
The LHS matrix

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

◆ Info()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
std::string Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

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

◆ Initialize()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Initialize ( )
inlineoverrideprotectedvirtual

Initialization of member variables and prior operations.

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

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::InitializeSolutionStep ( )
inlineoverrideprotectedvirtual

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

◆ IsConverged()

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Counted pointer of ClassName

◆ MaxIterationsExceeded()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::MaxIterationsExceeded ( int  cycle_number)
inlineprotected

◆ Name()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
static std::string Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< 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::AdaptiveResidualBasedNewtonRaphsonStrategy< 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::SolvingStrategy< TSparseSpace, TDenseSpace >.

◆ PrintData()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

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

◆ PrintIncreaseOfDeltaTime()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PrintIncreaseOfDeltaTime ( double  old_dt,
double  new_dt 
)
inlineprotected

◆ PrintInfo()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

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

◆ ReductionStrategy()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ReductionStrategy ( ModelPart model_part,
double  NewTime 
)
inlineprotected

◆ SetBuilderAndSolver()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SetBuilderAndSolver ( typename TBuilderAndSolverType::Pointer  pNewBuilderAndSolver)
inline

◆ SetCalculateReactionsFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SetCalculateReactionsFlag ( bool  CalculateReactionsFlag)
inline

◆ SetEchoLevel()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SetEchoLevel ( int  Level)
inlineoverridevirtual

This sets the level of echo for the solving strategy.

Parameters
Levelof echo for the solving strategy

{ 0 -> Mute... no echo at all 1 -> Printing time and basic information 2 -> Printing linear solver data 3 -> Print of debug information: Echo of stiffness matrix, Dx, b... }

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

◆ SetMaxIterationNumber()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SetMaxIterationNumber ( int  MaxIterationNumber)
inline

◆ SetReformDofSetAtEachStepFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SetReformDofSetAtEachStepFlag ( bool  flag)
inline

◆ SetScheme()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SetScheme ( typename TSchemeType::Pointer  pScheme)
inline

Destructor.

◆ Solve()

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

Member Data Documentation

◆ mCalculateReactionsFlag

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

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

default = true

◆ mIncreaseFactor

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mIncreaseFactor
protected

◆ mInitializeWasPerformed

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

◆ mMaxIterationNumber

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
int Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mMaxIterationNumber
protected

default = 30

◆ mMinIterationNumber

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
int Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mMinIterationNumber
protected

◆ mNumberOfCycles

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
int Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mNumberOfCycles
protected

◆ mpA

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

◆ mpb

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

◆ mpBuilderAndSolver

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

◆ mpConvergenceCriteria

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

◆ mpDx

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

◆ mpLinearSolver

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TLinearSolver::Pointer Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpLinearSolver
protected

◆ mpScheme

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

◆ mReductionFactor

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mReductionFactor
protected

◆ mReformDofSetAtEachStep

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

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

  • true => reforme at each time step
  • false => form just one (more efficient)

Default = false

◆ mSolutionStepIsInitialized

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mSolutionStepIsInitialized
protected

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