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

Short class definition. More...

#include <modified_linear_strategy.h>

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

Public Member Functions

Life Cycle
 LapModifiedLinearStrategy (ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, bool CalculateReactionFlag=false, bool ReformDofSetAtEachStep=false, bool CalculateNormDxFlag=false, bool MoveMeshFlag=false)
 
 LapModifiedLinearStrategy (ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, bool CalculateReactionFlag=false, bool ReformDofSetAtEachStep=false, bool CalculateNormDxFlag=false, bool MoveMeshFlag=false)
 
 ~LapModifiedLinearStrategy () override
 
void SetScheme (typename TSchemeType::Pointer pScheme)
 
TSchemeType::Pointer GetScheme ()
 
void SetBuilderAndSolver (typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver)
 
TBuilderAndSolverType::Pointer GetBuilderAndSolver ()
 
void SetCalculateReactionsFlag (bool CalculateReactionsFlag)
 
bool GetCalculateReactionsFlag ()
 
void SetReformDofSetAtEachStepFlag (bool flag)
 
bool GetReformDofSetAtEachStepFlag ()
 
void SetEchoLevel (int Level)
 This sets the level of echo for the solving strategy. More...
 
void Predict ()
 
double Solve ()
 
TSystemMatrixTypeGetSystemMatrix () override
 This method returns the LHS matrix. More...
 
double GetResidualNorm ()
 Operations to get the residual norm. More...
 
void CalculateOutputData ()
 
- 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 bool IsConverged ()
 This should be considered as a "post solution" convergence check which is useful for coupled analysis. 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...
 
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 int Check ()
 Function to perform expensive checks. 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::TDataType TDataType
 
typedef TSparseSpace SparseSpaceType
 
typedef BaseType::TSchemeType TSchemeType
 
typedef BaseType::TBuilderAndSolverType TBuilderAndSolverType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
typedef ModelPart::NodesContainerType NodesArrayType
 
 KRATOS_CLASS_POINTER_DEFINITION (LapModifiedLinearStrategy)
 

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<unsigned int TDim, class TSparseSpace, class TDenseSpace, class TLinearSolver>
class Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >

Short class definition.

Detail class definition.

\URL[Example of use html]{ extended_documentation/no_ex_of_use.html}

\URL[Example of use pdf]{ extended_documentation/no_ex_of_use.pdf}

\URL[Example of use doc]{ extended_documentation/no_ex_of_use.doc}

\URL[Example of use ps]{ extended_documentation/no_ex_of_use.ps}

    \URL[Extended documentation html]{ extended_documentation/no_ext_doc.html}

      \URL[Extended documentation pdf]{ extended_documentation/no_ext_doc.pdf}

        \URL[Extended documentation doc]{ extended_documentation/no_ext_doc.doc}

          \URL[Extended documentation ps]{ extended_documentation/no_ext_doc.ps}

Member Typedef Documentation

◆ BaseType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ImplicitSolvingStrategy<TSparseSpace,TDenseSpace,TLinearSolver> Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::BaseType

◆ DofsArrayType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::DofsArrayType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType

◆ LocalSystemMatrixType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::LocalSystemMatrixType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::LocalSystemVectorType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType

◆ NodesArrayType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ModelPart::NodesContainerType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::NodesArrayType

◆ SparseSpaceType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::SparseSpaceType

◆ TBuilderAndSolverType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TBuilderAndSolverType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::TBuilderAndSolverType

◆ TDataType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TDataType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::TDataType

◆ TSchemeType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSchemeType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType

◆ TSystemMatrixPointerType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemMatrixPointerType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType

◆ TSystemMatrixType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemMatrixType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType

◆ TSystemVectorPointerType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemVectorPointerType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType

◆ TSystemVectorType

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemVectorType Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType

Constructor & Destructor Documentation

◆ LapModifiedLinearStrategy() [1/2]

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::LapModifiedLinearStrategy ( ModelPart model_part,
typename TSchemeType::Pointer  pScheme,
typename TLinearSolver::Pointer  pNewLinearSolver,
bool  CalculateReactionFlag = false,
bool  ReformDofSetAtEachStep = false,
bool  CalculateNormDxFlag = false,
bool  MoveMeshFlag = false 
)
inline

Constructor.

◆ LapModifiedLinearStrategy() [2/2]

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::LapModifiedLinearStrategy ( ModelPart model_part,
typename TSchemeType::Pointer  pScheme,
typename TLinearSolver::Pointer  pNewLinearSolver,
typename TBuilderAndSolverType::Pointer  pNewBuilderAndSolver,
bool  CalculateReactionFlag = false,
bool  ReformDofSetAtEachStep = false,
bool  CalculateNormDxFlag = false,
bool  MoveMeshFlag = false 
)
inline

◆ ~LapModifiedLinearStrategy()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::~LapModifiedLinearStrategy ( )
inlineoverride

Destructor.

Member Function Documentation

◆ CalculateOutputData()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::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 from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.

◆ GetBuilderAndSolver()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
TBuilderAndSolverType::Pointer Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::GetBuilderAndSolver ( )
inline

◆ GetCalculateReactionsFlag()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::GetCalculateReactionsFlag ( )
inline

◆ GetReformDofSetAtEachStepFlag()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::GetReformDofSetAtEachStepFlag ( )
inline

◆ GetResidualNorm()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::GetResidualNorm ( )
inlinevirtual

Operations to get the residual norm.

Returns
The residual norm

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

◆ GetScheme()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSchemeType::Pointer Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::GetScheme ( )
inline

◆ GetSystemMatrix()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemMatrixType& Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::GetSystemMatrix ( )
inlineoverridevirtual

This method returns the LHS matrix.

Returns
The LHS matrix

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION ( LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >  )

Counted pointer of ClassName

◆ Predict()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::Predict ( )
inlinevirtual

OPERATIONS ACCESSIBLE FROM THE INPUT: 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

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

◆ SetBuilderAndSolver()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::SetBuilderAndSolver ( typename TBuilderAndSolverType::Pointer  pNewBuilderAndSolver)
inline

◆ SetCalculateReactionsFlag()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::SetCalculateReactionsFlag ( bool  CalculateReactionsFlag)
inline

◆ SetEchoLevel()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::SetEchoLevel ( 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 from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.

◆ SetReformDofSetAtEachStepFlag()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::SetReformDofSetAtEachStepFlag ( bool  flag)
inline

◆ SetScheme()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::SetScheme ( typename TSchemeType::Pointer  pScheme)
inline

Destructor.

◆ Solve()

template<unsigned int TDim, class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::LapModifiedLinearStrategy< TDim, TSparseSpace, TDenseSpace, TLinearSolver >::Solve ( )
inlinevirtual

the problem of interest is solved a double containing norm(Dx) is returned if CalculateNormDxFlag == true, else 0 is returned

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


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