![]() |
Reference documentation for deal.II version 8.4.2
|
#include <deal.II/multigrid/multigrid.h>
Public Member Functions | |
| PreconditionMG (const DoFHandler< dim > &dof_handler, Multigrid< VectorType > &mg, const TRANSFER &transfer) | |
| bool | empty () const |
| template<class OtherVectorType > | |
| void | vmult (OtherVectorType &dst, const OtherVectorType &src) const |
| template<class OtherVectorType > | |
| void | vmult_add (OtherVectorType &dst, const OtherVectorType &src) const |
| template<class OtherVectorType > | |
| void | Tvmult (OtherVectorType &dst, const OtherVectorType &src) const |
| template<class OtherVectorType > | |
| void | Tvmult_add (OtherVectorType &dst, const OtherVectorType &src) const |
Public Member Functions inherited from Subscriptor | |
| 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."<< "\"<< "(Additional information: "<< arg3<< ")\"<< "See the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "a lot more information on what this error means and "<< "how to fix programs in which it happens.") | |
| DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier <"<< arg2<< "> subscribes to this object of class "<< arg1<< ". Consequently, it cannot be unsubscribed.") | |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
| SmartPointer< const DoFHandler< dim >, PreconditionMG< dim, VectorType, TRANSFER > > | dof_handler |
| SmartPointer< Multigrid< VectorType >, PreconditionMG< dim, VectorType, TRANSFER > > | multigrid |
| SmartPointer< const TRANSFER, PreconditionMG< dim, VectorType, 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 VectorType&) to store src in the right hand side of the multi-level method and void copy_from_mg(VectorType&) to store the result of the v-cycle in dst.
Definition at line 350 of file multigrid.h.
| PreconditionMG< dim, VectorType, TRANSFER >::PreconditionMG | ( | const DoFHandler< dim > & | dof_handler, |
| Multigrid< VectorType > & | mg, | ||
| const TRANSFER & | transfer | ||
| ) |
Constructor. Arguments are the multigrid object, pre-smoother, post- smoother and coarse grid solver.
| bool PreconditionMG< dim, VectorType, TRANSFER >::empty | ( | ) | const |
Dummy function needed by other classes.
| void PreconditionMG< dim, VectorType, TRANSFER >::vmult | ( | OtherVectorType & | dst, |
| const OtherVectorType & | 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, VectorType, TRANSFER >::vmult_add | ( | OtherVectorType & | dst, |
| const OtherVectorType & | src | ||
| ) | const |
Preconditioning operator. Calls the vcycle function of the MG object passed to the constructor.
| void PreconditionMG< dim, VectorType, TRANSFER >::Tvmult | ( | OtherVectorType & | dst, |
| const OtherVectorType & | src | ||
| ) | const |
Tranposed preconditioning operator.
Not implemented, but the definition may be needed.
| void PreconditionMG< dim, VectorType, TRANSFER >::Tvmult_add | ( | OtherVectorType & | dst, |
| const OtherVectorType & | src | ||
| ) | const |
Tranposed preconditioning operator.
Not implemented, but the definition may be needed.
|
private |
Associated DoFHandler.
Definition at line 406 of file multigrid.h.
|
private |
The multigrid object.
Definition at line 411 of file multigrid.h.
|
private |
Object for grid tranfer.
Definition at line 416 of file multigrid.h.
1.8.12