ThunderEgg  1.0.0
ThunderEgg::TriLinearGhostFiller Class Reference

Performs trilinear interpolation on coarse-fine boundaries of patches. More...

#include <TriLinearGhostFiller.h>

Inheritance diagram for ThunderEgg::TriLinearGhostFiller:
Collaboration diagram for ThunderEgg::TriLinearGhostFiller:

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...
 
TriLinearGhostFillerclone () 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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ TriLinearGhostFiller()

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

Parameters
domainthe domain on which ghosts will be filled
fill_typethe ghost filling type to perform

Member Function Documentation

◆ clone()

TriLinearGhostFiller* ThunderEgg::TriLinearGhostFiller::clone ( ) const
overridevirtual

Clone this TriLienarGhostFiller.

Returns
TriLinearGhostFiller* a newly allocated copy

Implements ThunderEgg::GhostFiller< D >.


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