Loading...
Searching...
No Matches
istlpreconditionerwrappers.hh File Reference

Provides wrapper classes for the (non-AMG) preconditioners provided by dune-istl. More...

`#include <dune/common/version.hh>`
`#include <opm/models/utils/propertysystem.hh>`
`#include <opm/models/utils/parametersystem.hpp>`
`#include <opm/simulators/linalg/linalgparameters.hh>`
`#include <opm/simulators/linalg/linalgproperties.hh>`
`#include <opm/simulators/linalg/ilufirstelement.hh>`
`#include <dune/istl/preconditioners.hh>`

Go to the source code of this file.

## Classes

class | Opm::Linear::PreconditionerWrapperILU< TypeTag >

## Namespaces

namespace | Opm
| This file contains a set of helper functions used by VFPProd / VFPInj.

## Macros

#define | EWOMS_WRAP_ISTL_PRECONDITIONER(PREC_NAME, ISTL_PREC_TYPE)
#define | EWOMS_WRAP_ISTL_SIMPLE_PRECONDITIONER(PREC_NAME, ISTL_PREC_TYPE)

## Detailed Description

Provides wrapper classes for the (non-AMG) preconditioners provided by dune-istl.

In conjunction with a suitable solver backend, preconditioner wrappers work by specifying the "PreconditionerWrapper" property:

template<class TypeTag>
struct PreconditionerWrapper<TypeTag, TTag::YourTypeTag>
{ using type = Opm::Linear::PreconditionerWrapper$PRECONDITIONER<TypeTag>; };

Where the choices possible for '`$PRECONDITIONER'` are:

- `Jacobi:` A Jacobi preconditioner
- `GaussSeidel:` A Gauss-Seidel preconditioner
- `SSOR:` A symmetric successive overrelaxation (SSOR) preconditioner
- `SOR:` A successive overrelaxation (SOR) preconditioner
- `ILUn:` An ILU(n) preconditioner
- `ILU0:` A specialized (and optimized) ILU(0) preconditioner