Ewoms::Linear::ParallelAmgBackend< TypeTag > Class Template Reference

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)
 
 ~ParallelAmgBackend ()
 
void setStructureMatrix (const Matrix &M)
 Set the structure of the linear system of equations to be solved. More...
 
bool solve (const Matrix &M, Vector &x, Vector &b)
 Actually solve the linear system of equations. More...
 

Static Public Member Functions

static void registerParameters ()
 

Detailed Description

template<class TypeTag>
class Ewoms::Linear::ParallelAmgBackend< TypeTag >

Provides a linear solver backend using the parallel algebraic multi-grid (AMG) linear solver from DUNE-ISTL.

Constructor & Destructor Documentation

template<class TypeTag >
Ewoms::Linear::ParallelAmgBackend< TypeTag >::ParallelAmgBackend ( const Simulator simulator)
inline
template<class TypeTag >
Ewoms::Linear::ParallelAmgBackend< TypeTag >::~ParallelAmgBackend ( )
inline

Member Function Documentation

template<class TypeTag >
static void Ewoms::Linear::ParallelAmgBackend< TypeTag >::registerParameters ( )
inlinestatic
template<class TypeTag >
void Ewoms::Linear::ParallelAmgBackend< TypeTag >::setStructureMatrix ( const Matrix &  M)
inline

Set the structure of the linear system of equations to be solved.

This method allocates space an does the necessary communication before actually calling the solve() method. As long as the structure of the linear system does not change, the solve method can be called arbitrarily often.

template<class TypeTag >
bool Ewoms::Linear::ParallelAmgBackend< TypeTag >::solve ( const Matrix &  M,
Vector &  x,
Vector &  b 
)
inline

Actually solve the linear system of equations.

Returns
true if the residual reduction could be achieved, else false.

References EWOMS_GET_PARAM, Ewoms::Simulator< TypeTag >::gridManager(), Ewoms::Simulator< TypeTag >::gridView(), and Ewoms::Simulator< TypeTag >::model().


The documentation for this class was generated from the following file: