19#ifndef __DOLFIN_IFPACK2_PRECONDITIONER_H
20#define __DOLFIN_IFPACK2_PRECONDITIONER_H
26#include <Ifpack2_Factory.hpp>
27#include <dolfin/common/types.h>
28#include "TpetraMatrix.h"
29#include "TpetraVector.h"
30#include "TrilinosPreconditioner.h"
36 class BelosKrylovSolver;
55 std::string
str(
bool verbose)
const;
58 virtual void init(std::shared_ptr<const TpetraMatrix> P);
76 Teuchos::RCP<prec_type> _prec;
Definition: BelosKrylovSolver.h:52
Implements preconditioners using Ifpack2 from Trilinos.
Definition: Ifpack2Preconditioner.h:41
std::string str(bool verbose) const
Return informal string representation (pretty-print)
Definition: Ifpack2Preconditioner.cpp:78
virtual ~Ifpack2Preconditioner()
Destructor.
Definition: Ifpack2Preconditioner.cpp:58
static std::map< std::string, std::string > preconditioners()
Return a list of available preconditioners.
Definition: Ifpack2Preconditioner.cpp:29
virtual void init(std::shared_ptr< const TpetraMatrix > P)
Initialise preconditioner based on Operator P.
Definition: Ifpack2Preconditioner.cpp:62
virtual void set(BelosKrylovSolver &solver)
Set the preconditioner type on a solver.
Definition: Ifpack2Preconditioner.cpp:73
Ifpack2Preconditioner(std::string type="default")
Create a particular preconditioner object.
Definition: Ifpack2Preconditioner.cpp:42
static Parameters default_parameters()
Default parameter values.
Definition: Ifpack2Preconditioner.cpp:87
Definition: Parameters.h:95
Tpetra::MultiVector ::node_type node_type
Node type.
Definition: TpetraVector.h:58
This class provides a common base for Trilinos preconditioners.
Definition: TrilinosPreconditioner.h:37
Common base class for DOLFIN variables.
Definition: Variable.h:36
PetscInt la_index
Index type for compatibility with linear algebra backend(s)
Definition: types.h:32