Provides a linear solver backend using the parallel algebraic multi-grid (AMG) linear solver from DUNE-ISTL. More...
#include <parallelamgbackend.hh>
Public Member Functions | |
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 | prepareMatrix (const Matrix &M) |
void | prepareRhs (const Matrix &M, Vector &b) |
bool | solve (Vector &x) |
Actually solve the linear system of equations. More... | |
Static Public Member Functions | |
static void | registerParameters () |
![]() | |
static void | registerParameters () |
Register all run-time parameters for the linear solver. | |
Protected Member Functions | |
std::shared_ptr< AMG > | preparePreconditioner_ () |
void | cleanupPreconditioner_ () |
std::shared_ptr< RawLinearSolver > | prepareSolver_ (ParallelOperator &parOperator, ParallelScalarProduct &parScalarProduct, AMG &parPreCond) |
bool | runSolver_ (std::shared_ptr< RawLinearSolver > solver) |
void | cleanupSolver_ () |
void | setupAmg_ () |
![]() | |
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_ () |
Protected Attributes | |
friend | ParentType |
std::unique_ptr < ConvergenceCriterion < OverlappingVector > > | convCrit_ |
std::shared_ptr< FineOperator > | fineOperator_ |
std::shared_ptr< AMG > | amg_ |
![]() | |
const Simulator & | simulator_ |
int | gridSequenceNumber_ |
OverlappingMatrix * | overlappingMatrix_ |
OverlappingVector * | overlappingb_ |
OverlappingVector * | overlappingx_ |
PreconditionerWrapper | precWrapper_ |
Additional Inherited Members | |
![]() | |
enum | { dimWorld = GridView::dimensionworld } |
typedef PreconditionerWrapper::SequentialPreconditioner | SequentialPreconditioner |
typedef Ewoms::Linear::OverlappingPreconditioner < SequentialPreconditioner, Overlap > | ParallelPreconditioner |
typedef Ewoms::Linear::OverlappingScalarProduct < OverlappingVector, Overlap > | ParallelScalarProduct |
typedef Ewoms::Linear::OverlappingOperator < OverlappingMatrix, OverlappingVector, OverlappingVector > | ParallelOperator |
Provides a linear solver backend using the parallel algebraic multi-grid (AMG) linear solver from DUNE-ISTL.