ThunderEgg  1.0.0
ThunderEgg::GMG::FMGCycle< D > Class Template Reference

Implementation of a full multigrid cycle. More...

#include <FMGCycle.h>

Inheritance diagram for ThunderEgg::GMG::FMGCycle< D >:
Collaboration diagram for ThunderEgg::GMG::FMGCycle< D >:

Public Member Functions

 FMGCycle (const Level< D > &finest_level, const CycleOpts &opts)
 Create new FMGCycle. More...
 
FMGCycle< D > * clone () const override
 Get a clone of this FMGCycle. More...
 
- Public Member Functions inherited from ThunderEgg::GMG::Cycle< D >
 Cycle (const Level< D > &finest_level)
 Create new cycle object. More...
 
void apply (const Vector< D > &f, Vector< D > &u) const
 Run one iteration of the cycle. More...
 
const Level< D > & getFinestLevel () const
 Get the finest Level. More...
 
- Public Member Functions inherited from ThunderEgg::Operator< D >
virtual ~Operator ()
 Destroy the Operator object.
 

Protected Member Functions

void visit (const Level< D > &level, const Vector< D > &f, Vector< D > &u) const override
 Virtual visit function that needs to be implemented in derived classes. More...
 
- Protected Member Functions inherited from ThunderEgg::GMG::Cycle< D >
Vector< D > restrict (const Level< D > &level, const Vector< D > &f, const Vector< D > &u) const
 Prepare vectors for coarser level. More...
 

Detailed Description

template<int D>
class ThunderEgg::GMG::FMGCycle< D >

Implementation of a full multigrid cycle.

Constructor & Destructor Documentation

◆ FMGCycle()

template<int D>
ThunderEgg::GMG::FMGCycle< D >::FMGCycle ( const Level< D > &  finest_level,
const CycleOpts opts 
)
inline

Create new FMGCycle.

Parameters
finest_levelthe finest level
optsthe options for the cycle pre, post, coarse, and mid sweeps are used

Member Function Documentation

◆ clone()

template<int D>
FMGCycle<D>* ThunderEgg::GMG::FMGCycle< D >::clone ( ) const
inlineoverridevirtual

Get a clone of this FMGCycle.

Returns
FMGCycle<D>* a newly allocated copy

Implements ThunderEgg::Operator< D >.

◆ visit()

template<int D>
void ThunderEgg::GMG::FMGCycle< D >::visit ( const Level< D > &  level,
const Vector< D > &  f,
Vector< D > &  u 
) const
inlineoverrideprotectedvirtual

Virtual visit function that needs to be implemented in derived classes.

Parameters
levelthe level currently begin visited.
fthe rhs vector cooresponding to the level
uthe solution vector cooresponding to the level

Implements ThunderEgg::GMG::Cycle< D >.


The documentation for this class was generated from the following file: