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

Implements a generic linear solver abstraction. More...

#include "parallelbasebackend.hh"
#include "bicgstabsolver.hh"
#include "combinedcriterion.hh"
#include <memory>

Go to the source code of this file.

Classes

class  Ewoms::Linear::ParallelBiCGStabSolverBackend< TypeTag >
 Implements a generic linear solver abstraction. More...
 
class  Ewoms::Linear::ParallelBiCGStabSolverBackend< TypeTag >
 Implements a generic linear solver abstraction. More...
 

Functions

 Ewoms::Properties::NEW_TYPE_TAG (ParallelBiCGStabLinearSolver, INHERITS_FROM(ParallelBaseLinearSolver))
 
 Ewoms::Properties::NEW_PROP_TAG (LinearSolverMaxError)
 
 Ewoms::Properties::SET_TYPE_PROP (ParallelBiCGStabLinearSolver, LinearSolverBackend, Ewoms::Linear::ParallelBiCGStabSolverBackend< TypeTag >)
 
 Ewoms::Properties::SET_SCALAR_PROP (ParallelBiCGStabLinearSolver, LinearSolverMaxError, 1e7)
 

Detailed Description

Implements a generic linear solver abstraction.

Chosing the preconditioner works by setting the "PreconditionerWrapper" property:

* 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: 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