Public Member Functions | Private Attributes

PreconditionMG< dim, VECTOR, TRANSFER > Class Template Reference
[Multilevel support]

Inheritance diagram for PreconditionMG< dim, VECTOR, TRANSFER >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PreconditionMG (const MGDoFHandler< dim > &mg_dof, Multigrid< VECTOR > &mg, const TRANSFER &transfer)
bool empty () const
template<class VECTOR2 >
void vmult (VECTOR2 &dst, const VECTOR2 &src) const
template<class VECTOR2 >
void vmult_add (VECTOR2 &dst, const VECTOR2 &src) const
template<class VECTOR2 >
void Tvmult (VECTOR2 &dst, const VECTOR2 &src) const
template<class VECTOR2 >
void Tvmult_add (VECTOR2 &dst, const VECTOR2 &src) const

Private Attributes

SmartPointer< const
MGDoFHandler< dim >
, PreconditionMG< dim, VECTOR,
TRANSFER > > 
mg_dof_handler
SmartPointer< Multigrid
< VECTOR >, PreconditionMG
< dim, VECTOR, TRANSFER > > 
multigrid
SmartPointer< const TRANSFER,
PreconditionMG< dim, VECTOR,
TRANSFER > > 
transfer

Detailed Description

template<int dim, class VECTOR, class TRANSFER>
class PreconditionMG< dim, VECTOR, TRANSFER >

Multi-level preconditioner. Here, we collect all information needed for multi-level preconditioning and provide the standard interface for LAC iterative methods.

Furthermore, it needs functions void copy_to_mg(const VECTOR&) to store src in the right hand side of the multi-level method and void copy_from_mg(VECTOR&) to store the result of the v-cycle in dst.

Author:
Guido Kanschat, 1999, 2000, 2001, 2002

Definition at line 506 of file multigrid.h.


Constructor & Destructor Documentation

template<int dim, class VECTOR, class TRANSFER>
PreconditionMG< dim, VECTOR, TRANSFER >::PreconditionMG ( const MGDoFHandler< dim > &  mg_dof,
Multigrid< VECTOR > &  mg,
const TRANSFER &  transfer 
)

Constructor. Arguments are the multigrid object, pre-smoother, post-smoother and coarse grid solver.


Member Function Documentation

template<int dim, class VECTOR, class TRANSFER>
bool PreconditionMG< dim, VECTOR, TRANSFER >::empty (  ) const

Dummy function needed by other classes.

template<int dim, class VECTOR, class TRANSFER>
template<class VECTOR2 >
void PreconditionMG< dim, VECTOR, TRANSFER >::vmult ( VECTOR2 &  dst,
const VECTOR2 &  src 
) const

Preconditioning operator. Calls the vcycle function of the MG object passed to the constructor.

This is the operator used by LAC iterative solvers.

template<int dim, class VECTOR, class TRANSFER>
template<class VECTOR2 >
void PreconditionMG< dim, VECTOR, TRANSFER >::vmult_add ( VECTOR2 &  dst,
const VECTOR2 &  src 
) const

Preconditioning operator. Calls the vcycle function of the MG object passed to the constructor.

template<int dim, class VECTOR, class TRANSFER>
template<class VECTOR2 >
void PreconditionMG< dim, VECTOR, TRANSFER >::Tvmult ( VECTOR2 &  dst,
const VECTOR2 &  src 
) const

Tranposed preconditioning operator.

Not implemented, but the definition may be needed.

template<int dim, class VECTOR, class TRANSFER>
template<class VECTOR2 >
void PreconditionMG< dim, VECTOR, TRANSFER >::Tvmult_add ( VECTOR2 &  dst,
const VECTOR2 &  src 
) const

Tranposed preconditioning operator.

Not implemented, but the definition may be needed.


Member Data Documentation

template<int dim, class VECTOR, class TRANSFER>
SmartPointer<const MGDoFHandler<dim>,PreconditionMG<dim,VECTOR,TRANSFER> > PreconditionMG< dim, VECTOR, TRANSFER >::mg_dof_handler [private]

Associated MGDoFHandler.

Definition at line 571 of file multigrid.h.

template<int dim, class VECTOR, class TRANSFER>
SmartPointer<Multigrid<VECTOR>,PreconditionMG<dim,VECTOR,TRANSFER> > PreconditionMG< dim, VECTOR, TRANSFER >::multigrid [private]

The multigrid object.

Definition at line 576 of file multigrid.h.

template<int dim, class VECTOR, class TRANSFER>
SmartPointer<const TRANSFER,PreconditionMG<dim,VECTOR,TRANSFER> > PreconditionMG< dim, VECTOR, TRANSFER >::transfer [private]

Object for grid tranfer.

Definition at line 581 of file multigrid.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:10 by doxygen 1.7.2