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