|
| CoDimCopier () |
| null constructor, copy constructor and operator= can be compiler defined. More...
|
|
| CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false) |
| Basic defining constructor. More...
|
|
| CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false) |
| this constructor contains support for periodic BC's More...
|
|
| CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) |
| Copier to copy into coDim corner ghost cells of a_dest from coDim-1 ghost cells of a_level. More...
|
|
| CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) |
| Copier to copy data into the coDim corner ghost cells of a_dest from the coDim-1 ghost cells of a_level with support for periodic BCs. More...
|
|
virtual | ~CoDimCopier () |
|
virtual void | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false) |
| define to match constructor (also doesn't do anything) More...
|
|
virtual void | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false) |
| define to match constructor (also doesn't do anything) More...
|
|
virtual void | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) |
|
virtual void | define (const BoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) |
| contains support for periodic BCs More...
|
|
virtual void | clear () |
|
const IntVect & | ghost () |
|
const int | coDim () const |
|
| Copier () |
| null constructor, copy constructor and operator= can be compiler defined. More...
|
|
| Copier (const Copier &a_rhs) |
|
| Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
|
| Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
| this constructor contains support for periodic BC's More...
|
|
| Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
| Copier to copy data into the valid and invalid regions of a_dest from a_level. More...
|
|
| Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
| Copier to copy data into the valid and invalid regions of a_dest from a_level with support for periodic BCs. More...
|
|
virtual | ~Copier () |
|
virtual void | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
|
virtual void | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
| contains support for periodic BCs More...
|
|
virtual void | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
|
virtual void | define (const BoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) |
| contains support for periodic BCs More...
|
|
virtual void | exchangeDefine (const DisjointBoxLayout &a_grids, const IntVect &a_ghost, bool a_includeSelf=false) |
| alternative version of define for exchange copiers that uses new optimized neighborIterator More...
|
|
void | defineFixedBoxSize (const DisjointBoxLayout &a_src, const LMap &a_lmap, const IntVect &a_ghost, const ProblemDomain &a_domain, bool a_includeSelf=false, bool a_reverse=false) |
|
void | defineFixedBoxSize (const DisjointBoxLayout &a_src, const LMap &a_lmapSrc, const IntVect &a_refRatioSrc, const DisjointBoxLayout &a_dst, const LMap &a_lmapDst, const IntVect &a_refRatioDst, const IntVect &a_ghost, const ProblemDomain &a_domain, bool a_reverse=false) |
|
void | defineFixedSizeNodesCollect (const DisjointBoxLayout &a_layout, const LMap &a_lmap, const IntVect &a_ghostSrc, const IntVect &a_ghostDst, const ProblemDomain &a_domain) |
|
void | defineFixedSizeNodesCollect (const DisjointBoxLayout &a_src, const LMap &a_lmapSrc, const IntVect &a_refRatioSrc, const IntVect &a_ghostSrc, const DisjointBoxLayout &a_dst, const LMap &a_lmapDst, const IntVect &a_refRatioDst, const IntVect &a_ghostDst, const ProblemDomain &a_domain) |
|
void | ghostDefine (const DisjointBoxLayout &a_src, const DisjointBoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_srcGhost) |
| performs the computation necessary for moving from ghost+valid cells to all valid cells in a_dest More...
|
|
void | ghostDefine (const DisjointBoxLayout &a_src, const DisjointBoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_srcGhost, const IntVect &a_destGhost) |
| performs the computation necessary for moving from ghost+valid cells to all valid+ghost cells in a_dest More...
|
|
Copier & | operator= (const Copier &b) |
|
void | reverse () |
|
void | trimEdges (const DisjointBoxLayout &a_exchangedLayout, const IntVect &ghost) |
|
void | coarsen (int a_refRatio) |
|
bool | operator== (const Copier &rhs) const |
|
int | print () const |
|
bool | bufferAllocated () const |
|
void | setBufferAllocated (bool arg) const |
|
int | numLocalCellsToCopy () const |
|
int | numFromCellsToCopy () const |
|
int | numToCellsToCopy () const |
|
bool | isDefined () const |
|
An even strangerer (than CornerCopier) thing to copy from ghost cells to corner ghost cells.
This is a specialized Copier to fill corner ghost cells of Codim n from codim (n-1) ghost cells of adjacent boxes. Calling exchange with this copier will fill only the corner ghost cells. All other exchange operations should be performed by calling a separate exchange with a normal Copier. For this to work properly, one needs to call it DIM-1 times, starting with a coDim of 1, and ending with coDim DIM-1. To automate this, we provide a CoDimCopierManager class, which defines the appropriate CoDimCopiers and also managed the series of CoDim exchanges.