![]() |
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.
|
#include <geo_mechanics_ramm_arc_length_strategy.hpp>
Public Member Functions | |
KRATOS_CLASS_POINTER_DEFINITION (GeoMechanicsRammArcLengthStrategy) | |
GeoMechanicsRammArcLengthStrategy (ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters &rParameters, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false) | |
void | Initialize () override |
Initialization of member variables and prior operations. More... | |
void | InitializeSolutionStep () override |
Performs all the required operations that should be done (for each step) before solving the solution step. More... | |
bool | SolveSolutionStep () override |
Solves the current step. This function returns true if a solution has been found, false otherwise. More... | |
void | FinalizeSolutionStep () override |
Performs all the required operations that should be done (for each step) after solving the solution step. More... | |
void | Clear () override |
Clears the internal storage. More... | |
virtual void | UpdateLoads () |
![]() | |
KRATOS_CLASS_POINTER_DEFINITION (GeoMechanicsNewtonRaphsonStrategy) | |
GeoMechanicsNewtonRaphsonStrategy (ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters &rParameters, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false) | |
Default constructor. More... | |
![]() | |
TSystemMatrixType & | GetSystemMatrix () override |
This method returns the LHS matrix. More... | |
TSystemVectorType & | GetSystemVector () override |
This method returns the RHS vector. More... | |
TSystemVectorType & | GetSolutionVector () override |
This method returns the solution vector. More... | |
void | SetKeepSystemConstantDuringIterations (bool Value) |
Set method for the flag mKeepSystemConstantDuringIterations. More... | |
bool | GetKeepSystemConstantDuringIterations () |
Get method for the flag mKeepSystemConstantDuringIterations. More... | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ResidualBasedNewtonRaphsonStrategy) | |
ResidualBasedNewtonRaphsonStrategy () | |
Default constructor. More... | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart) | |
Default constructor. (with parameters) More... | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, Parameters ThisParameters) | |
Default constructor. (with parameters) More... | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false) | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false) | |
Constructor specifying the builder and solver. More... | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, int MaxIterations=30, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false) | |
Constructor specifying the builder and solver. More... | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, Parameters Settings) | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters Settings) | |
Constructor specifying the builder and solver and using Parameters. More... | |
ResidualBasedNewtonRaphsonStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TConvergenceCriteriaType::Pointer pNewConvergenceCriteria, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, Parameters Settings) | |
Constructor specifying the builder and solver and using Parameters. More... | |
~ResidualBasedNewtonRaphsonStrategy () override | |
Destructor. More... | |
void | SetScheme (typename TSchemeType::Pointer pScheme) |
Set method for the time scheme. More... | |
TSchemeType::Pointer | GetScheme () |
Get method for the time scheme. More... | |
void | SetBuilderAndSolver (typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver) |
Set method for the builder and solver. More... | |
TBuilderAndSolverType::Pointer | GetBuilderAndSolver () |
Get method for the builder and solver. More... | |
void | SetInitializePerformedFlag (bool InitializePerformedFlag=true) |
This method sets the flag mInitializeWasPerformed. More... | |
bool | GetInitializePerformedFlag () |
This method gets the flag mInitializeWasPerformed. More... | |
void | SetCalculateReactionsFlag (bool CalculateReactionsFlag) |
This method sets the flag mCalculateReactionsFlag. More... | |
bool | GetCalculateReactionsFlag () |
This method returns the flag mCalculateReactionsFlag. More... | |
void | SetUseOldStiffnessInFirstIterationFlag (bool UseOldStiffnessInFirstIterationFlag) |
This method sets the flag mFullUpdateFlag. More... | |
bool | GetUseOldStiffnessInFirstIterationFlag () |
This method returns the flag mFullUpdateFlag. More... | |
void | SetReformDofSetAtEachStepFlag (bool Flag) |
This method sets the flag mReformDofSetAtEachStep. More... | |
bool | GetReformDofSetAtEachStepFlag () |
This method returns the flag mReformDofSetAtEachStep. More... | |
void | SetMaxIterationNumber (unsigned int MaxIterationNumber) |
This method sets the flag mMaxIterationNumber. More... | |
unsigned int | GetMaxIterationNumber () |
This method gets the flag mMaxIterationNumber. More... | |
void | SetEchoLevel (int Level) override |
It sets the level of echo for the solving strategy. More... | |
SolvingStrategyType::Pointer | Create (ModelPart &rModelPart, Parameters ThisParameters) const override |
Create method. More... | |
void | Predict () override |
Operation to predict the solution ... if it is not called a trivial predictor is used in which the values of the solution step of interest are assumed equal to the old values. More... | |
bool | IsConverged () override |
This should be considered as a "post solution" convergence check which is useful for coupled analysis - the convergence criteria used is the one used inside the "solve" step. More... | |
void | CalculateOutputData () override |
This operations should be called before printing the results when non trivial results (e.g. stresses) Need to be calculated given the solution of the step. More... | |
Parameters | GetDefaultParameters () const override |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
![]() | |
ImplicitSolvingStrategy () | |
Default constructor. More... | |
ImplicitSolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters) | |
Default constructor. (with parameters) More... | |
ImplicitSolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false) | |
Default constructor. More... | |
virtual | ~ImplicitSolvingStrategy () |
void | SetRebuildLevel (int Level) override |
This sets the build level. More... | |
int | GetRebuildLevel () const override |
This returns the build level. More... | |
void | SetStiffnessMatrixIsBuilt (const bool StiffnessMatrixIsBuilt) |
This method sets the flag mStiffnessMatrixIsBuilt. More... | |
bool | GetStiffnessMatrixIsBuilt () const |
This method gets the flag mStiffnessMatrixIsBuilt. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ImplicitSolvingStrategy) | |
![]() | |
SolvingStrategy () | |
Default constructor. More... | |
SolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters) | |
Default constructor. (with parameters) More... | |
SolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false) | |
Default constructor. More... | |
virtual | ~SolvingStrategy () |
KRATOS_CLASS_POINTER_DEFINITION (SolvingStrategy) | |
virtual double | Solve () |
The problem of interest is solved. More... | |
int | GetEchoLevel () |
This returns the level of echo for the solving strategy. More... | |
void | SetMoveMeshFlag (bool Flag) |
This function sets the flag that says if the mesh is moved. More... | |
bool | MoveMeshFlag () |
This function returns the flag that says if the mesh is moved. More... | |
bool | GetMoveMeshFlag () |
This function returns the flag that says if the mesh is moved. More... | |
virtual void | MoveMesh () |
This function is designed to move the mesh. More... | |
ModelPart & | GetModelPart () |
Operations to get the pointer to the model. More... | |
const ModelPart & | GetModelPart () const |
Operations to get the pointer to the model. More... | |
virtual double | GetResidualNorm () |
Operations to get the residual norm. More... | |
Public Attributes | |
bool | mCalculateReactionsFlag |
Flag telling if it is needed or not to compute the reactions. More... | |
bool | mInitializeWasPerformed |
The maximum number of iterations, 30 by default. More... | |
unsigned int | mMaxIterationNumber |
TSystemMatrixPointerType | mpA |
The RHS vector of the system of equations. More... | |
TSystemVectorPointerType | mpb |
The increment in the solution. More... | |
TBuilderAndSolverType::Pointer | mpBuilderAndSolver |
The pointer to the time scheme employed. More... | |
TConvergenceCriteriaType::Pointer | mpConvergenceCriteria |
The pointer to the builder and solver employed. More... | |
TSystemVectorPointerType | mpDx |
The pointer to the convergence criteria employed. More... | |
TSchemeType::Pointer | mpScheme |
bool | mReformDofSetAtEachStep |
The LHS matrix of the system of equations. More... | |
![]() | |
bool | mInitializeWasPerformed |
The maximum number of iterations, 30 by default. More... | |
unsigned int | mMaxIterationNumber |
TSystemMatrixPointerType | mpA |
The RHS vector of the system of equations. More... | |
TSystemVectorPointerType | mpb |
The increment in the solution. More... | |
TBuilderAndSolverType::Pointer | mpBuilderAndSolver |
The pointer to the time scheme employed. More... | |
TSystemVectorPointerType | mpDx |
The pointer to the convergence criteria employed. More... | |
TSchemeType::Pointer | mpScheme |
Protected Member Functions | |
int | Check () override |
Delta lambda of the current step. More... | |
void | InitializeSystemVector (TSystemVectorPointerType &pv) |
void | SaveInitializeSystemVector (TSystemVectorPointerType &pv) |
void | BuildWithDirichlet (TSystemMatrixType &mA, TSystemVectorType &mDx, TSystemVectorType &mb) |
virtual void | Update (DofsArrayType &rDofSet, TSystemMatrixType &mA, TSystemVectorType &mDx, TSystemVectorType &mb) |
void | ClearStep () |
void | UpdateExternalLoads () |
![]() | |
double | CalculateReferenceDofsNorm (DofsArrayType &rDofSet) |
![]() | |
virtual void | UpdateDatabase (TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb, const bool MoveMesh) |
Here the database is updated. More... | |
virtual void | EchoInfo (const unsigned int IterationNumber) |
This method returns the components of the system of equations depending of the echo level. More... | |
virtual void | MaxIterationsExceeded () |
This method prints information after reach the max number of iterations. More... | |
void | AssignSettings (const Parameters ThisParameters) override |
This method assigns settings to member variables. More... | |
void | WriteDofInfo (std::string FileName, const TSystemVectorType &rDX) |
ResidualBasedNewtonRaphsonStrategy (const ResidualBasedNewtonRaphsonStrategy &Other) | |
Protected Operations | |
![]() | |
virtual Parameters | ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const |
This method validate and assign default parameters. More... | |
Protected Attributes | |
TSystemVectorPointerType | mpf |
Member Variables. More... | |
TSystemVectorPointerType | mpDxf |
Vector of reference external forces. More... | |
TSystemVectorPointerType | mpDxb |
Delta x of A*Dxf=f. More... | |
TSystemVectorPointerType | mpDxPred |
Delta x of A*Dxb=b. More... | |
TSystemVectorPointerType | mpDxStep |
Delta x of prediction phase. More... | |
unsigned int | mDesiredIterations |
Delta x of the current step. More... | |
bool | mInitializeArcLengthWasPerformed = false |
This is used to calculate the radius of the next step. More... | |
double | mMaxRadiusFactor |
double | mMinRadiusFactor |
double | mRadius |
Used to limit the radius of the arc length strategy. More... | |
double | mRadius_0 |
double | mLambda |
Radius of the arc length strategy. More... | |
double | mLambda_old |
double | mNormxEquilibrium |
Loading factor. More... | |
double | mDLambdaStep |
Norm of the solution vector in equilibrium. More... | |
![]() | |
std::vector< ModelPart * > | mSubModelPartList |
Member Variables. More... | |
std::vector< std::string > | mVariableNames |
List of every SubModelPart associated to an external load. More... | |
![]() | |
TSchemeType::Pointer | mpScheme = nullptr |
TBuilderAndSolverType::Pointer | mpBuilderAndSolver = nullptr |
The pointer to the time scheme employed. More... | |
TConvergenceCriteriaType::Pointer | mpConvergenceCriteria = nullptr |
The pointer to the builder and solver employed. More... | |
TSystemVectorPointerType | mpDx |
The pointer to the convergence criteria employed. More... | |
TSystemVectorPointerType | mpb |
The increment in the solution. More... | |
TSystemMatrixPointerType | mpA |
The RHS vector of the system of equations. More... | |
bool | mReformDofSetAtEachStep |
The LHS matrix of the system of equations. More... | |
bool | mCalculateReactionsFlag |
Flag telling if it is needed or not to compute the reactions. More... | |
bool | mUseOldStiffnessInFirstIteration = false |
Flag telling if a full update of the database will be performed at the first iteration. More... | |
unsigned int | mMaxIterationNumber |
bool | mInitializeWasPerformed |
The maximum number of iterations, 30 by default. More... | |
bool | mKeepSystemConstantDuringIterations |
Flag to set as initialized the strategy. More... | |
![]() | |
int | mRebuildLevel |
bool | mStiffnessMatrixIsBuilt |
The current rebuild level. More... | |
![]() | |
int | mEchoLevel |
Additional Inherited Members | |
![]() | |
static std::string | Name () |
Returns the name of the class as used in the settings (snake_case format) More... | |
![]() | |
static std::string | Name () |
Returns the name of the class as used in the settings (snake_case format) More... | |
![]() | |
static std::string | Name () |
Returns the name of the class as used in the settings (snake_case format) More... | |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType = ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType = typename BaseType::DofsArrayType |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GrandMotherType = ResidualBasedNewtonRaphsonStrategy<TSparseSpace, TDenseSpace, TLinearSolver> |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::MotherType = GeoMechanicsNewtonRaphsonStrategy<TSparseSpace, TDenseSpace, TLinearSolver> |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseSpaceType = TSparseSpace |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TBuilderAndSolverType = typename BaseType::TBuilderAndSolverType |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TConvergenceCriteriaType = ConvergenceCriteria<TSparseSpace, TDenseSpace> |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType = typename BaseType::TSchemeType |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType = typename BaseType::TSystemMatrixType |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType = typename BaseType::TSystemVectorPointerType |
using Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType = typename BaseType::TSystemVectorType |
|
inline |
|
inlineprotected |
|
inlineoverrideprotectedvirtual |
Delta lambda of the current step.
Reimplemented from Kratos::GeoMechanicsNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Clears the internal storage.
Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotected |
|
inlineoverridevirtual |
Performs all the required operations that should be done (for each step) after solving the solution step.
A member variable should be used as a flag to make sure this function is called only once per step.
Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Initialization of member variables and prior operations.
Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineoverridevirtual |
Performs all the required operations that should be done (for each step) before solving the solution step.
A member variable should be used as a flag to make sure this function is called only once per step.
Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotected |
Kratos::GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | GeoMechanicsRammArcLengthStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
|
inlineprotected |
|
inlineoverridevirtual |
Solves the current step. This function returns true if a solution has been found, false otherwise.
Reimplemented from Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotectedvirtual |
|
inlineprotected |
|
inlinevirtual |
bool Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mCalculateReactionsFlag |
Flag telling if it is needed or not to compute the reactions.
default = true
|
protected |
Delta x of the current step.
|
protected |
Norm of the solution vector in equilibrium.
|
protected |
This is used to calculate the radius of the next step.
bool Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mInitializeWasPerformed |
The maximum number of iterations, 30 by default.
|
protected |
Radius of the arc length strategy.
|
protected |
unsigned int Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mMaxIterationNumber |
|
protected |
|
protected |
|
protected |
Loading factor.
TSystemMatrixPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpA |
The RHS vector of the system of equations.
TSystemVectorPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpb |
The increment in the solution.
TBuilderAndSolverType::Pointer Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpBuilderAndSolver |
The pointer to the time scheme employed.
TConvergenceCriteriaType::Pointer Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpConvergenceCriteria |
The pointer to the builder and solver employed.
TSystemVectorPointerType Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpDx |
The pointer to the convergence criteria employed.
|
protected |
Delta x of A*Dxf=f.
|
protected |
Vector of reference external forces.
|
protected |
Delta x of A*Dxb=b.
|
protected |
Delta x of prediction phase.
|
protected |
Member Variables.
TSchemeType::Pointer Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpScheme |
|
protected |
Used to limit the radius of the arc length strategy.
|
protected |
bool Kratos::ResidualBasedNewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mReformDofSetAtEachStep |
The LHS matrix of the system of equations.
Flag telling if it is needed to reform the DofSet at each solution step or if it is possible to form it just once
Default = false