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

Provides all unmodified linear solvers from dune-istl. More...

`#include "linalgproperties.hh"`
`#include "parallelbasebackend.hh"`
`#include "istlsolverwrappers.hh"`
`#include "istlsparsematrixadapter.hh"`
`#include <dune/common/version.hh>`

Go to the source code of this file.

## Classes

struct | Opm::Properties::TTag::ParallelIstlLinearSolver
class | Opm::Linear::ParallelIstlSolverBackend< TypeTag >
| Provides all unmodified linear solvers from dune-istl. More...
struct | Opm::Properties::LinearSolverBackend< TypeTag, TTag::ParallelIstlLinearSolver >
struct | Opm::Properties::LinearSolverWrapper< TypeTag, TTag::ParallelIstlLinearSolver >
struct | Opm::Properties::PreconditionerWrapper< TypeTag, TTag::ParallelIstlLinearSolver >

## Namespaces

namespace | Opm
| This file contains a set of helper functions used by VFPProd / VFPInj.
namespace | Opm::Properties::TTag
| The generic type tag for problems using the immiscible multi-phase model.

## Detailed Description

Provides all unmodified linear solvers from dune-istl.

To set the linear solver, use

template<class TypeTag>
struct LinearSolverWrapper<TypeTag, TTag::YourTypeTag>
{ using type = Opm::Linear::SolverWrapper$SOLVER<TypeTag>; };

The possible choices for '`$SOLVER'` are:

- `Richardson:` A fixpoint solver using the Richardson iteration
- `SteepestDescent:` The steepest descent solver
- `ConjugatedGradients:` A conjugated gradients solver
- `BiCGStab:` A stabilized bi-conjugated gradients solver
- `MinRes:` A solver based on the minimized residual algorithm
- `RestartedGMRes:` A restarted GMRES solver

Chosing the preconditioner works in an analogous way:

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