22 #ifndef __HERMES_COMMON_PRECOND_IFPACK_H_
23 #define __HERMES_COMMON_PRECOND_IFPACK_H_
24 #include "../../config.h"
29 #include <Ifpack_Preconditioner.h>
33 namespace Preconditioners
38 template <
typename Scalar>
51 IfpackPrecond(
const char *cls,
const char *type,
int overlap);
56 void set_param(
const char *name,
const char *value);
57 void set_param(
const char *name,
int value);
58 void set_param(
const char *name,
double value);
61 virtual Epetra_Operator *get_obj() {
return prec; }
64 virtual void destroy() { }
65 virtual void compute();
66 virtual void recompute() { destroy(); compute(); }
69 virtual int ApplyInverse(
const Epetra_MultiVector &r, Epetra_MultiVector &z)
const;
70 virtual const Epetra_Comm &Comm()
const;
71 virtual const Epetra_Map &OperatorDomainMap()
const;
72 virtual const Epetra_Map &OperatorRangeMap()
const;
79 Ifpack_Preconditioner *prec;
80 Teuchos::ParameterList ilist;
General (abstract) matrix representation in Hermes.
General namespace for the Hermes library.
Encapsulation of AztecOO linear solver.
Preconditioners built on IFPACK.
Abstract class for Epetra preconditioners.
Namespace for linear / nonlinear / iterative solvers.
General functionality for preconditioners. Contains class Precond.
EpetraMatrix and EpetraVector storage classes for Amesos, AztecOO, ... .