![]() |
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 <tfqmr_solver.h>
Public Types | |
| typedef IterativeSolver< TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType > | BaseType |
| typedef TSparseSpaceType::MatrixType | SparseMatrixType |
| typedef TSparseSpaceType::VectorType | VectorType |
| typedef TDenseSpaceType::MatrixType | DenseMatrixType |
Public Types inherited from Kratos::IterativeSolver< TSparseSpaceType, TDenseSpaceType, Preconditioner< TSparseSpaceType, TDenseSpaceType >, Reorderer< TSparseSpaceType, TDenseSpaceType > > | |
| typedef LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > > | BaseType |
| typedef TSparseSpaceType::MatrixType | SparseMatrixType |
| typedef TSparseSpaceType::VectorType | VectorType |
| typedef TDenseSpaceType::MatrixType | DenseMatrixType |
| typedef Preconditioner< TSparseSpaceType, TDenseSpaceType > | PreconditionerType |
| typedef TSparseSpaceType::IndexType | IndexType |
| The index type definition to be consistent. More... | |
Public Types inherited from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > > | |
| 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 (TFQMRSolver) | |
| Counted pointer of TFQMRSolver. More... | |
| TFQMRSolver () | |
| Default constructor. More... | |
| TFQMRSolver (double NewTolerance) | |
| TFQMRSolver (Parameters settings) | |
| TFQMRSolver (Parameters settings, typename TPreconditionerType::Pointer pNewPreconditioner) | |
| TFQMRSolver (double NewTolerance, unsigned int NewMaxIterationsNumber) | |
| TFQMRSolver (double NewMaxTolerance, unsigned int NewMaxIterationsNumber, typename TPreconditionerType::Pointer pNewPreconditioner) | |
| TFQMRSolver (const TFQMRSolver &Other) | |
| Copy constructor. More... | |
| ~TFQMRSolver () override | |
| Destructor. More... | |
| bool | Solve (SparseMatrixType &rA, VectorType &rX, VectorType &rB) override |
| bool | Solve (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB) override |
| std::string | Info () const override |
| Return information about this object. More... | |
| void | PrintInfo (std::ostream &OStream) const override |
| Print information about this object. More... | |
| void | PrintData (std::ostream &OStream) const override |
| Print object's data. More... | |
Public Member Functions inherited from Kratos::IterativeSolver< TSparseSpaceType, TDenseSpaceType, Preconditioner< TSparseSpaceType, TDenseSpaceType >, Reorderer< TSparseSpaceType, TDenseSpaceType > > | |
| IterativeSolver () | |
| Default constructor. More... | |
| IterativeSolver (double NewTolerance) | |
| IterativeSolver (double NewTolerance, unsigned int NewMaxIterationsNumber) | |
| IterativeSolver (double NewTolerance, unsigned int NewMaxIterationsNumber, typename TPreconditionerType::Pointer pNewPreconditioner) | |
| IterativeSolver (Parameters settings, typename TPreconditionerType::Pointer pNewPreconditioner=Kratos::make_shared< Preconditioner< TSparseSpaceType, TDenseSpaceType > >()) | |
| IterativeSolver (const IterativeSolver &Other) | |
| Copy constructor. More... | |
| ~IterativeSolver () override | |
| Destructor. More... | |
| IterativeSolver & | operator= (const IterativeSolver &Other) |
| Assignment operator. More... | |
| void | InitializeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) override |
| void | FinalizeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) override |
| void | Clear () override |
| bool | AdditionalPhysicalDataIsNeeded () override |
| void | ProvideAdditionalData (SparseMatrixType &rA, VectorType &rX, VectorType &rB, typename ModelPart::DofsArrayType &rdof_set, ModelPart &r_model_part) override |
| virtual TPreconditionerType::Pointer | GetPreconditioner (void) |
| virtual const TPreconditionerType::Pointer | GetPreconditioner (void) const |
| virtual void | SetPreconditioner (typename TPreconditionerType::Pointer pNewPreconditioner) |
| virtual void | SetMaxIterationsNumber (unsigned int NewMaxIterationsNumber) |
| virtual IndexType | GetMaxIterationsNumber () |
| virtual void | SetIterationsNumber (unsigned int NewIterationNumber) |
| IndexType | GetIterationsNumber () override |
| void | SetTolerance (double NewTolerance) override |
| This method allows to set the tolerance in the linear solver. More... | |
| double | GetTolerance () override |
| This method allows to get the tolerance in the linear solver. More... | |
| virtual void | SetResidualNorm (double NewResidualNorm) |
| virtual double | GetResidualNorm () |
| virtual bool | IterationNeeded () |
| virtual bool | IsConverged () |
| std::string | Info () const override |
| Turn back information as a string. More... | |
| void | PrintInfo (std::ostream &rOStream) const override |
| Print information about this object. More... | |
| void | PrintData (std::ostream &rOStream) const override |
| Print object's data. More... | |
| KRATOS_CLASS_POINTER_DEFINITION (IterativeSolver) | |
| Pointer definition of IterativeSolver. More... | |
Public Member Functions inherited from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > > | |
| LinearSolver () | |
| Default constructor. More... | |
| LinearSolver (Reorderer< TSparseSpaceType, TDenseSpaceType > 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 | PerformSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
| virtual void | Solve (SparseMatrixType &K, SparseMatrixType &M, DenseVectorType &Eigenvalues, DenseMatrixType &Eigenvectors) |
| virtual TReordererType::Pointer | GetReorderer () |
| virtual void | SetReorderer (typename TReordererType::Pointer pNewReorderer) |
| 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... | |
| KRATOS_CLASS_POINTER_DEFINITION (LinearSolver) | |
| Pointer definition of LinearSolver. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Kratos::IterativeSolver< TSparseSpaceType, TDenseSpaceType, Preconditioner< TSparseSpaceType, TDenseSpaceType >, Reorderer< TSparseSpaceType, TDenseSpaceType > > | |
| void | PreconditionedMult (SparseMatrixType &rA, VectorType &rX, VectorType &rY) |
| void | PreconditionedTransposeMult (SparseMatrixType &rA, VectorType &rX, VectorType &rY) |
Protected Attributes inherited from Kratos::IterativeSolver< TSparseSpaceType, TDenseSpaceType, Preconditioner< TSparseSpaceType, TDenseSpaceType >, Reorderer< TSparseSpaceType, TDenseSpaceType > > | |
| double | mResidualNorm |
| double | mFirstResidualNorm |
| IndexType | mIterationsNumber |
| double | mBNorm |
| typedef IterativeSolver<TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType > Kratos::TFQMRSolver< TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType >::BaseType |
| typedef TDenseSpaceType::MatrixType Kratos::TFQMRSolver< TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType >::DenseMatrixType |
| typedef TSparseSpaceType::MatrixType Kratos::TFQMRSolver< TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType >::SparseMatrixType |
| typedef TSparseSpaceType::VectorType Kratos::TFQMRSolver< TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType >::VectorType |
|
inline |
Default constructor.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Copy constructor.
|
inlineoverride |
Destructor.
|
inlineoverridevirtual |
Return information about this object.
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.
| Kratos::TFQMRSolver< TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType >::KRATOS_CLASS_POINTER_DEFINITION | ( | TFQMRSolver< TSparseSpaceType, TDenseSpaceType, TPreconditionerType, TReordererType > | ) |
Counted pointer of TFQMRSolver.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.
|
inlineoverridevirtual |
Multi solve method for solving a set of linear systems with same coefficient matrix. Solves the linear system Ax=b and puts the result on SystemVector& rX. rX is also th initial guess for iterative methods.
| rA. | System matrix |
| rX. | Solution vector. it's also the initial guess for iterative linear solvers. |
| rB. | Right hand side vector |
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.
|
inlineoverridevirtual |
Normal solve method. Solves the linear system Ax=b and puts the result on SystemVector& rX. rX is also th initial guess for iterative methods.
| rA. | System matrix |
| rX. | Solution vector. it's also the initial guess for iterative linear solvers. |
| rB. | Right hand side vector |
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.