Reference documentation for deal.II version 8.5.1
|
#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 |
IndexSet | locally_owned_range_indices () const |
IndexSet | locally_owned_domain_indices () const |
MPI_Comm | get_mpi_communicator () const |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
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 |
Additional Inherited Members | |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, char *arg2, std::string &arg3) |
static ::ExceptionBase & | ExcNoSubscriber (char *arg1, char *arg2) |
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 362 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.
IndexSet PreconditionMG< dim, VectorType, TRANSFER >::locally_owned_range_indices | ( | ) | const |
Return the partitioning of the range space of this preconditioner, i.e., the partitioning of the vectors that are result from matrix-vector products.
IndexSet PreconditionMG< dim, VectorType, TRANSFER >::locally_owned_domain_indices | ( | ) | const |
Return the partitioning of the domain space of this preconditioner, i.e., the partitioning of the vectors this matrix has to be multiplied with.
MPI_Comm PreconditionMG< dim, VectorType, TRANSFER >::get_mpi_communicator | ( | ) | const |
Return the MPI communicator object in use with this preconditioner.
|
private |
Associated DoFHandler
.
Definition at line 433 of file multigrid.h.
|
private |
The multigrid object.
Definition at line 438 of file multigrid.h.
|
private |
Object for grid tranfer.
Definition at line 443 of file multigrid.h.