|
typedef | GET_PROP_TYPE (TypeTag, LinearSolverBackend) Implementation |
|
typedef | GET_PROP_TYPE (TypeTag, Simulator) Simulator |
|
typedef | GET_PROP_TYPE (TypeTag, Scalar) Scalar |
|
typedef | GET_PROP_TYPE (TypeTag, JacobianMatrix) Matrix |
|
typedef | GET_PROP_TYPE (TypeTag, GlobalEqVector) Vector |
|
typedef | GET_PROP_TYPE (TypeTag, BorderListCreator) BorderListCreator |
|
typedef | GET_PROP_TYPE (TypeTag, GridView) GridView |
|
typedef | GET_PROP_TYPE (TypeTag, Overlap) Overlap |
|
typedef | GET_PROP_TYPE (TypeTag, OverlappingVector) OverlappingVector |
|
typedef | GET_PROP_TYPE (TypeTag, OverlappingMatrix) OverlappingMatrix |
|
typedef | GET_PROP_TYPE (TypeTag, PreconditionerWrapper) PreconditionerWrapper |
|
Implementation & | asImp_ () |
|
const Implementation & | asImp_ () const |
|
void | prepare_ (const Matrix &M) |
|
void | rescale_ () |
|
void | cleanup_ () |
|
std::shared_ptr< ParallelPreconditioner > | preparePreconditioner_ () |
|
void | cleanupPreconditioner_ () |
|
void | writeOverlapToVTK_ () |
|
template<class TypeTag>
class Ewoms::Linear::ParallelBaseBackend< TypeTag >
Provides the common code which is required by most linear solvers.
This class provides access to all preconditioners offered by dune-istl using the PreconditionerWrapper property:
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