22 #ifndef __HERMES_COMMON_PRECOND_ML_H_
23 #define __HERMES_COMMON_PRECOND_ML_H_
24 #include "../../config.h"
28 #include <ml_MultiLevelPreconditioner.h>
32 namespace Preconditioners
37 template <
typename Scalar>
46 MlPrecond(ML_Epetra::MultiLevelPreconditioner *mpc);
49 void set_param(
const char *name,
const char *value);
50 void set_param(
const char *name,
int value);
51 void set_param(
const char *name,
bool value);
52 void set_param(
const char *name,
double value);
54 virtual Epetra_Operator *get_obj() {
return prec; }
59 virtual void destroy();
61 virtual void compute();
63 virtual void recompute();
68 virtual int ApplyInverse(
const Epetra_MultiVector &r, Epetra_MultiVector &z)
const;
69 virtual const Epetra_Comm &Comm()
const;
70 virtual const Epetra_Map &OperatorDomainMap()
const;
71 virtual const Epetra_Map &OperatorRangeMap()
const;
73 ML_Epetra::MultiLevelPreconditioner *prec;
74 Teuchos::ParameterList mlist;
General (abstract) matrix representation in Hermes.
General namespace for the Hermes library.
Encapsulation of AztecOO linear solver.
Abstract class for Epetra preconditioners.
Namespace for linear / nonlinear / iterative solvers.
Preconditioners built on ML.
General functionality for preconditioners. Contains class Precond.
EpetraMatrix and EpetraVector storage classes for Amesos, AztecOO, ... .