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

Implements a generic linear solver abstraction. More...

`#include <opm/simulators/linalg/bicgstabsolver.hh>`
`#include <opm/simulators/linalg/combinedcriterion.hh>`
`#include <opm/simulators/linalg/istlsparsematrixadapter.hh>`
`#include <opm/simulators/linalg/linalgparameters.hh>`
`#include <opm/simulators/linalg/linalgproperties.hh>`
`#include <opm/simulators/linalg/parallelbasebackend.hh>`
`#include <memory>`

Go to the source code of this file.

## Classes

struct | Opm::Properties::TTag::ParallelBiCGStabLinearSolver
struct | Opm::Properties::LinearSolverBackend< TypeTag, TTag::ParallelBiCGStabLinearSolver >
class | Opm::Linear::ParallelBiCGStabSolverBackend< TypeTag >
| Implements a generic linear solver abstraction. More...

## 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

Implements a generic linear solver abstraction.

Chosing the preconditioner works by setting 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:` An ILU(0) preconditioner. The results of this preconditioner are the same as setting the PreconditionerOrder property to 0 and using the ILU(n) preconditioner. The reason for the existence of ILU0 is that it is computationally cheaper because it does not need to consider things which are only required for higher orders