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.
|
Strategy for linearized prebuckling analysis. More...
#include <prebuckling_strategy.hpp>
Public Member Functions | |
Life Cycle | |
PrebucklingStrategy (ModelPart &rModelPart, SchemePointerType pScheme, BuilderAndSolverPointerType pEigenSolver, BuilderAndSolverPointerType pBuilderAndSolver, typename ConvergenceCriteriaType::Pointer pConvergenceCriteria, int MaxIteration, Parameters BucklingSettings) | |
Constructor. More... | |
PrebucklingStrategy (const PrebucklingStrategy &Other)=delete | |
Deleted copy constructor. More... | |
~PrebucklingStrategy () override | |
Destructor. More... | |
Operations | |
SchemePointerType & | pGetScheme () |
Get method for the scheme. More... | |
BuilderAndSolverPointerType & | pGetEigenSolver () |
Get method for the generalized eigenvalue problme solver. More... | |
BuilderAndSolverPointerType & | pGetBuilderAndSolver () |
Get method for the builder and solver. More... | |
ConvergenceCriteriaType & | GetConvergenceCriteria () |
Get method for the convergence criteria. More... | |
bool | GetSolutionFoundFlag () |
Get method for solution found flag. More... | |
void | SetEchoLevel (int Level) override |
This sets the level of echo for the solving strategy. More... | |
void | Initialize () override |
Initialization of member variables and prior operation. More... | |
void | Clear () override |
Clears the internal storage. 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... | |
int | Check () override |
Function to perform expensive checks. 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 () |
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 double | Solve () |
The problem of interest is solved. 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... | |
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 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... | |
Type Definitions | |
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | BaseType |
typedef BaseType::TSchemeType::Pointer | SchemePointerType |
typedef BaseType::TBuilderAndSolverType::Pointer | BuilderAndSolverPointerType |
typedef TDenseSpace::VectorType | DenseVectorType |
typedef TDenseSpace::MatrixType | DenseMatrixType |
typedef TSparseSpace | SparseSpaceType |
typedef TSparseSpace::VectorPointerType | SparseVectorPointerType |
typedef TSparseSpace::MatrixPointerType | SparseMatrixPointerType |
typedef TSparseSpace::MatrixType | SparseMatrixType |
typedef TSparseSpace::VectorType | SparseVectorType |
typedef ConvergenceCriteria< TSparseSpace, TDenseSpace > | ConvergenceCriteriaType |
KRATOS_CLASS_POINTER_DEFINITION (PrebucklingStrategy) | |
Strategy for linearized prebuckling analysis.
typedef ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType |
typedef BaseType::TBuilderAndSolverType::Pointer Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BuilderAndSolverPointerType |
typedef ConvergenceCriteria<TSparseSpace, TDenseSpace> Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ConvergenceCriteriaType |
typedef TDenseSpace::MatrixType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DenseMatrixType |
typedef TDenseSpace::VectorType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DenseVectorType |
typedef BaseType::TSchemeType::Pointer Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SchemePointerType |
typedef TSparseSpace::MatrixPointerType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseMatrixPointerType |
typedef TSparseSpace::MatrixType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseMatrixType |
typedef TSparseSpace Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseSpaceType |
typedef TSparseSpace::VectorPointerType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseVectorPointerType |
typedef TSparseSpace::VectorType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseVectorType |
|
inline |
Constructor.
rModelPart | The model part of the problem |
pScheme | The integration scheme |
pEigenSolver | The generalized eigenvalue problem solver employed |
pBuilderAndSolver | The builder and solver employed |
pConvergenceCriteria | The convergence criteria employed |
MaxIteration | The maximum number of non-linear iterations |
InitialLoadIncrement | Load increment of the first load step |
SmallLoadIncrement | Load increment of the small load step |
PathFollowingStep | Load increment of the big load step |
ConvergenceRatio | Convergence ratio for the computed eigenvalues |
MakeMatricesSymmetricFlag | Flag to ensures that matrices are symmetric before eigenvalue problem is evaluated |
|
delete |
Deleted copy constructor.
|
inlineoverride |
Destructor.
|
inlineoverridevirtual |
Function to perform expensive checks.
It is designed to be called ONCE to verify that the input is correct.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Clears the internal storage.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Performs all the required operations that should be done (for each step) after solving the solution step.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inline |
Get method for the convergence criteria.
|
inline |
Get method for solution found flag.
|
inlineoverridevirtual |
Initialization of member variables and prior operation.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Performs all the required operations that should be done (for each step) before solving the solution step.
A member variable should be used as a flag to make sure this function is called only once per step.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
|
inline |
Get method for the builder and solver.
|
inline |
Get method for the generalized eigenvalue problme solver.
|
inline |
Get method for the scheme.
|
inlineoverridevirtual |
This sets the level of echo for the solving strategy.
Level | of echo for the solving strategy |
{ 0 -> Mute... no echo at all 1 -> Printing time and basic informations 2 -> Printing linear solver data 3 -> Print of debug informations: Echo of stiffness matrix, Dx, b... }
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Solves the current step. This function returns true if a solution has been found, false otherwise.
mLambda | Smallest eigenvalue of current solution step |
mLambdaPrev | Smallest eigenvalue of previous solution step |
delta_load_multiplier | Load increment between two load steps |
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.