Provides a linear solver backend using the parallel algebraic multi-grid (AMG) linear solver from DUNE-ISTL.
More...
|
|
| ParallelAmgBackend (const Simulator &simulator) |
| |
|
| 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.
|
| |
|
|
std::shared_ptr< AMG > | preparePreconditioner_ () |
| |
|
void | cleanupPreconditioner_ () |
| |
|
std::shared_ptr< RawLinearSolver > | prepareSolver_ (ParallelOperator &parOperator, ParallelScalarProduct &parScalarProduct, AMG &parPreCond) |
| |
|
std::pair< bool, int > | runSolver_ (std::shared_ptr< RawLinearSolver > solver) |
| |
|
void | cleanupSolver_ () |
| |
|
template<typename C > |
| auto | setUseFixedOrder (C criterion, bool booleanValue) -> decltype(criterion.setUseFixedOrder(booleanValue)) |
| |
|
template<typename C > |
| void | setUseFixedOrder (C,...) |
| |
|
void | setupAmg_ () |
| |
|
Implementation & | asImp_ () |
| |
|
const Implementation & | asImp_ () const |
| |
|
void | cleanup_ () |
| |
|
std::shared_ptr< ParallelPreconditioner > | preparePreconditioner_ () |
| |
|
void | cleanupPreconditioner_ () |
| |
|
void | writeOverlapToVTK_ () |
| |
|
| 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 > |
| |
template<class TypeTag>
class Opm::Linear::ParallelAmgBackend< TypeTag >
Provides a linear solver backend using the parallel algebraic multi-grid (AMG) linear solver from DUNE-ISTL.