ThunderEgg
1.0.0
|
Parallell ghostfiller implimented with MPI. More...
#include <MPIGhostFiller.h>
Public Member Functions | |
MPIGhostFiller (const Domain< D > &domain, GhostFillingType fill_type) | |
Construct a new MPIGhostFiller object. More... | |
virtual void | fillGhostCellsForNbrPatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &local_view, const PatchView< const double, D > &nbr_view, Side< D > side, NbrType nbr_type, Orthant< D - 1 > orthant_on_coarse) const =0 |
Fill the ghost cells for the neighboring patch. More... | |
virtual void | fillGhostCellsForEdgeNbrPatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &local_view, const PatchView< const double, D > &nbr_view, Edge edge, NbrType nbr_type, Orthant< 1 > orthant_on_coarse) const =0 |
Fill the edge ghost cells for the neighboring patch. More... | |
virtual void | fillGhostCellsForCornerNbrPatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &local_view, const PatchView< const double, D > &nbr_view, Corner< D > corner, NbrType nbr_type) const =0 |
Fill the corner ghost cells for the neighboring patch. More... | |
virtual void | fillGhostCellsForLocalPatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &view) const =0 |
Perform any on this patches ghost cells. More... | |
void | fillGhost (const Vector< D > &u) const override |
Fill ghost cells on a vector. More... | |
GhostFillingType | getFillType () const |
Get the ghost filling type. More... | |
const Domain< D > & | getDomain () const |
Get the domain that is being filled for. More... | |
Public Member Functions inherited from ThunderEgg::GhostFiller< D > | |
virtual GhostFiller< D > * | clone () const =0 |
Clone this GhostFiller. More... | |
Parallell ghostfiller implimented with MPI.
There are three functions that have to be overridden in derived classes. fillGhostCellsForNbrPatch, fillGhostCellsForEdgeNbrPatch, fillGhostCellsForCornerNbrPatch, and fillGhostCellsForLocalPatch
D | the number of Cartesian dimensions |
|
inline |
Construct a new MPIGhostFiller object.
domain | the domain being used |
fill_type | the number of side cases to address |
|
inlineoverridevirtual |
|
pure virtual |
Fill the corner ghost cells for the neighboring patch.
pinfo | the patch that ghost cells are being filled from |
local_view | the view for patch that ghost cells are being filled from |
nbr_view | the view for the neighboring patch, where ghost cells are being filled. |
corner | the edge that the neighboring patch is on |
nbr_type | the type of neighbor |
|
pure virtual |
Fill the edge ghost cells for the neighboring patch.
pinfo | the patch that ghost cells are being filled from |
local_view | the view for patch that ghost cells are being filled from |
nbr_view | the view for the neighboring patch, where ghost cells are being filled. |
edge | the edge that the neighboring patch is on |
nbr_type | the type of neighbor |
orthant_on_coarse | the orthant that the neighbors ghost cells lie on if the neighbor is coarser |
|
pure virtual |
Perform any on this patches ghost cells.
This may be necessary on some schemes because it needs data from the patch itself, not just the neighboring patch
pinfo | the patch |
view | the view for the patch |
|
pure virtual |
Fill the ghost cells for the neighboring patch.
pinfo | the patch that ghost cells are being filled from |
local_vew | the view for patch that ghost cells are being filled from |
nbr_view | the view for the neighboring patch, where ghost cells are being filled. |
side | the side that the neighboring patch is on |
nbr_type | the type of neighbor |
orthant_on_coarse | the orthant that the neighbors ghost cells lie on if the neighbor is coarser |
|
inline |
Get the domain that is being filled for.
|
inline |
Get the ghost filling type.