MGCoarseGridLACIteration< SOLVER, VECTOR > Class Template Reference
[Multilevel support]

Inheritance diagram for MGCoarseGridLACIteration< SOLVER, VECTOR >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MGCoarseGridLACIteration ()
template<class MATRIX , class PRECOND >
 MGCoarseGridLACIteration (SOLVER &, const MATRIX &, const PRECOND &)
 ~MGCoarseGridLACIteration ()
template<class MATRIX , class PRECOND >
void initialize (SOLVER &, const MATRIX &, const PRECOND &)
void clear ()
void operator() (const unsigned int level, VECTOR &dst, const VECTOR &src) const
template<class MATRIX >
void set_matrix (const MATRIX &)

Private Attributes

SmartPointer< SOLVERsolver
PointerMatrixBase< VECTOR > * matrix
PointerMatrixBase< VECTOR > * precondition

Detailed Description

template<class SOLVER, class VECTOR = Vector<double>>
class MGCoarseGridLACIteration< SOLVER, VECTOR >

Coarse grid solver using LAC iterative methods. This is a little wrapper, transforming a triplet of iterative solver, matrix and preconditioner into a coarse grid solver.

The type of the matrix (i.e. the template parameter MATRIX) should be derived from Subscriptor to allow for the use of a smart pointer to it.

Author:
Guido Kanschat, 1999, Ralf Hartmann, 2002.

Constructor & Destructor Documentation

template<class SOLVER , class VECTOR = Vector<double>>
MGCoarseGridLACIteration< SOLVER, VECTOR >::MGCoarseGridLACIteration (  ) 

Default constructor.

template<class SOLVER , class VECTOR = Vector<double>>
template<class MATRIX , class PRECOND >
MGCoarseGridLACIteration< SOLVER, VECTOR >::MGCoarseGridLACIteration ( SOLVER ,
const MATRIX &  ,
const PRECOND &   
) [inline]

Constructor. Store solver, matrix and preconditioning method for later use.

template<class SOLVER , class VECTOR = Vector<double>>
MGCoarseGridLACIteration< SOLVER, VECTOR >::~MGCoarseGridLACIteration (  ) 

Destructor freeing the pointers.


Member Function Documentation

template<class SOLVER , class VECTOR = Vector<double>>
template<class MATRIX , class PRECOND >
void MGCoarseGridLACIteration< SOLVER, VECTOR >::initialize ( SOLVER ,
const MATRIX &  ,
const PRECOND &   
) [inline]

Initialize new data.

template<class SOLVER , class VECTOR = Vector<double>>
void MGCoarseGridLACIteration< SOLVER, VECTOR >::clear (  ) 

Clear all pointers.

template<class SOLVER , class VECTOR = Vector<double>>
void MGCoarseGridLACIteration< SOLVER, VECTOR >::operator() ( const unsigned int  level,
VECTOR &  dst,
const VECTOR &  src 
) const [virtual]

Implementation of the abstract function. Calls the solver method with matrix, vectors and preconditioner.

Implements MGCoarseGridBase< VECTOR >.

template<class SOLVER , class VECTOR = Vector<double>>
template<class MATRIX >
void MGCoarseGridLACIteration< SOLVER, VECTOR >::set_matrix ( const MATRIX &   )  [inline]

Sets the matrix. This gives the possibility to replace the matrix that was given to the constructor by a new matrix.


Member Data Documentation

template<class SOLVER , class VECTOR = Vector<double>>
SmartPointer<SOLVER> MGCoarseGridLACIteration< SOLVER, VECTOR >::solver [private]

Reference to the solver.

template<class SOLVER , class VECTOR = Vector<double>>
PointerMatrixBase<VECTOR>* MGCoarseGridLACIteration< SOLVER, VECTOR >::matrix [private]

Reference to the matrix.

template<class SOLVER , class VECTOR = Vector<double>>
PointerMatrixBase<VECTOR>* MGCoarseGridLACIteration< SOLVER, VECTOR >::precondition [private]

Reference to the preconditioner.


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

deal.II documentation generated on Mon Nov 23 22:57:55 2009 by doxygen 1.6.1