|
ThunderEgg
1.0.0
|
Solves the problem on the patches using a specified interface value. More...
#include <PatchSolver.h>


Public Member Functions | |
| PatchSolver (const Domain< D > &domain, const GhostFiller< D > &ghost_filler) | |
| Construct a new PatchSolver object. More... | |
| virtual | ~PatchSolver () |
| Destroy the Patch Solver object. | |
| virtual PatchSolver< D > * | clone () const override=0 |
| Clone this patch solver. More... | |
| const Domain< D > & | getDomain () const |
| Get the Domain object. More... | |
| const GhostFiller< D > & | getGhostFiller () const |
| Get the GhostFiller object. More... | |
| virtual void | solveSinglePatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &f_view, const PatchView< double, D > &u_view) const =0 |
| Perform a single solve over a patch. More... | |
| virtual void | apply (const Vector< D > &f, Vector< D > &u) const override |
| Solve all the patches in the domain, assuming zero boundary conditions for the patches. More... | |
| virtual void | smooth (const Vector< D > &f, Vector< D > &u) const override |
| Solve all the patches in the domain, using the values in u for the boundary conditions. More... | |
Public Member Functions inherited from ThunderEgg::Operator< D > | |
| virtual | ~Operator () |
| Destroy the Operator object. | |
Public Member Functions inherited from ThunderEgg::GMG::Smoother< D > | |
| virtual | ~Smoother () |
| Destroy the Smoother object. | |
Solves the problem on the patches using a specified interface value.
| D | the number of cartesian dimensions |
|
inline |
Construct a new PatchSolver object.
This sets the Domain and the GhostFiller that the object uses.
| domain | the Domain |
| ghost_filler | the GhostFiller |
|
inlineoverridevirtual |
Solve all the patches in the domain, assuming zero boundary conditions for the patches.
| f | the rhs vector |
| u | the lhs vector |
Implements ThunderEgg::Operator< D >.
|
overridepure virtual |
Clone this patch solver.
Implements ThunderEgg::GMG::Smoother< D >.
Implemented in ThunderEgg::Poisson::DFTPatchSolver< D >, ThunderEgg::Poisson::FFTWPatchSolver< D >, and ThunderEgg::Iterative::PatchSolver< D >.
|
inline |
|
inline |
Get the GhostFiller object.
|
inlineoverridevirtual |
Solve all the patches in the domain, using the values in u for the boundary conditions.
| f | the rhs vector |
| u | the lhs vector |
Implements ThunderEgg::GMG::Smoother< D >.
|
pure virtual |
Perform a single solve over a patch.
| pinfo | the PatchInfo for the patch |
| f_view | the left hand side |
| u_view | the right hand side |
Implemented in ThunderEgg::Poisson::DFTPatchSolver< D >, ThunderEgg::Poisson::FFTWPatchSolver< D >, and ThunderEgg::Iterative::PatchSolver< D >.