GEOSX
|
Common interface for identity preconditioning operator. More...
#include <PreconditionerBlockJacobi.hpp>
Public Types | |
using | Base = PreconditionerBase< LAI > |
Alias for base type. | |
using | Vector = typename Base::Vector |
Alias for vector type. | |
using | Matrix = typename Base::Matrix |
Alias for matrix type. | |
Public Types inherited from geosx::PreconditionerBase< LAI > | |
using | Base = LinearOperator< typename LAI::ParallelVector > |
Alias for base type. | |
using | Vector = typename Base::Vector |
Alias for vector type. | |
using | Matrix = typename LAI::ParallelMatrix |
Alias for matrix type. | |
Public Types inherited from geosx::LinearOperator< LAI::ParallelVector > | |
using | Vector = LAI::ParallelVector |
Alias for template parameter. | |
Public Member Functions | |
PreconditionerBlockJacobi (localIndex const &blockSize=0) | |
Constructor. More... | |
virtual void | compute (Matrix const &mat) override |
Compute the preconditioner from a matrix. More... | |
virtual void | compute (Matrix const &mat, DofManager const &dofManager) override |
Compute the preconditioner from a matrix. More... | |
virtual void | clear () override |
Clean up the preconditioner setup. More... | |
virtual void | apply (Vector const &src, Vector &dst) const override |
Apply operator to a vector. More... | |
virtual bool | hasPreconditionerMatrix () const override |
Whether the preconditioner is available in matrix form. More... | |
virtual Matrix const & | preconditionerMatrix () const override |
Access the preconditioner in matrix form. More... | |
Public Member Functions inherited from geosx::PreconditionerBase< LAI > | |
virtual globalIndex | numGlobalRows () const override |
Get the number of global rows. More... | |
virtual globalIndex | numGlobalCols () const override |
Get the number of global columns. More... | |
bool | ready () const |
Chech if preconditioner is ready to use. More... | |
Matrix const & | matrix () const |
Access the matrix the preconditioner was computed from. More... | |
Public Member Functions inherited from geosx::LinearOperator< LAI::ParallelVector > | |
LinearOperator ()=default | |
Constructor. | |
virtual | ~LinearOperator ()=default |
Destructor. | |
virtual void | apply (Vector const &src, Vector &dst) const=0 |
Apply operator to a vector. More... | |
virtual void | residual (Vector const &x, Vector const &b, Vector &r) const |
Compute residual r = Ax - b . More... | |
Common interface for identity preconditioning operator.
LAI | linear algebra interface providing vectors, matrices and solvers |
Definition at line 30 of file PreconditionerBlockJacobi.hpp.
|
inline |
Constructor.
blockSize | the size of block diagonal matrices. |
Definition at line 47 of file PreconditionerBlockJacobi.hpp.
|
inlineoverridevirtual |
Apply operator to a vector.
src | Input vector (src). |
dst | Output vector (dst). |
Definition at line 134 of file PreconditionerBlockJacobi.hpp.
|
inlineoverridevirtual |
Clean up the preconditioner setup.
Releases memory used and allows the matrix to be deleted cleanly. This method should be called before the matrix used to compute the preconditioner goes out of scope or is re-created. Some implementations require the matrix to outlive the preconditioner (for example, Trilinos/ML may crash the program if deleted after the matrix).
Reimplemented from geosx::PreconditionerBase< LAI >.
Definition at line 123 of file PreconditionerBlockJacobi.hpp.
|
inlineoverridevirtual |
Compute the preconditioner from a matrix.
mat | the matrix to precondition. |
Reimplemented from geosx::PreconditionerBase< LAI >.
Definition at line 57 of file PreconditionerBlockJacobi.hpp.
|
inlineoverridevirtual |
Compute the preconditioner from a matrix.
mat | the matrix to precondition |
dofManager | the Degree-of-Freedom manager associated with matrix |
Reimplemented from geosx::PreconditionerBase< LAI >.
Definition at line 105 of file PreconditionerBlockJacobi.hpp.
|
inlineoverridevirtual |
Whether the preconditioner is available in matrix form.
Reimplemented from geosx::PreconditionerBase< LAI >.
Definition at line 148 of file PreconditionerBlockJacobi.hpp.
|
inlineoverridevirtual |
Access the preconditioner in matrix form.
Reimplemented from geosx::PreconditionerBase< LAI >.
Definition at line 158 of file PreconditionerBlockJacobi.hpp.