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 > > | mg_dof_handler |
SmartPointer< Multigrid< VECTOR > > | multigrid |
SmartPointer< const TRANSFER > | transfer |
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
.
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.
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 [inline] |
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 [inline] |
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 [inline] |
Tranposed preconditioning operator.
Not implemented, but the definition may be needed.
void PreconditionMG< dim, VECTOR, TRANSFER >::Tvmult_add | ( | VECTOR2 & | dst, | |
const VECTOR2 & | src | |||
) | const [inline] |
Tranposed preconditioning operator.
Not implemented, but the definition may be needed.
SmartPointer<const MGDoFHandler<dim> > PreconditionMG< dim, VECTOR, TRANSFER >::mg_dof_handler [private] |
Associated MGDoFHandler
.
SmartPointer<Multigrid<VECTOR> > PreconditionMG< dim, VECTOR, TRANSFER >::multigrid [private] |
The multigrid object.
SmartPointer<const TRANSFER> PreconditionMG< dim, VECTOR, TRANSFER >::transfer [private] |
Object for grid tranfer.