Provides the common code which is required by most linear solvers. More...
#include <ewoms/linear/overlappingbcrsmatrix.hh>
#include <ewoms/linear/overlappingblockvector.hh>
#include <ewoms/linear/overlappingpreconditioner.hh>
#include <ewoms/linear/overlappingscalarproduct.hh>
#include <ewoms/linear/overlappingoperator.hh>
#include <ewoms/linear/parallelbasebackend.hh>
#include <ewoms/linear/istlpreconditionerwrappers.hh>
#include <ewoms/common/genericguard.hh>
#include <ewoms/common/propertysystem.hh>
#include <ewoms/common/parametersystem.hh>
#include <dune/grid/io/file/vtk/vtkwriter.hh>
#include <dune/common/fvector.hh>
#include <sstream>
#include <memory>
#include <iostream>
Go to the source code of this file.
Classes | |
class | Ewoms::Linear::ParallelBaseBackend< TypeTag > |
Provides the common code which is required by most linear solvers. More... | |
Functions | |
Ewoms::Properties::NEW_TYPE_TAG (ParallelBaseLinearSolver) | |
Ewoms::Properties::NEW_PROP_TAG (Simulator) | |
Manages the simulation time. More... | |
Ewoms::Properties::NEW_PROP_TAG (Scalar) | |
Property to specify the type of scalar values. More... | |
Ewoms::Properties::NEW_PROP_TAG (NumEq) | |
The number of balance equations. More... | |
Ewoms::Properties::NEW_PROP_TAG (JacobianMatrix) | |
Type of the global jacobian matrix. More... | |
Ewoms::Properties::NEW_PROP_TAG (GlobalEqVector) | |
Vector containing a quantity of for equation for each DOF of the whole grid. More... | |
Ewoms::Properties::NEW_PROP_TAG (VertexMapper) | |
The mapper to find the global index of a vertex. | |
Ewoms::Properties::NEW_PROP_TAG (GridView) | |
The type of the grid view. | |
Ewoms::Properties::NEW_PROP_TAG (BorderListCreator) | |
The class which marks the border indices associated with the degrees of freedom on a process boundary. More... | |
Ewoms::Properties::NEW_PROP_TAG (Overlap) | |
Ewoms::Properties::NEW_PROP_TAG (OverlappingVector) | |
Ewoms::Properties::NEW_PROP_TAG (OverlappingMatrix) | |
Ewoms::Properties::NEW_PROP_TAG (OverlappingScalarProduct) | |
Ewoms::Properties::NEW_PROP_TAG (OverlappingLinearOperator) | |
Ewoms::Properties::NEW_PROP_TAG (LinearSolverBackend) | |
The type of the linear solver to be used. More... | |
Ewoms::Properties::NEW_PROP_TAG (PreconditionerWrapper) | |
the preconditioner used by the linear solver | |
Ewoms::Properties::NEW_PROP_TAG (LinearSolverScalar) | |
The floating point type used internally by the linear solver. | |
Ewoms::Properties::NEW_PROP_TAG (LinearSolverOverlapSize) | |
The size of the algebraic overlap of the linear solver. More... | |
Ewoms::Properties::NEW_PROP_TAG (LinearSolverTolerance) | |
Maximum accepted error of the solution of the linear solver. | |
Ewoms::Properties::NEW_PROP_TAG (LinearSolverVerbosity) | |
Specifies the verbosity of the linear solver. More... | |
Ewoms::Properties::NEW_PROP_TAG (LinearSolverMaxIterations) | |
Maximum number of iterations eyecuted by the linear solver. | |
Ewoms::Properties::NEW_PROP_TAG (PreconditionerOrder) | |
The order of the sequential preconditioner. | |
Ewoms::Properties::NEW_PROP_TAG (PreconditionerRelaxation) | |
The relaxation factor of the preconditioner. | |
Ewoms::Properties::SET_INT_PROP (ParallelBaseLinearSolver, LinearSolverVerbosity, 0) | |
make the linear solver shut up by default | |
Ewoms::Properties::SET_SCALAR_PROP (ParallelBaseLinearSolver, PreconditionerRelaxation, 1.0) | |
set the preconditioner relaxation parameter to 1.0 by default | |
Ewoms::Properties::SET_INT_PROP (ParallelBaseLinearSolver, PreconditionerOrder, 0) | |
set the preconditioner order to 0 by default | |
Ewoms::Properties::SET_TYPE_PROP (ParallelBaseLinearSolver, LinearSolverScalar, typename GET_PROP_TYPE(TypeTag, Scalar)) | |
by default use the same kind of floating point values for the linearization and for the linear solve | |
Ewoms::Properties::SET_PROP (ParallelBaseLinearSolver, OverlappingMatrix) | |
Ewoms::Properties::SET_TYPE_PROP (ParallelBaseLinearSolver, Overlap, typename GET_PROP_TYPE(TypeTag, OverlappingMatrix)::Overlap) | |
Ewoms::Properties::SET_PROP (ParallelBaseLinearSolver, OverlappingVector) | |
Ewoms::Properties::SET_PROP (ParallelBaseLinearSolver, OverlappingScalarProduct) | |
Ewoms::Properties::SET_PROP (ParallelBaseLinearSolver, OverlappingLinearOperator) | |
Ewoms::Properties::SET_TYPE_PROP (ParallelBaseLinearSolver, PreconditionerWrapper, Ewoms::Linear::PreconditionerWrapperILU0< TypeTag >) | |
Ewoms::Properties::SET_INT_PROP (ParallelBaseLinearSolver, LinearSolverOverlapSize, 2) | |
set the default overlap size to 2 | |
Ewoms::Properties::SET_INT_PROP (ParallelBaseLinearSolver, LinearSolverMaxIterations, 1000) | |
set the default number of maximum iterations for the linear solver | |
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:
Where the choices possible for '$PRECONDITIONER'
are:
Jacobi:
A Jacobi preconditionerGaussSeidel:
A Gauss-Seidel preconditionerSSOR:
A symmetric successive overrelaxation (SSOR) preconditionerSOR:
A successive overrelaxation (SOR) preconditionerILUn:
An ILU(n) preconditionerILU0:
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