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.
Public Types | Public Member Functions | List of all members
Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType > Class Template Reference

#include <eigen_dense_eigenvalue_solver.h>

Inheritance diagram for Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >:
Collaboration diagram for Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >:

Public Types

typedef TDenseSpaceType::MatrixType DenseMatrixType
 
typedef TDenseSpaceType::VectorType DenseVectorType
 
- Public Types inherited from Kratos::LinearSolver< TUblasDenseSpace< double >, TUblasDenseSpace< double > >
typedef TSparseSpaceType::MatrixType SparseMatrixType
 
typedef TSparseSpaceType::MatrixPointerType SparseMatrixPointerType
 
typedef TSparseSpaceType::VectorType VectorType
 
typedef TSparseSpaceType::VectorPointerType VectorPointerType
 
typedef TDenseSpaceType::MatrixType DenseMatrixType
 
typedef TDenseSpaceType::VectorType DenseVectorType
 
typedef std::size_t SizeType
 
typedef TSparseSpaceType::IndexType IndexType
 The index type definition to be consistent. More...
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (DenseEigenvalueSolver)
 
 DenseEigenvalueSolver (Parameters param)
 
 ~DenseEigenvalueSolver () override
 
void Solve (DenseMatrixType &rA, DenseMatrixType &rDummy, DenseVectorType &rEigenvalues, DenseMatrixType &rEigenvectors) override
 Dense eigenvalue solver. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
- Public Member Functions inherited from Kratos::LinearSolver< TUblasDenseSpace< double >, TUblasDenseSpace< double > >
 LinearSolver ()
 Default constructor. More...
 
 LinearSolver (Reorderer< TUblasDenseSpace< double >, TUblasDenseSpace< double > > NewReorderer)
 Constructor with specific reorderer. More...
 
 LinearSolver (const LinearSolver &Other)
 Copy constructor. More...
 
virtual ~LinearSolver ()
 Destructor. More...
 
LinearSolveroperator= (const LinearSolver &Other)
 Assignment operator. More...
 
virtual void Initialize (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual void InitializeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual void PerformSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual void FinalizeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual void Clear ()
 
virtual bool Solve (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual bool Solve (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB)
 
virtual void Solve (SparseMatrixType &K, SparseMatrixType &M, DenseVectorType &Eigenvalues, DenseMatrixType &Eigenvectors)
 
virtual bool AdditionalPhysicalDataIsNeeded ()
 
virtual void ProvideAdditionalData (SparseMatrixType &rA, VectorType &rX, VectorType &rB, typename ModelPart::DofsArrayType &rDoFSet, ModelPart &rModelPart)
 
virtual TReordererType::Pointer GetReorderer ()
 
virtual void SetReorderer (typename TReordererType::Pointer pNewReorderer)
 
virtual void SetTolerance (double NewTolerance)
 This method allows to set the tolerance in the linear solver. More...
 
virtual double GetTolerance ()
 This method allows to get the tolerance in the linear solver. More...
 
virtual IndexType GetIterationsNumber ()
 
virtual bool IsConsistent (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 This method checks if the dimensions of the system of equations are consistent. More...
 
virtual bool IsConsistent (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB)
 This method checks if the dimensions of the system of equations are consistent (dense matrix for RHS and unknowns version) More...
 
virtual bool IsNotConsistent (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 This method checks if the dimensions of the system of equations are not consistent. More...
 
virtual bool IsNotConsistent (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB)
 This method checks if the dimensions of the system of equations are not consistent. More...
 
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (LinearSolver)
 Pointer definition of LinearSolver. More...
 

Member Typedef Documentation

◆ DenseMatrixType

template<typename TScalar = double, class TSparseSpaceType = TUblasDenseSpace<TScalar>, class TDenseSpaceType = TUblasDenseSpace<TScalar>>
typedef TDenseSpaceType::MatrixType Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >::DenseMatrixType

◆ DenseVectorType

template<typename TScalar = double, class TSparseSpaceType = TUblasDenseSpace<TScalar>, class TDenseSpaceType = TUblasDenseSpace<TScalar>>
typedef TDenseSpaceType::VectorType Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >::DenseVectorType

Constructor & Destructor Documentation

◆ DenseEigenvalueSolver()

template<typename TScalar = double, class TSparseSpaceType = TUblasDenseSpace<TScalar>, class TDenseSpaceType = TUblasDenseSpace<TScalar>>
Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >::DenseEigenvalueSolver ( Parameters  param)
inline

◆ ~DenseEigenvalueSolver()

template<typename TScalar = double, class TSparseSpaceType = TUblasDenseSpace<TScalar>, class TDenseSpaceType = TUblasDenseSpace<TScalar>>
Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >::~DenseEigenvalueSolver ( )
inlineoverride

Member Function Documentation

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<typename TScalar = double, class TSparseSpaceType = TUblasDenseSpace<TScalar>, class TDenseSpaceType = TUblasDenseSpace<TScalar>>
Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >::KRATOS_CLASS_POINTER_DEFINITION ( DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >  )

◆ PrintInfo()

template<typename TScalar = double, class TSparseSpaceType = TUblasDenseSpace<TScalar>, class TDenseSpaceType = TUblasDenseSpace<TScalar>>
void Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::LinearSolver< TUblasDenseSpace< double >, TUblasDenseSpace< double > >.

◆ Solve()

template<typename TScalar = double, class TSparseSpaceType = TUblasDenseSpace<TScalar>, class TDenseSpaceType = TUblasDenseSpace<TScalar>>
void Kratos::DenseEigenvalueSolver< TScalar, TSparseSpaceType, TDenseSpaceType >::Solve ( DenseMatrixType rA,
DenseMatrixType rDummy,
DenseVectorType rEigenvalues,
DenseMatrixType rEigenvectors 
)
inlineoverride

Dense eigenvalue solver.

Computes eigenvalues and eigenvectors of selfadjoint matrices.

Parameters
rASystem matrix
rDummyDummy matrix
rEigenvaluesEigenvalue vector
rEigenvectorsEigenvector matrix

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