![]() |
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.
|
#include <feast_eigensystem_solver.h>
Public Types | |
typedef LinearSolver< TSparseSpaceTypeIn, TDenseSpaceTypeIn > | BaseType |
typedef TSparseSpaceTypeIn::MatrixType | SparseMatrixType |
typedef TDenseSpaceTypeOut::VectorType | DenseVectorType |
typedef TDenseSpaceTypeOut::MatrixType | DenseMatrixType |
typedef matrix< TScalarOut, column_major > | FEASTMatrixType |
typedef TScalarIn | ValueTypeIn |
typedef TScalarOut | ValueTypeOut |
![]() | |
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 (FEASTEigensystemSolver) | |
FEASTEigensystemSolver (Parameters param) | |
~FEASTEigensystemSolver () override=default | |
void | Solve (SparseMatrixType &rK, SparseMatrixType &rM, DenseVectorType &rEigenvalues, DenseMatrixType &rEigenvectors) override |
void | PrintInfo (std::ostream &rOStream) const override |
void | PrintData (std::ostream &rOStream) const override |
![]() | |
LinearSolver () | |
Default constructor. More... | |
LinearSolver (Reorderer< TUblasSparseSpace< TScalarIn >, TUblasDenseSpace< TScalarOut > > NewReorderer) | |
Constructor with specific reorderer. More... | |
LinearSolver (const LinearSolver &Other) | |
Copy constructor. More... | |
virtual | ~LinearSolver () |
Destructor. More... | |
LinearSolver & | operator= (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... | |
KRATOS_CLASS_POINTER_DEFINITION (LinearSolver) | |
Pointer definition of LinearSolver. More... | |
typedef LinearSolver<TSparseSpaceTypeIn, TDenseSpaceTypeIn> Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::BaseType |
typedef TDenseSpaceTypeOut::MatrixType Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::DenseMatrixType |
typedef TDenseSpaceTypeOut::VectorType Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::DenseVectorType |
typedef matrix<TScalarOut, column_major> Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::FEASTMatrixType |
typedef TSparseSpaceTypeIn::MatrixType Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::SparseMatrixType |
typedef TScalarIn Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::ValueTypeIn |
typedef TScalarOut Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::ValueTypeOut |
|
inline |
|
overridedefault |
Kratos::FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut >::KRATOS_CLASS_POINTER_DEFINITION | ( | FEASTEigensystemSolver< TSymmetric, TScalarIn, TScalarOut, TSparseSpaceTypeIn, TDenseSpaceTypeIn, TSparseSpaceTypeOut, TDenseSpaceTypeOut > | ) |
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::LinearSolver< TUblasSparseSpace< TScalarIn >, TUblasDenseSpace< TScalarOut > >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::LinearSolver< TUblasSparseSpace< TScalarIn >, TUblasDenseSpace< TScalarOut > >.
|
inlineoverride |
Solve the generalized eigenvalue problem using FEAST
rK | first input matrix |
rM | second input matrix |
rEigenvalues | eigenvalues |
rEigenvectors | row-aligned eigenvectors [n_evs,n_dofs] |