![]() |
Reference documentation for deal.II version 8.1.0
|
#include <multigrid.h>
Public Member Functions | |
PreconditionMG (const DoFHandler< dim > &dof_handler, 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 |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.") | |
DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1) | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
SmartPointer< const DoFHandler< dim >, PreconditionMG< dim, VECTOR, TRANSFER > > | dof_handler |
SmartPointer< Multigrid< VECTOR >, PreconditionMG< dim, VECTOR, TRANSFER > > | multigrid |
SmartPointer< const TRANSFER, PreconditionMG< dim, VECTOR, TRANSFER > > | 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
.
Definition at line 511 of file multigrid.h.
PreconditionMG< dim, VECTOR, TRANSFER >::PreconditionMG | ( | const DoFHandler< dim > & | dof_handler, |
Multigrid< VECTOR > & | mg, | ||
const TRANSFER & | transfer | ||
) |
Constructor. Arguments are the multigrid object, pre-smoother, post-smoother and coarse grid solver.
bool PreconditionMG< dim, VECTOR, TRANSFER >::empty | ( | ) | const |
Dummy function needed by other classes.
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.
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.
void PreconditionMG< dim, VECTOR, TRANSFER >::Tvmult | ( | VECTOR2 & | dst, |
const VECTOR2 & | src | ||
) | const |
Tranposed preconditioning operator.
Not implemented, but the definition may be needed.
void PreconditionMG< dim, VECTOR, TRANSFER >::Tvmult_add | ( | VECTOR2 & | dst, |
const VECTOR2 & | src | ||
) | const |
Tranposed preconditioning operator.
Not implemented, but the definition may be needed.
|
private |
Associated DoFHandler
.
Definition at line 576 of file multigrid.h.
|
private |
The multigrid object.
Definition at line 581 of file multigrid.h.
|
private |
Object for grid tranfer.
Definition at line 586 of file multigrid.h.