|
opm-simulators
|
Provides all unmodified linear solvers from dune-istl. More...
#include <parallelistlbackend.hh>
Public Member Functions | |
| ParallelIstlSolverBackend (const Simulator &simulator) | |
Public Member Functions inherited from Opm::Linear::ParallelBaseBackend< TypeTag > | |
| ParallelBaseBackend (const Simulator &simulator) | |
| void | eraseMatrix () |
| Causes the solve() method to discared the structure of the linear system of equations the next time it is called. | |
| void | prepare (const SparseMatrixAdapter &M, const Vector &) |
| Set up the internal data structures required for the linear solver. More... | |
| void | setResidual (const Vector &b) |
| Assign values to the internal data structure for the residual vector. More... | |
| void | getResidual (Vector &b) const |
| Retrieve the synchronized internal residual vector. More... | |
| void | setMatrix (const SparseMatrixAdapter &M) |
| Sets the values of the residual's Jacobian matrix. More... | |
| bool | solve (Vector &x) |
| Actually solve the linear system of equations. More... | |
| size_t | iterations () const |
| Return number of iterations used during last solve. | |
Static Public Member Functions | |
| static void | registerParameters () |
| Register all run-time parameters for the linear solver. | |
Static Public Member Functions inherited from Opm::Linear::ParallelBaseBackend< TypeTag > | |
| static void | registerParameters () |
| Register all run-time parameters for the linear solver. | |
Protected Member Functions | |
| std::shared_ptr< RawLinearSolver > | prepareSolver_ (ParallelOperator &parOperator, ParallelScalarProduct &parScalarProduct, ParallelPreconditioner &parPreCond) |
| void | cleanupSolver_ () |
| std::pair< bool, int > | runSolver_ (std::shared_ptr< RawLinearSolver > solver) |
Protected Member Functions inherited from Opm::Linear::ParallelBaseBackend< TypeTag > | |
| Implementation & | asImp_ () |
| const Implementation & | asImp_ () const |
| void | cleanup_ () |
| std::shared_ptr< ParallelPreconditioner > | preparePreconditioner_ () |
| void | cleanupPreconditioner_ () |
| void | writeOverlapToVTK_ () |
Protected Attributes | |
| friend | ParentType |
| LinearSolverWrapper | solverWrapper_ |
Protected Attributes inherited from Opm::Linear::ParallelBaseBackend< TypeTag > | |
| const Simulator & | simulator_ |
| int | gridSequenceNumber_ |
| size_t | lastIterations_ |
| OverlappingMatrix * | overlappingMatrix_ |
| OverlappingVector * | overlappingb_ |
| OverlappingVector * | overlappingx_ |
| PreconditionerWrapper | precWrapper_ |
Additional Inherited Members | |
Protected Types inherited from Opm::Linear::ParallelBaseBackend< TypeTag > | |
| enum | { dimWorld = GridView::dimensionworld } |
| using | Implementation = GetPropType< TypeTag, Properties::LinearSolverBackend > |
| using | Simulator = GetPropType< TypeTag, Properties::Simulator > |
| using | Scalar = GetPropType< TypeTag, Properties::Scalar > |
| using | LinearSolverScalar = GetPropType< TypeTag, Properties::LinearSolverScalar > |
| using | SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter > |
| using | Vector = GetPropType< TypeTag, Properties::GlobalEqVector > |
| using | BorderListCreator = GetPropType< TypeTag, Properties::BorderListCreator > |
| using | GridView = GetPropType< TypeTag, Properties::GridView > |
| using | Overlap = GetPropType< TypeTag, Properties::Overlap > |
| using | OverlappingVector = GetPropType< TypeTag, Properties::OverlappingVector > |
| using | OverlappingMatrix = GetPropType< TypeTag, Properties::OverlappingMatrix > |
| using | PreconditionerWrapper = GetPropType< TypeTag, Properties::PreconditionerWrapper > |
| using | SequentialPreconditioner = typename PreconditionerWrapper::SequentialPreconditioner |
| using | ParallelPreconditioner = Opm::Linear::OverlappingPreconditioner< SequentialPreconditioner, Overlap > |
| using | ParallelScalarProduct = Opm::Linear::OverlappingScalarProduct< OverlappingVector, Overlap > |
| using | ParallelOperator = Opm::Linear::OverlappingOperator< OverlappingMatrix, OverlappingVector, OverlappingVector > |
Provides all unmodified linear solvers from dune-istl.
To set the linear solver, use
The possible choices for '$SOLVER' are:
Richardson: A fixpoint solver using the Richardson iterationSteepestDescent: The steepest descent solverConjugatedGradients: A conjugated gradients solverBiCGStab: A stabilized bi-conjugated gradients solverMinRes: A solver based on the minimized residual algorithmRestartedGMRes: A restarted GMRES solverChosing the preconditioner works in an analogous way:
Where the choices possible for '$PRECONDITIONER' are: