![]() |
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.
|
Implicit solving strategy base class This is the base class from which we will derive all the implicit strategies (line-search, NR, etc...) More...
#include <implicit_solving_strategy.h>
Public Member Functions | |
Life Cycle | |
| 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 () |
Operations | |
| BaseType::Pointer | Create (ModelPart &rModelPart, Parameters ThisParameters) const override |
| Create method. More... | |
Access | |
| 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... | |
Input and output | |
| std::string | Info () const override |
| Turn back information as a string. 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 () |
| 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... | |
| KRATOS_CLASS_POINTER_DEFINITION (SolvingStrategy) | |
| 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 | 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... | |
| virtual int | Check () |
| Function to perform expensive checks. More... | |
| virtual TSystemMatrixType & | GetSystemMatrix () |
| This method returns the LHS matrix. More... | |
| virtual TSystemVectorType & | GetSystemVector () |
| This method returns the RHS vector. More... | |
| virtual TSystemVectorType & | GetSolutionVector () |
| This method returns the solution vector. More... | |
Protected Member Functions | |
Protected Operations | |
| 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 | |
Protected static Member Variables | |
| int | mRebuildLevel |
| bool | mStiffnessMatrixIsBuilt |
| The current rebuild level. More... | |
Protected Attributes inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace > | |
| int | mEchoLevel |
Inquiry | |
| 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::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::SolvingStrategy< TSparseSpace, TDenseSpace > | |
| static std::string | Name () |
| Returns the name of the class as used in the settings (snake_case format) More... | |
Implicit solving strategy base class This is the base class from which we will derive all the implicit strategies (line-search, NR, etc...)
| TSparseSpace | Linear algebra sparse space |
| TDenseSpace | Linear algebra dense space |
| TLinearSolver | Linear solver type |
| typedef SolvingStrategy<TSparseSpace, TDenseSpace> Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType |
| typedef ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ClassType |
| typedef BaseType::ConditionsArrayType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ConditionsArrayType |
| typedef BaseType::DofsArrayType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType |
| typedef BaseType::ElementsArrayType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsArrayType |
| typedef BaseType::LocalSystemMatrixType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType |
| typedef BaseType::LocalSystemVectorType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType |
| typedef BaseType::NodesArrayType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::NodesArrayType |
| typedef BuilderAndSolver<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TBuilderAndSolverType |
| typedef BaseType::TDataType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType |
| typedef BaseType::TDofType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TDofType |
| typedef Scheme<TSparseSpace, TDenseSpace> Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType |
| typedef BaseType::TSystemMatrixPointerType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType |
| typedef BaseType::TSystemMatrixType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType |
| typedef BaseType::TSystemVectorPointerType Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType |
| typedef BaseType::TSystemVectorType Kratos::ImplicitSolvingStrategy< 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.
| rModelPart | The model part to be computed |
| MoveMeshFlag | The flag to set if the mesh is moved or not |
|
inlinevirtual |
Destructor.
|
inlineoverrideprotectedvirtual |
This method assigns settings to member variables.
| ThisParameters | Parameters that are assigned to the member variables |
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Create method.
| rModelPart | The model part of the problem |
| ThisParameters | The configuration parameters |
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
This method provides the defaults parameters to avoid conflicts between the different constructors.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonMPCContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedNewtonRaphsonContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
This returns the build level.
{ 0 -> Build StiffnessMatrix just once 1 -> Build StiffnessMatrix at the beginning of each solution step 2 -> build StiffnessMatrix at each iteration }
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inline |
This method gets the flag mStiffnessMatrixIsBuilt.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::RelaxedResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategyForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalTwoStepVPStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedDEMCoupledNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LineSearchContactStrategy< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >.
| Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
Counted pointer of ClassName
|
inlinestatic |
Returns the name of the class as used in the settings (snake_case format)
|
inlineoverridevirtual |
This sets the build level.
| Level | The build level |
{ 0 -> Build StiffnessMatrix just once 1 -> Build StiffnessMatrix at the beginning of each solution step 2 -> build StiffnessMatrix at each iteration }
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inline |
This method sets the flag mStiffnessMatrixIsBuilt.
| StiffnessMatrixIsBuilt | The flag that tells if the stiffness matrix is built |
|
protected |
|
protected |
The current rebuild level.