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

Strategy for linearized prebuckling analysis. More...

#include <prebuckling_strategy.hpp>

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

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
SchemePointerTypepGetScheme ()
 Get method for the scheme. More...
 
BuilderAndSolverPointerTypepGetEigenSolver ()
 Get method for the generalized eigenvalue problme solver. More...
 
BuilderAndSolverPointerTypepGetBuilderAndSolver ()
 Get method for the builder and solver. More...
 
ConvergenceCriteriaTypeGetConvergenceCriteria ()
 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...
 
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 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...
 

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)
 

Additional Inherited Members

- Public Types inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef SolvingStrategy< TSparseSpace, TDenseSpace > BaseType
 
typedef BaseType::TDataType TDataType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef Scheme< TSparseSpace, TDenseSpace > TSchemeType
 
typedef BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > TBuilderAndSolverType
 
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > ClassType
 
typedef BaseType::TDofType TDofType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::NodesArrayType NodesArrayType
 
typedef BaseType::ElementsArrayType ElementsArrayType
 
typedef BaseType::ConditionsArrayType ConditionsArrayType
 
- Public Types inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
typedef TSparseSpace::DataType TDataType
 
typedef TSparseSpace::MatrixType TSystemMatrixType
 
typedef TSparseSpace::VectorType TSystemVectorType
 
typedef TSparseSpace::MatrixPointerType TSystemMatrixPointerType
 
typedef TSparseSpace::VectorPointerType TSystemVectorPointerType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > ClassType
 
typedef ModelPart::DofType TDofType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 
- Static Public Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Static Public Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Protected Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
- Protected Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 
- Protected Attributes inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
int mRebuildLevel
 
bool mStiffnessMatrixIsBuilt
 The current rebuild level. More...
 
- Protected Attributes inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
int mEchoLevel
 

Detailed Description

template<class TSparseSpace, class TDenseSpace, class TLinearSolver>
class Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >

Strategy for linearized prebuckling analysis.

Author
Manuel Messmer

Member Typedef Documentation

◆ BaseType

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

◆ BuilderAndSolverPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TBuilderAndSolverType::Pointer Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BuilderAndSolverPointerType

◆ ConvergenceCriteriaType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ConvergenceCriteria<TSparseSpace, TDenseSpace> Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ConvergenceCriteriaType

◆ DenseMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TDenseSpace::MatrixType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DenseMatrixType

◆ DenseVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TDenseSpace::VectorType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DenseVectorType

◆ SchemePointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSchemeType::Pointer Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SchemePointerType

◆ SparseMatrixPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::MatrixPointerType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseMatrixPointerType

◆ SparseMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::MatrixType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseMatrixType

◆ SparseSpaceType

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

◆ SparseVectorPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::VectorPointerType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseVectorPointerType

◆ SparseVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::VectorType Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SparseVectorType

Constructor & Destructor Documentation

◆ PrebucklingStrategy() [1/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PrebucklingStrategy ( ModelPart rModelPart,
SchemePointerType  pScheme,
BuilderAndSolverPointerType  pEigenSolver,
BuilderAndSolverPointerType  pBuilderAndSolver,
typename ConvergenceCriteriaType::Pointer  pConvergenceCriteria,
int  MaxIteration,
Parameters  BucklingSettings 
)
inline

Constructor.

Parameters
rModelPartThe model part of the problem
pSchemeThe integration scheme
pEigenSolverThe generalized eigenvalue problem solver employed
pBuilderAndSolverThe builder and solver employed
pConvergenceCriteriaThe convergence criteria employed
MaxIterationThe maximum number of non-linear iterations
InitialLoadIncrementLoad increment of the first load step
SmallLoadIncrementLoad increment of the small load step
PathFollowingStepLoad increment of the big load step
ConvergenceRatioConvergence ratio for the computed eigenvalues
MakeMatricesSymmetricFlagFlag to ensures that matrices are symmetric before eigenvalue problem is evaluated

◆ PrebucklingStrategy() [2/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PrebucklingStrategy ( const PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > &  Other)
delete

Deleted copy constructor.

◆ ~PrebucklingStrategy()

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

Destructor.

Member Function Documentation

◆ Check()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
int Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Check ( )
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 >.

◆ Clear()

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

Clears the internal storage.

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

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::FinalizeSolutionStep ( )
inlineoverridevirtual

Performs all the required operations that should be done (for each step) after solving the solution step.

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

◆ GetConvergenceCriteria()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
ConvergenceCriteriaType& Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetConvergenceCriteria ( )
inline

Get method for the convergence criteria.

Returns
mpConvergenceCriteria: The pointer to the convergence criteria considered

◆ GetSolutionFoundFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::GetSolutionFoundFlag ( )
inline

Get method for solution found flag.

Returns
mSolutionFound: Flag that indicates if solution is found

◆ Initialize()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Initialize ( void  )
inlineoverridevirtual

Initialization of member variables and prior operation.

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

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::InitializeSolutionStep ( )
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_CLASS_POINTER_DEFINITION()

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

◆ pGetBuilderAndSolver()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
BuilderAndSolverPointerType& Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::pGetBuilderAndSolver ( )
inline

Get method for the builder and solver.

Returns
mpBuilderAndSolver: The pointer to the builder and solver considered

◆ pGetEigenSolver()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
BuilderAndSolverPointerType& Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::pGetEigenSolver ( )
inline

Get method for the generalized eigenvalue problme solver.

Returns
mpEigenSolver: The pointer to the eigen solver considered

◆ pGetScheme()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
SchemePointerType& Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::pGetScheme ( )
inline

Get method for the scheme.

Returns
mpScheme: The pointer to the scheme considered

◆ SetEchoLevel()

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

This sets the level of echo for the solving strategy.

Parameters
Levelof echo for the solving strategy

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

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

◆ SolveSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::PrebucklingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SolveSolutionStep ( )
inlineoverridevirtual

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

Parameters
mLambdaSmallest eigenvalue of current solution step
mLambdaPrevSmallest eigenvalue of previous solution step
delta_load_multiplierLoad increment between two load steps

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


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