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

An adapter scheme for obtaining mass and stiffness matrices for dynamic eigenvalue problems. More...

#include <eigensolver_scheme.hpp>

Inheritance diagram for Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >:
Collaboration diagram for Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >:

Public Member Functions

Life Cycle
 EigensolverScheme ()
 Default Constructor. More...
 
 EigensolverScheme (Flags &rOptions)
 Constructor. More...
 
 ~EigensolverScheme () override
 Destructor. More...
 
Operations
void CalculateSystemContributions (Element::Pointer pCurrentElement, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) override
 
void Calculate_LHS_Contribution (Element::Pointer pCurrentElement, LocalSystemMatrixType &rLHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) override
 
void Condition_CalculateSystemContributions (Condition::Pointer pCurrentCondition, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Condition::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) override
 
void Condition_Calculate_LHS_Contribution (Condition::Pointer pCurrentCondition, LocalSystemMatrixType &rLHS_Contribution, Condition::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) override
 
- Public Member Functions inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
 SolutionScheme ()
 Default Constructor. More...
 
 SolutionScheme (Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods)
 Constructor. More...
 
 SolutionScheme (SolutionScheme &rOther)
 Copy contructor. More...
 
virtual SolutionSchemePointerType Clone ()
 Clone. More...
 
 ~SolutionScheme () override
 Destructor. More...
 
void SetOptions (Flags &rOptions)
 Sets strategy options. More...
 
FlagsGetOptions ()
 Get strategy options. More...
 
void SetProcess (ProcessPointerType pProcess)
 Set process to execute after move_mesh. More...
 
void SetProcessVector (ProcessPointerVectorType &rProcessVector)
 Set list of processes to execute after move_mesh. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (SolutionScheme)
 Pointer definition of SolutionScheme. More...
 
void SetDefaultFlags ()
 SetDefaultSchemeFlags. More...
 
virtual void Initialize (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
virtual void InitializeSolutionStep (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
virtual void FinalizeSolutionStep (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
virtual void InitializeNonLinearIteration (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each iteration) before solving a solution iteration. More...
 
virtual void FinalizeNonLinearIteration (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each iteration) after solving a solution iteration. More...
 
virtual void Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the prediction of the solution. More...
 
virtual void Update (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution. More...
 
virtual void UpdateDofs (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution Dofs. More...
 
virtual void UpdateVariables (ModelPart &rModelPart)
 Performing the update of the solution variables. More...
 
virtual void PredictVariables (ModelPart &rModelPart)
 Performing the prediction of the solution variables. More...
 
virtual void MoveMesh (ModelPart &rModelPart)
 This function is designed to move the mesh. More...
 
virtual void Clear (Element::Pointer rCurrentElement)
 Liberates internal storage for an element. More...
 
virtual void Clear (Condition::Pointer rCurrentCondition)
 Liberates internal storage for a condition. More...
 
virtual void Clear ()
 Liberates internal storage. More...
 
virtual int Check (ModelPart &rModelPart)
 This function is designed to be called once to perform all the checks needed. More...
 
virtual void Calculate_RHS_Contribution (Element::Pointer pCurrentElement, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void EquationId (Element::Pointer pCurrentElement, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Condition_Calculate_RHS_Contribution (Condition::Pointer pCurrentCondition, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Condition_EquationId (Condition::Pointer pCurrentCondition, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void GetElementalDofList (Element::Pointer pCurrentElement, Element::DofsVectorType &rElementalDofList, ProcessInfo &rCurrentProcessInfo)
 
virtual void GetConditionDofList (Condition::Pointer pCurrentCondition, Element::DofsVectorType &rConditionDofList, ProcessInfo &rCurrentProcessInfo)
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
virtual std::string Info () const
 Turn back information as a string. More...
 
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 (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Type Definitions

typedef SolutionScheme< TSparseSpace, TDenseSpace > BaseType
 
typedef BaseType::SolutionSchemePointerType BasePointerType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
 KRATOS_CLASS_POINTER_DEFINITION (EigensolverScheme)
 

Additional Inherited Members

- Public Types inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
typedef SolutionScheme< TSparseSpace, TDenseSpace > SolutionSchemeType
 
typedef SolutionSchemeType::Pointer SolutionSchemePointerType
 
typedef SolverLocalFlags LocalFlagType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef TSparseSpace::MatrixType SystemMatrixType
 
typedef TSparseSpace::VectorType SystemVectorType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef ModelPart::NodesContainerType NodesContainerType
 
typedef ModelPart::ElementsContainerType ElementsContainerType
 
typedef ModelPart::ConditionsContainerType ConditionsContainerType
 
typedef ModelPart::NodeType NodeType
 
typedef array_1d< double, 3 > VectorType
 
typedef Variable< VectorTypeVariableVectorType
 
typedef TimeIntegrationMethod< VariableVectorType, VectorTypeIntegrationVectorType
 
typedef IntegrationVectorType::Pointer IntegrationVectorPointerType
 
typedef std::vector< IntegrationVectorPointerTypeIntegrationMethodsVectorType
 
typedef Variable< doubleVariableScalarType
 
typedef TimeIntegrationMethod< VariableScalarType, doubleIntegrationScalarType
 
typedef IntegrationScalarType::Pointer IntegrationScalarPointerType
 
typedef std::vector< IntegrationScalarPointerTypeIntegrationMethodsScalarType
 
typedef SolverProcess::Pointer ProcessPointerType
 
typedef std::vector< ProcessPointerTypeProcessPointerVectorType
 
- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
static void SetSolution (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution Dofs (total solution) More...
 
static void AddSolution (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution Dofs (incremental solution) More...
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 
- Protected Member Functions inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
virtual void InitializeElements (ModelPart &rModelPart)
 Initialize the elements. More...
 
virtual void InitializeConditions (ModelPart &rModelPart)
 Initialize the conditions. More...
 
virtual void InitializeNonLinearIteration (Condition::Pointer rCurrentCondition, ProcessInfo &rCurrentProcessInfo)
 Initialize the conditions. More...
 
virtual void InitializeNonLinearIteration (Element::Pointer rCurrentElement, ProcessInfo &rCurrentProcessInfo)
 Initialize the elements. More...
 
virtual void IntegrationMethodUpdate (NodeType &rNode)
 
virtual void IntegrationMethodPredict (NodeType &rNode)
 
- Protected Attributes inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
Flags mOptions
 
IntegrationMethodsVectorType mTimeVectorIntegrationMethods
 
IntegrationMethodsScalarType mTimeScalarIntegrationMethods
 
ProcessPointerVectorType mProcesses
 

Detailed Description

template<class TSparseSpace, class TDenseSpace>
class Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >

An adapter scheme for obtaining mass and stiffness matrices for dynamic eigenvalue problems.

Member Typedef Documentation

◆ BasePointerType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::SolutionSchemePointerType Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::BasePointerType

◆ BaseType

template<class TSparseSpace , class TDenseSpace >
typedef SolutionScheme<TSparseSpace,TDenseSpace> Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::BaseType

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::LocalSystemMatrixType Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::LocalSystemVectorType Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType

Constructor & Destructor Documentation

◆ EigensolverScheme() [1/2]

template<class TSparseSpace , class TDenseSpace >
Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::EigensolverScheme ( )
inline

Default Constructor.

◆ EigensolverScheme() [2/2]

template<class TSparseSpace , class TDenseSpace >
Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::EigensolverScheme ( Flags rOptions)
inline

Constructor.

◆ ~EigensolverScheme()

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

Destructor.

Member Function Documentation

◆ Calculate_LHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
void Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::Calculate_LHS_Contribution ( Element::Pointer  pCurrentElement,
LocalSystemMatrixType rLHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

This function is designed to calculate just the LHS contribution

Parameters
pCurrentElementThe element to compute
rLHS_ContributionThe LHS matrix contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ CalculateSystemContributions()

template<class TSparseSpace , class TDenseSpace >
void Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::CalculateSystemContributions ( Element::Pointer  pCurrentElement,
LocalSystemMatrixType rLHS_Contribution,
LocalSystemVectorType rRHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

these functions is designed to be called in the builder and solver to introduce the selected time integration scheme. It "asks" the matrix needed to the element and performs the operations needed to introduce the seected time integration scheme. this function calculates at the same time the contribution to the LHS and to the RHS of the system This function is designed to be called in the builder and solver to introduce

Parameters
pCurrentElementThe element to compute
rLHS_ContributionThe LHS matrix contribution
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ Condition_Calculate_LHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
void Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::Condition_Calculate_LHS_Contribution ( Condition::Pointer  pCurrentCondition,
LocalSystemMatrixType rLHS_Contribution,
Condition::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Functions that calculates the RHS of a "condition" object

Parameters
rCurrentConditionThe condition to compute
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the condition degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ Condition_CalculateSystemContributions()

template<class TSparseSpace , class TDenseSpace >
void Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >::Condition_CalculateSystemContributions ( Condition::Pointer  pCurrentCondition,
LocalSystemMatrixType rLHS_Contribution,
LocalSystemVectorType rRHS_Contribution,
Condition::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Functions totally analogous to the precedent but applied to the "condition" objects

Parameters
pCurrentConditionThe condition to compute
rLHS_ContributionThe LHS matrix contribution
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

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