GEOSX
Public Types | Public Member Functions | List of all members
geosx::TrilinosSolver Class Referencefinal

This class creates and provides basic support for AztecOO, Amesos and ML libraries. More...

#include <TrilinosSolver.hpp>

Inheritance diagram for geosx::TrilinosSolver:
Inheritance graph
[legend]

Public Types

using Base = LinearSolverBase< TrilinosInterface >
 Alias for base type.
 
- Public Types inherited from geosx::LinearSolverBase< TrilinosInterface >
using Base = PreconditionerBase< TrilinosInterface >
 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< TrilinosInterface >
using Base = LinearOperator< typename TrilinosInterface ::ParallelVector >
 Alias for base type.
 
using Vector = typename Base::Vector
 Alias for vector type.
 
using Matrix = typename TrilinosInterface ::ParallelMatrix
 Alias for matrix type.
 
- Public Types inherited from geosx::LinearOperator< TrilinosInterface ::ParallelVector >
using Vector = TrilinosInterface ::ParallelVector
 Alias for template parameter.
 

Public Member Functions

 TrilinosSolver (LinearSolverParameters parameters)
 Solver constructor, with parameter list reference. More...
 
virtual ~TrilinosSolver () override
 Destructor.
 
virtual void setup (EpetraMatrix const &mat) override
 Compute the preconditioner from a matrix. More...
 
virtual void apply (EpetraVector const &src, EpetraVector &dst) const override
 Apply operator to a vector, dst = this(src). More...
 
virtual void solve (EpetraVector const &rhs, EpetraVector &sol) const override
 Solve preconditioned system. More...
 
- Public Member Functions inherited from geosx::LinearSolverBase< TrilinosInterface >
 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 geosx::PreconditionerBase< TrilinosInterface >
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 getComm () 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 geosx::LinearOperator< TrilinosInterface ::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...
 

Additional Inherited Members

- Protected Attributes inherited from geosx::LinearSolverBase< TrilinosInterface >
LinearSolverParameters m_params
 Parameters for the solver.
 
LinearSolverResult m_result
 Result of most recent solve (status, timings)
 

Detailed Description

This class creates and provides basic support for AztecOO, Amesos and ML libraries.

Definition at line 36 of file TrilinosSolver.hpp.

Constructor & Destructor Documentation

◆ TrilinosSolver()

geosx::TrilinosSolver::TrilinosSolver ( LinearSolverParameters  parameters)
explicit

Solver constructor, with parameter list reference.

Parameters
[in]parametersstructure containing linear solver parameters

Member Function Documentation

◆ apply()

virtual void geosx::TrilinosSolver::apply ( EpetraVector const &  src,
EpetraVector dst 
) const
overridevirtual

Apply operator to a vector, dst = this(src).

Parameters
srcinput vector
dstoutput vector
Warning
src and dst cannot alias the same vector (some implementations may allow this).

◆ setup()

virtual void geosx::TrilinosSolver::setup ( EpetraMatrix const &  mat)
overridevirtual

Compute the preconditioner from a matrix.

Parameters
matthe matrix to precondition.

◆ solve()

virtual void geosx::TrilinosSolver::solve ( EpetraVector const &  rhs,
EpetraVector sol 
) const
overridevirtual

Solve preconditioned system.

Parameters
[in]rhssystem right hand side.
[in,out]solsystem solution (input = initial guess, output = solution).

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