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

Solving strategy base class This is the base class from which we will derive all the strategies (implicit and explicit) More...

#include <solving_strategy.h>

Inheritance diagram for Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >:
Collaboration diagram for Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >:

Public Member Functions

Life Cycle
 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 ()
 
Input and output
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Protected Member Functions

Protected Operations
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 
virtual void AssignSettings (const Parameters ThisParameters)
 This method assigns settings to member variables. More...
 

Protected Attributes

Protected static Member Variables
int mEchoLevel
 

Type Definitions

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
 
 KRATOS_CLASS_POINTER_DEFINITION (SolvingStrategy)
 

Operations

virtual ClassType::Pointer Create (ModelPart &rModelPart, Parameters ThisParameters) const
 Create method. More...
 
virtual void Predict ()
 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...
 
virtual void Initialize ()
 Initialization of member variables and prior operations. More...
 
virtual double Solve ()
 The problem of interest is solved. More...
 
virtual void Clear ()
 Clears the internal storage. More...
 
virtual bool IsConverged ()
 This should be considered as a "post solution" convergence check which is useful for coupled analysis. More...
 
virtual void CalculateOutputData ()
 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...
 
virtual void InitializeSolutionStep ()
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
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...
 
virtual void SetEchoLevel (const int Level)
 This sets the level of echo for the solving strategy. 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 SetRebuildLevel (int Level)
 Set the Rebuild Level value This functions sets the rebuild level of the strategy It is only intended to be used in implicit strategies. More...
 
virtual int GetRebuildLevel () const
 Get the Rebuild Level value This function returns the rebuild level of the strategy It is only intended to be used in implicit strategies. 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 Parameters GetDefaultParameters () const
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
virtual TSystemMatrixTypeGetSystemMatrix ()
 This method returns the LHS matrix. More...
 
virtual TSystemVectorTypeGetSystemVector ()
 This method returns the RHS vector. More...
 
virtual TSystemVectorTypeGetSolutionVector ()
 This method returns the solution vector. More...
 
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 Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >

Solving strategy base class This is the base class from which we will derive all the strategies (implicit and explicit)

Member Typedef Documentation

◆ ClassType

template<class TSparseSpace , class TDenseSpace >
typedef SolvingStrategy<TSparseSpace, TDenseSpace> Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::ClassType

◆ ConditionsArrayType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::ConditionsContainerType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::ConditionsArrayType

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::DofsArrayType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::DofsArrayType

◆ ElementsArrayType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::ElementsContainerType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::ElementsArrayType

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::MatrixType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::VectorType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::LocalSystemVectorType

◆ NodesArrayType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::NodesContainerType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::NodesArrayType

◆ TDataType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::DataType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::TDataType

◆ TDofType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::DofType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::TDofType

◆ TSystemMatrixPointerType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::MatrixPointerType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::TSystemMatrixPointerType

◆ TSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::MatrixType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::TSystemMatrixType

◆ TSystemVectorPointerType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::VectorPointerType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::TSystemVectorPointerType

◆ TSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::VectorType Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::TSystemVectorType

Constructor & Destructor Documentation

◆ SolvingStrategy() [1/3]

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

Default constructor.

◆ SolvingStrategy() [2/3]

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

Default constructor. (with parameters)

Parameters
rModelPartThe model part of the problem
ThisParametersThe configuration parameters

◆ SolvingStrategy() [3/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::SolvingStrategy ( ModelPart rModelPart,
bool  MoveMeshFlag = false 
)
inlineexplicit

Default constructor.

Parameters
rModelPartThe model part to be computed
MoveMeshFlagThe flag to set if the mesh is moved or not

◆ ~SolvingStrategy()

template<class TSparseSpace , class TDenseSpace >
virtual Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::~SolvingStrategy ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ AssignSettings()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::AssignSettings ( const Parameters  ThisParameters)
inlineprotectedvirtual

◆ CalculateOutputData()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::CalculateOutputData ( )
inlinevirtual

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 in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GaussSeidelLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >.

◆ Check()

template<class TSparseSpace , class TDenseSpace >
virtual int Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::Check ( )
inlinevirtual

Function to perform expensive checks.

It is designed to be called ONCE to verify that the input is correct.

Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HarmonicAnalysisStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverNitscheStabilizationStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsNewtonRaphsonErosionProcessStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ResidualBasedSemiEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategyNonLinear< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ Clear()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::Clear ( )
inlinevirtual

Clears the internal storage.

Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HarmonicAnalysisStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverNitscheStabilizationStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedSemiEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategyNonLinear< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RungeKuttaFracStepStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ Create()

template<class TSparseSpace , class TDenseSpace >
virtual ClassType::Pointer Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::Create ( ModelPart rModelPart,
Parameters  ThisParameters 
) const
inlinevirtual

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::FinalizeSolutionStep ( )
inlinevirtual

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 in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::Fluid_Phase_PFEM2_Explicit_Strategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PFEM2_Explicit_Strategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverNitscheStabilizationStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsNewtonRaphsonErosionProcessStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ GetDefaultParameters()

template<class TSparseSpace , class TDenseSpace >
virtual Parameters Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetDefaultParameters ( ) const
inlinevirtual

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

Returns
The default parameters

Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, Kratos::CompressibleNavierStokesExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ GetEchoLevel()

template<class TSparseSpace , class TDenseSpace >
int Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetEchoLevel ( )
inline

This returns the level of 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... }

Returns
Level of echo for the solving strategy

◆ GetModelPart() [1/2]

template<class TSparseSpace , class TDenseSpace >
ModelPart& Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetModelPart ( )
inline

Operations to get the pointer to the model.

Returns
*mpModelPart: The model part member variable

◆ GetModelPart() [2/2]

template<class TSparseSpace , class TDenseSpace >
const ModelPart& Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetModelPart ( ) const
inline

Operations to get the pointer to the model.

Returns
*mpModelPart: The model part member variable

◆ GetMoveMeshFlag()

template<class TSparseSpace , class TDenseSpace >
bool Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetMoveMeshFlag ( )
inline

This function returns the flag that says if the mesh is moved.

Returns
True if the mesh is moved, false otherwise

◆ GetRebuildLevel()

template<class TSparseSpace , class TDenseSpace >
virtual int Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetRebuildLevel ( ) const
inlinevirtual

Get the Rebuild Level value This function returns the rebuild level of the strategy It is only intended to be used in implicit strategies.

Returns
int Rebuild Level value

Reimplemented in Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >.

◆ GetResidualNorm()

template<class TSparseSpace , class TDenseSpace >
virtual double Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetResidualNorm ( )
inlinevirtual

◆ GetSolutionVector()

template<class TSparseSpace , class TDenseSpace >
virtual TSystemVectorType& Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetSolutionVector ( )
inlinevirtual

◆ GetSystemMatrix()

template<class TSparseSpace , class TDenseSpace >
virtual TSystemMatrixType& Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetSystemMatrix ( )
inlinevirtual

◆ GetSystemVector()

template<class TSparseSpace , class TDenseSpace >
virtual TSystemVectorType& Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::GetSystemVector ( )
inlinevirtual

◆ Info()

template<class TSparseSpace , class TDenseSpace >
virtual std::string Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::Info ( ) const
inlinevirtual

Turn back information as a string.

Reimplemented in Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPThermalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategyForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, Kratos::CompressibleNavierStokesExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta4ConvectionDiffusion< TSparseSpace, TDenseSpace >, Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ Initialize()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::Initialize ( )
inlinevirtual

Initialization of member variables and prior operations.

Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HarmonicAnalysisStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategyForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HelmholtzStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosStructuralMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosLaplacianMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::StructuralMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LaplacianMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverNitscheStabilizationStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta4ConvectionDiffusion< TSparseSpace, TDenseSpace >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::InitializeSolutionStep ( )
inlinevirtual

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 in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::Fluid_Phase_PFEM2_Explicit_Strategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PFEM2_Explicit_Strategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverNitscheStabilizationStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ IsConverged()

template<class TSparseSpace , class TDenseSpace >
virtual bool Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::IsConverged ( )
inlinevirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Counted pointer of ClassName

◆ MoveMesh()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::MoveMesh ( )
inlinevirtual

This function is designed to move the mesh.

Note
Be careful it just consider displacements, derive this method to adapt to your own strategies (ALE, FSI, etc...)

◆ MoveMeshFlag()

template<class TSparseSpace , class TDenseSpace >
bool Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::MoveMeshFlag ( )
inline

This function returns the flag that says if the mesh is moved.

Returns
True if the mesh is moved, false otherwise

◆ Name()

template<class TSparseSpace , class TDenseSpace >
static std::string Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::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 >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::Predict ( )
inlinevirtual

◆ PrintData()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPThermalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ExplicitSolvingStrategyRungeKutta4ConvectionDiffusion< TSparseSpace, TDenseSpace >, Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ PrintInfo()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPThermalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategyForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau > >, Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >, Kratos::ExplicitSolvingStrategyRungeKutta4ConvectionDiffusion< TSparseSpace, TDenseSpace >, Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ SetEchoLevel()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::SetEchoLevel ( const int  Level)
inlinevirtual

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 in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HarmonicAnalysisStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPThermalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GaussSeidelLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverNitscheStabilizationStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedSemiEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategyNonLinear< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RungeKuttaFracStepStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitHamiltonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ SetMoveMeshFlag()

template<class TSparseSpace , class TDenseSpace >
void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::SetMoveMeshFlag ( bool  Flag)
inline

This function sets the flag that says if the mesh is moved.

Parameters
FlagTrue if the mesh is moved, false otherwise

◆ SetRebuildLevel()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::SetRebuildLevel ( int  Level)
inlinevirtual

Set the Rebuild Level value This functions sets the rebuild level of the strategy It is only intended to be used in implicit strategies.

Parameters
LevelLevel of rebuild

Reimplemented in Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >.

◆ Solve()

template<class TSparseSpace , class TDenseSpace >
virtual double Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::Solve ( )
inlinevirtual

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 in Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::AdaptiveResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GaussSeidelLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HelmholtzStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosStructuralMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosLaplacianMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::StructuralMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LaplacianMeshMovingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedSemiEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategyNonLinear< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RungeKuttaFracStepStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ SolveSolutionStep()

template<class TSparseSpace , class TDenseSpace >
virtual bool Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::SolveSolutionStep ( )
inlinevirtual

Solves the current step. This function returns true if a solution has been found, false otherwise.

Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >, Kratos::ArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HarmonicAnalysisStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsRammArcLengthNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsNewtonRaphsonNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PoromechanicsExplicitNonlocalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::VPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPThermalStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ThreeStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategyForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::MPMExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::EigensolverNitscheStabilizationStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::HexahedraNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ExplicitSolvingStrategyRungeKutta4ConvectionDiffusion< TSparseSpace, TDenseSpace >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ ValidateAndAssignParameters()

template<class TSparseSpace , class TDenseSpace >
virtual Parameters Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::ValidateAndAssignParameters ( Parameters  ThisParameters,
const Parameters  DefaultParameters 
) const
inlineprotectedvirtual

This method validate and assign default parameters.

Parameters
rParametersParameters to be validated
DefaultParametersThe default parameters
Returns
Returns validated Parameters

Member Data Documentation

◆ mEchoLevel

template<class TSparseSpace , class TDenseSpace >
int Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >::mEchoLevel
protected

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