20 #ifndef GEOS_LINEARALGEBRA_INTERFACES_TRILINOSPRECONDITIONER_HPP_
21 #define GEOS_LINEARALGEBRA_INTERFACES_TRILINOSPRECONDITIONER_HPP_
23 #include "common/PreconditionerBase.hpp"
29 class Epetra_Operator;
114 std::unique_ptr< Epetra_Operator > m_precond;
Wrapper class for Epetra's CrsMatrix.
Common interface for preconditioning operators.
typename Base::Vector Vector
Alias for vector type.
typename LAI::ParallelMatrix Matrix
Alias for matrix type.
Wrapper around Trilinos-based preconditioners.
TrilinosPreconditioner(LinearSolverParameters params, array1d< Vector > const &nearNullKernel)
Constructor.
typename Base::Matrix Matrix
Alias for matrix type.
virtual void clear() override
Clean up the preconditioner setup.
virtual void apply(Vector const &src, Vector &dst) const override
Apply operator to a vector.
Epetra_Operator & unwrapped()
Access the underlying Epetra preconditioning operator.
virtual ~TrilinosPreconditioner() override
Destructor.
virtual void setup(Matrix const &mat) override
Compute the preconditioner from a matrix.
typename Base::Vector Vector
Alias for vector type.
TrilinosPreconditioner(LinearSolverParameters params)
Constructor.
Epetra_Operator const & unwrapped() const
Access the underlying Epetra preconditioning operator.
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
Array< T, 1 > array1d
Alias for 1D array.
Set of parameters for a linear solver or preconditioner.