Chombo + EB
3.2
|
Helper class to manage CoDim exchange operations. More...
#include <CoDimCopyManager.H>
Public Member Functions | |
CoDimCopyManager () | |
null constructor More... | |
CoDimCopyManager (const DisjointBoxLayout &a_grids, const BoxLayout &a_dest, const IntVect &a_ghostVect, bool a_exchange=false, int a_maxCoDim=SpaceDim) | |
defining constructor – calls matching define function More... | |
~CoDimCopyManager () | |
destructor More... | |
void | define (const DisjointBoxLayout &a_grids, const BoxLayout &a_dest, const IntVect &a_ghostVect, bool a_exchange=false, int a_maxCoDim=SpaceDim) |
define More... | |
void | manageExchanges (LevelData< T > &a_data) const |
orchestrates CoDim exchanges More... | |
void | manageCopies (const LevelData< T > &a_data, BoxLayoutData< T > &a_dest) const |
orchestrates CoDim copies More... | |
IntVect | ghostVect () const |
returns ghostVect used to define this object (to check for compatibility) More... | |
const DisjointBoxLayout & | srcGrids () const |
returns reference to src layout used to define this object More... | |
const BoxLayout & | destGrids () const |
returns reference to dest layout used to define this object More... | |
Protected Attributes | |
Vector< Copier * > | m_copierVect |
Vector of CoDimCopiers. More... | |
IntVect | m_ghostVect |
keep ghostVect around just in case More... | |
DisjointBoxLayout | m_srcGrids |
keep source and dest layouts around as well More... | |
BoxLayout | m_destGrids |
Helper class to manage CoDim exchange operations.
CoDimCopiers are designed to be exercised in order, starting with CoDim=2 and increasing to SpaceDim. The CoDimCopyManager class manages these operations.
|
inline |
null constructor
References CoDimCopyManager< T >::define(), CoDimCopyManager< T >::manageCopies(), CoDimCopyManager< T >::manageExchanges(), SpaceDim, and CoDimCopyManager< T >::~CoDimCopyManager().
CoDimCopyManager< T >::CoDimCopyManager | ( | const DisjointBoxLayout & | a_grids, |
const BoxLayout & | a_dest, | ||
const IntVect & | a_ghostVect, | ||
bool | a_exchange = false , |
||
int | a_maxCoDim = SpaceDim |
||
) |
defining constructor – calls matching define function
by default, does all coDim copies from CoDim=2->SpaceDim. If you know you only need coDim ghost cells up to a Co-dimension less than SpaceDim, that can be specified, which will make things cheaper.
CoDimCopyManager< T >::~CoDimCopyManager | ( | ) |
void CoDimCopyManager< T >::define | ( | const DisjointBoxLayout & | a_grids, |
const BoxLayout & | a_dest, | ||
const IntVect & | a_ghostVect, | ||
bool | a_exchange = false , |
||
int | a_maxCoDim = SpaceDim |
||
) |
define
References CH_assert, and DisjointBoxLayout::physDomain().
Referenced by CoDimCopyManager< T >::CoDimCopyManager().
void CoDimCopyManager< T >::manageExchanges | ( | LevelData< T > & | a_data | ) | const |
orchestrates CoDim exchanges
References LevelData< T >::exchange().
Referenced by CoDimCopyManager< T >::CoDimCopyManager().
void CoDimCopyManager< T >::manageCopies | ( | const LevelData< T > & | a_data, |
BoxLayoutData< T > & | a_dest | ||
) | const |
orchestrates CoDim copies
References LevelData< T >::copyTo().
Referenced by CoDimCopyManager< T >::CoDimCopyManager().
|
inline |
returns ghostVect used to define this object (to check for compatibility)
References CoDimCopyManager< T >::m_ghostVect.
|
inline |
returns reference to src layout used to define this object
References CoDimCopyManager< T >::m_srcGrids.
|
inline |
returns reference to dest layout used to define this object
References CoDimCopyManager< T >::m_destGrids.
|
protected |
Vector of CoDimCopiers.
|
protected |
keep ghostVect around just in case
Referenced by CoDimCopyManager< T >::ghostVect().
|
protected |
keep source and dest layouts around as well
Referenced by CoDimCopyManager< T >::srcGrids().
|
protected |
Referenced by CoDimCopyManager< T >::destGrids().