All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
parallelistlbackend.hh File Reference

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

Go to the source code of this file.

Classes

class  Ewoms::Linear::ParallelIstlSolverBackend< TypeTag >
 Provides all unmodified linear solvers from dune-istl. More...
 

Functions

 Ewoms::Properties::NEW_TYPE_TAG (ParallelIstlLinearSolver, INHERITS_FROM(ParallelBaseLinearSolver))
 
 Ewoms::Properties::NEW_PROP_TAG (LinearSolverWrapper)
 
 Ewoms::Properties::NEW_PROP_TAG (GMResRestart)
 number of iterations between solver restarts for the GMRES solver
 
 Ewoms::Properties::SET_TYPE_PROP (ParallelIstlLinearSolver, LinearSolverBackend, Ewoms::Linear::ParallelIstlSolverBackend< TypeTag >)
 
 Ewoms::Properties::SET_TYPE_PROP (ParallelIstlLinearSolver, LinearSolverWrapper, Ewoms::Linear::SolverWrapperBiCGStab< TypeTag >)
 
 Ewoms::Properties::SET_TYPE_PROP (ParallelIstlLinearSolver, PreconditionerWrapper, Ewoms::Linear::PreconditionerWrapperILU0< TypeTag >)
 
 Ewoms::Properties::SET_INT_PROP (ParallelIstlLinearSolver, GMResRestart, 10)
 set the GMRes restart parameter to 10 by default
 

Detailed Description

Provides all unmodified linear solvers from dune-istl.

To set the linear solver, use

* SET_TYPE_PROP(YourTypeTag, LinearSolverWrapper,
* Ewoms::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:

* SET_TYPE_PROP(YourTypeTag, PreconditionerWrapper,
* Ewoms::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