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

Implementation of a W-cycle. More...

#include <WCycle.h>

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

Public Member Functions

 WCycle (const Level< D > &finest_level, const CycleOpts &opts)
 Create new W-cycle. More...
 
WCycle< D > * clone () const override
 Get a clone of this WCycle. 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
 Implements W-cycle. Pre-smooth, visit coarser level, smooth, visit coarse level, and then post-smooth. 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::WCycle< D >

Implementation of a W-cycle.

Constructor & Destructor Documentation

◆ WCycle()

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

Create new W-cycle.

Parameters
finest_levela pointer to the finest level

Member Function Documentation

◆ clone()

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

Get a clone of this WCycle.

Returns
WCycle<D>* a newly allocated copy

Implements ThunderEgg::Operator< D >.

◆ visit()

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

Implements W-cycle. Pre-smooth, visit coarser level, smooth, visit coarse level, and then post-smooth.

Parameters
levelthe current level that is being visited.

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


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