istlsolverwrappers.hh File Reference

Provides wrapper classes for the iterative linear solvers available in dune-istl. More...

#include <ewoms/common/propertysystem.hh>
#include <ewoms/common/parametersystem.hh>
#include <dune/istl/solvers.hh>

Go to the source code of this file.

Classes

class  Ewoms::Linear::SolverWrapperRestartedGMRes< TypeTag >
 Solver wrapper for the restarted GMRES solver of dune-istl. More...
 

Macros

#define EWOMS_WRAP_ISTL_SOLVER(SOLVER_NAME, ISTL_SOLVER_NAME)
 Macro to create a wrapper around an ISTL solver.
 

Functions

 Ewoms::Properties::NEW_PROP_TAG (Scalar)
 Property to specify the type of scalar values. More...
 
 Ewoms::Properties::NEW_PROP_TAG (JacobianMatrix)
 Type of the global jacobian matrix. More...
 
 Ewoms::Properties::NEW_PROP_TAG (OverlappingMatrix)
 
 Ewoms::Properties::NEW_PROP_TAG (OverlappingVector)
 
 Ewoms::Properties::NEW_PROP_TAG (GMResRestart)
 number of iterations between solver restarts for the GMRES solver
 
 Ewoms::Properties::NEW_PROP_TAG (LinearSolverTolerance)
 Maximum accepted error of the solution of the linear solver.
 
 Ewoms::Properties::NEW_PROP_TAG (LinearSolverMaxIterations)
 Maximum number of iterations eyecuted by the linear solver.
 
 Ewoms::Properties::NEW_PROP_TAG (LinearSolverVerbosity)
 Specifies the verbosity of the linear solver. More...
 

Detailed Description

Provides wrapper classes for the iterative linear solvers available in dune-istl.

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

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

Function Documentation

◆ NEW_PROP_TAG() [1/3]

Ewoms::Properties::NEW_PROP_TAG ( Scalar  )

Property to specify the type of scalar values.

The type of scalar values.

◆ NEW_PROP_TAG() [2/3]

Ewoms::Properties::NEW_PROP_TAG ( JacobianMatrix  )

Type of the global jacobian matrix.

Specifies the type of a global Jacobian matrix.

◆ NEW_PROP_TAG() [3/3]

Ewoms::Properties::NEW_PROP_TAG ( LinearSolverVerbosity  )

Specifies the verbosity of the linear solver.

By default it is 0, i.e. it doesn't print anything. Setting this property to 1 prints aggregated convergence rates, 2 prints the convergence rate of every iteration of the scheme.