|
ThunderEgg
1.0.0
|
Base abstract class for cycles. More...
#include <Cycle.h>


Public Member Functions | |
| 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. | |
| virtual Operator< D > * | clone () const =0 |
| Clone this operator. More... | |
Protected Member Functions | |
| Vector< D > | restrict (const Level< D > &level, const Vector< D > &f, const Vector< D > &u) const |
| Prepare vectors for coarser level. More... | |
| virtual void | visit (const Level< D > &level, const Vector< D > &f, Vector< D > &u) const =0 |
| Virtual visit function that needs to be implemented in derived classes. More... | |
Base abstract class for cycles.
There is an abstract visit() function for base classes to implement.
|
inline |
Create new cycle object.
| finest_level | the finest level object. |
|
inlinevirtual |
Run one iteration of the cycle.
Performs one cycle on on the system Au=f where A is the operator for the finest level.
| f | the RHS vector. |
| u | the solution vector. |
Implements ThunderEgg::Operator< D >.
|
inline |
|
inlineprotected |
Prepare vectors for coarser level.
| level | the current level |
| f | the rhs vector cooresponding to the level |
| u | the solution vector cooresponding to the level |
|
protectedpure virtual |
Virtual visit function that needs to be implemented in derived classes.
| level | the level currently begin visited. |
| f | the rhs vector cooresponding to the level |
| u | the solution vector cooresponding to the level |
Implemented in ThunderEgg::GMG::FMGCycle< D >, ThunderEgg::GMG::WCycle< D >, and ThunderEgg::GMG::VCycle< D >.