19 #ifndef GEOS_LINEARALGEBRA_INTERFACES_TRILINOSPRECONDITIONER_HPP_
20 #define GEOS_LINEARALGEBRA_INTERFACES_TRILINOSPRECONDITIONER_HPP_
22 #include "common/PreconditionerBase.hpp"
28 class Epetra_Operator;
113 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.