| 
    GEOS
    
   | 
 
Simple interface for linear solvers that allows to extract solution results. More...
#include <LinearSolverBase.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 geos::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 geos::LinearOperator< LAI::ParallelVector > | |
| using | Vector = LAI::ParallelVector | 
| Alias for template parameter.  | |
Public Member Functions | |
| LinearSolverBase (LinearSolverParameters params) | |
| Constructor.  More... | |
| virtual void | solve (Vector const &rhs, Vector &sol) const =0 | 
| Solve preconditioned system.  More... | |
| LinearSolverParameters const & | parameters () const | 
| LinearSolverResult const & | result () const | 
  Public Member Functions inherited from geos::PreconditionerBase< LAI > | |
| virtual void | setup (Matrix const &mat) | 
| Compute the preconditioner from a matrix.  More... | |
| virtual void | clear () | 
| Clean up the preconditioner setup.  More... | |
| virtual globalIndex | numGlobalRows () const override | 
| Get the number of global rows.  More... | |
| virtual globalIndex | numGlobalCols () const override | 
| Get the number of global columns.  More... | |
| virtual localIndex | numLocalRows () const override | 
| Get the number of local rows.  More... | |
| virtual localIndex | numLocalCols () const override | 
| Get the number of local columns.  More... | |
| virtual MPI_Comm | comm () const override | 
| Get the MPI communicator the matrix was created with.  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... | |
| virtual bool | hasPreconditionerMatrix () const | 
| Check whether the preconditioner is available in matrix (explicit) form.  More... | |
| virtual Matrix const & | preconditionerMatrix () const | 
| Access the preconditioner in matrix form (whenever available). It must be overridden by the specific preconditioner.  More... | |
  Public Member Functions inherited from geos::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, dst = this(src).  More... | |
| virtual void | residual (Vector const &x, Vector const &b, Vector &r) const | 
Compute residual r = b - this(x).  More... | |
| virtual globalIndex | numGlobalNonzeros () const | 
| virtual localIndex | numLocalNonzeros () const | 
Protected Attributes | |
| LinearSolverParameters | m_params | 
| Parameters for the solver.  | |
| LinearSolverResult | m_result | 
| Result of most recent solve (status, timings)  | |
Simple interface for linear solvers that allows to extract solution results.
| LAI | linear algebra interface type | 
Definition at line 35 of file LinearSolverBase.hpp.
      
  | 
  inlineexplicit | 
      
  | 
  inline | 
Definition at line 66 of file LinearSolverBase.hpp.
      
  | 
  inline | 
Definition at line 74 of file LinearSolverBase.hpp.
      
  | 
  pure virtual | 
Solve preconditioned system.
| [in] | rhs | system right hand side. | 
| [in,out] | sol | system solution (input = initial guess, output = solution). | 
Implemented in geos::SuperLUDist< LAI >, and geos::SuiteSparse< LAI >.