ThunderEgg
1.0.0
|
Performs trilinear interpolation on coarse-fine boundaries of patches. More...
#include <TriLinearGhostFiller.h>
Public Member Functions | |
void | fillGhostCellsForNbrPatch (const PatchInfo< 3 > &pinfo, const PatchView< const double, 3 > &local_view, const PatchView< const double, 3 > &nbr_view, Side< 3 > side, NbrType nbr_type, Orthant< 2 > orthant_on_coarse) const override |
void | fillGhostCellsForEdgeNbrPatch (const PatchInfo< 3 > &pinfo, const PatchView< const double, 3 > &local_view, const PatchView< const double, 3 > &nbr_view, Edge edge, NbrType nbr_type, Orthant< 1 > orthant_on_coarse) const override |
void | fillGhostCellsForCornerNbrPatch (const PatchInfo< 3 > &pinfo, const PatchView< const double, 3 > &local_view, const PatchView< const double, 3 > &nbr_view, Corner< 3 > corner, NbrType nbr_type) const override |
void | fillGhostCellsForLocalPatch (const PatchInfo< 3 > &pinfo, const PatchView< const double, 3 > &view) const override |
TriLinearGhostFiller (const Domain< 3 > &domain, GhostFillingType fill_type) | |
Construct a new TriLinearGhostFiller object. More... | |
TriLinearGhostFiller * | clone () const override |
Clone this TriLienarGhostFiller. More... | |
Public Member Functions inherited from ThunderEgg::MPIGhostFiller< 3 > | |
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... | |
Performs trilinear interpolation on coarse-fine boundaries of patches.
It only uses the coarse cell, and the four cooresponding fine cells to interpolate on the coarse-fine boundary.
ThunderEgg::TriLinearGhostFiller::TriLinearGhostFiller | ( | const Domain< 3 > & | domain, |
GhostFillingType | fill_type | ||
) |
Construct a new TriLinearGhostFiller object.
Currently, this only supports an even number of cells on each axis of the patch
domain | the domain on which ghosts will be filled |
fill_type | the ghost filling type to perform |
|
overridevirtual |
Clone this TriLienarGhostFiller.
Implements ThunderEgg::GhostFiller< D >.