#include <FabArray.H>

Public Member Functions | |
| FabArrayCopyDescriptor () | |
| ~FabArrayCopyDescriptor () | |
| FabArrayId | RegisterFabArray (FabArray< FAB > *fabarray) |
| FillBoxId | AddBox (FabArrayId fabarrayid, const Box &destFabBox, BoxList *unfilledBoxes, bool bUseValidBox=true) |
| FillBoxId | AddBox (FabArrayId fabarrayid, const Box &destFabBox, BoxList *unfilledBoxes, int srccomp, int destcomp, int numcomp, bool bUseValidBox=true) |
| FillBoxId | AddBox (FabArrayId fabarrayid, const Box &destFabBox, BoxList *unfilledBoxes, int fabarrayindex, int srccomp, int destcomp, int numcomp, bool bUseValidBox=true) |
| void | CollectData (Array< int > *snd_cache=0, CommDataCache *cd_cache=0) |
| void | FillFab (FabArrayId fabarrayid, const FillBoxId &fillboxid, FAB &destFab) |
| void | FillFab (FabArrayId fabarrayid, const FillBoxId &fillboxid, FAB &destFab, const Box &destBox) |
| void | PrintStats () const |
| bool | DataAvailable () const |
| void | clear () |
| int | nFabArrays () const |
| int | nFabComTags () const |
| int | nFabCopyDescs () const |
Protected Member Functions | |
| void | AddBoxDoIt (FabArrayId fabarrayid, const Box &destFabBox, BoxList *returnedUnfilledBoxes, int faindex, int srccomp, int destcomp, int numcomp, bool bUseValidBox, BoxDomain &unfilledBoxDomain, BoxList &filledBoxes) |
Protected Attributes | |
| std::vector< FabArray< FAB > * > | fabArrays |
| std::vector< FCDMap > | fabCopyDescList |
| std::vector< FabComTag > | fabComTagList |
| int | nextFillBoxId |
| bool | dataAvailable |
| FabArrayCopyDescriptor< FAB >::FabArrayCopyDescriptor | ( | ) | [inline] |
| FabArrayCopyDescriptor< FAB >::~FabArrayCopyDescriptor | ( | ) | [inline] |
References FabArrayCopyDescriptor< FAB >::clear().
| FabArrayId FabArrayCopyDescriptor< FAB >::RegisterFabArray | ( | FabArray< FAB > * | fabarray | ) | [inline] |
| FillBoxId FabArrayCopyDescriptor< FAB >::AddBox | ( | FabArrayId | fabarrayid, | |
| const Box & | destFabBox, | |||
| BoxList * | unfilledBoxes, | |||
| bool | bUseValidBox = true | |||
| ) | [inline] |
References FabArrayCopyDescriptor< FAB >::fabArrays, and FabArrayId::Id().
Referenced by MultiFab::FillBoundary(), and BoxLib::linInterpAddBox().
| FillBoxId FabArrayCopyDescriptor< FAB >::AddBox | ( | FabArrayId | fabarrayid, | |
| const Box & | destFabBox, | |||
| BoxList * | unfilledBoxes, | |||
| int | srccomp, | |||
| int | destcomp, | |||
| int | numcomp, | |||
| bool | bUseValidBox = true | |||
| ) | [inline] |
| FillBoxId FabArrayCopyDescriptor< FAB >::AddBox | ( | FabArrayId | fabarrayid, | |
| const Box & | destFabBox, | |||
| BoxList * | unfilledBoxes, | |||
| int | fabarrayindex, | |||
| int | srccomp, | |||
| int | destcomp, | |||
| int | numcomp, | |||
| bool | bUseValidBox = true | |||
| ) | [inline] |
| void FabArrayCopyDescriptor< FAB >::CollectData | ( | Array< int > * | snd_cache = 0, |
|
| CommDataCache * | cd_cache = 0 | |||
| ) | [inline] |
References Arena::alloc(), ParallelDescriptor::Arecv(), BL_ASSERT, FabComTag::box, CommData::box(), FabArrayCopyDescriptor< FAB >::dataAvailable, Array< T >::dataPtr(), CommData::DIM, FabComTag::fabArrayId, CommData::fabarrayid(), FabArrayCopyDescriptor< FAB >::fabArrays, FabArrayCopyDescriptor< FAB >::fabComTagList, FabArrayCopyDescriptor< FAB >::fabCopyDescList, CommData::fabindex(), FabCopyDescriptor< FAB >::fillBoxId, FabComTag::fillBoxId, Arena::free(), CommData::fromproc(), ParallelDescriptor::Gather(), CommData::id(), CommDataCache::isValid(), FabCopyDescriptor< FAB >::localFabSource, BoxLib::max(), MPI_REQUEST_NULL, ParallelDescriptor::MyProc(), FabComTag::nComp, CommData::nComp(), ParallelDescriptor::NProcs(), Box::numPts(), ParallelDescriptor::Send(), ParallelDescriptor::SeqNum(), Array< T >::size(), CommData::srcComp(), FabCopyDescriptor< FAB >::subBox, BoxLib::The_Arena(), CommDataCache::theCommData(), and ParallelDescriptor::Waitsome().
Referenced by MultiFab::FillBoundary().
| void FabArrayCopyDescriptor< FAB >::FillFab | ( | FabArrayId | fabarrayid, | |
| const FillBoxId & | fillboxid, | |||
| FAB & | destFab | |||
| ) | [inline] |
References BL_ASSERT, FabArrayCopyDescriptor< FAB >::dataAvailable, FabCopyDescriptor< FAB >::destComp, FabArrayCopyDescriptor< FAB >::fabCopyDescList, FabCopyDescriptor< FAB >::fillBoxId, FillLocally, FabCopyDescriptor< FAB >::fillType, FillBoxId::Id(), FabArrayId::Id(), FabCopyDescriptor< FAB >::localFabSource, FabCopyDescriptor< FAB >::nComp, FabCopyDescriptor< FAB >::srcComp, and FabCopyDescriptor< FAB >::subBox.
Referenced by MultiFab::FillBoundary(), and BoxLib::linInterpFillFab().
| void FabArrayCopyDescriptor< FAB >::FillFab | ( | FabArrayId | fabarrayid, | |
| const FillBoxId & | fillboxid, | |||
| FAB & | destFab, | |||
| const Box & | destBox | |||
| ) | [inline] |
References BL_ASSERT, FabArrayCopyDescriptor< FAB >::dataAvailable, FabCopyDescriptor< FAB >::destComp, FabArrayCopyDescriptor< FAB >::fabCopyDescList, FabCopyDescriptor< FAB >::fillBoxId, FillLocally, FabCopyDescriptor< FAB >::fillType, FillBoxId::Id(), FabArrayId::Id(), FabCopyDescriptor< FAB >::localFabSource, FabCopyDescriptor< FAB >::nComp, Box::sameSize(), FabCopyDescriptor< FAB >::srcComp, and FabCopyDescriptor< FAB >::subBox.
| void FabArrayCopyDescriptor< FAB >::PrintStats | ( | ) | const [inline] |
References FabArrayCopyDescriptor< FAB >::fabArrays, and ParallelDescriptor::MyProc().
| bool FabArrayCopyDescriptor< FAB >::DataAvailable | ( | ) | const [inline] |
| void FabArrayCopyDescriptor< FAB >::clear | ( | ) | [inline] |
References FabArrayCopyDescriptor< FAB >::dataAvailable, FabArrayCopyDescriptor< FAB >::fabArrays, FabArrayCopyDescriptor< FAB >::fabComTagList, FabArrayCopyDescriptor< FAB >::fabCopyDescList, and FabArrayCopyDescriptor< FAB >::nextFillBoxId.
Referenced by FabArrayCopyDescriptor< FAB >::~FabArrayCopyDescriptor().
| int FabArrayCopyDescriptor< FAB >::nFabArrays | ( | ) | const [inline] |
| int FabArrayCopyDescriptor< FAB >::nFabComTags | ( | ) | const [inline] |
| int FabArrayCopyDescriptor< FAB >::nFabCopyDescs | ( | ) | const [inline] |
| void FabArrayCopyDescriptor< FAB >::AddBoxDoIt | ( | FabArrayId | fabarrayid, | |
| const Box & | destFabBox, | |||
| BoxList * | returnedUnfilledBoxes, | |||
| int | faindex, | |||
| int | srccomp, | |||
| int | destcomp, | |||
| int | numcomp, | |||
| bool | bUseValidBox, | |||
| BoxDomain & | unfilledBoxDomain, | |||
| BoxList & | filledBoxes | |||
| ) | [inline, protected] |
References BL_ASSERT, FabComTag::box, FabArrayBase::box(), FabCopyDescriptor< FAB >::cacheDataAllocated, FabCopyDescriptor< FAB >::copyFromIndex, FabCopyDescriptor< FAB >::copyFromProc, FabArrayCopyDescriptor< FAB >::dataAvailable, FabComTag::destComp, FabCopyDescriptor< FAB >::destComp, FabArrayBase::DistributionMap(), FabComTag::fabArrayId, FabArrayCopyDescriptor< FAB >::fabArrays, FabArrayBase::fabbox(), FabArrayCopyDescriptor< FAB >::fabComTagList, FabArrayCopyDescriptor< FAB >::fabCopyDescList, FabComTag::fabIndex, FabComTag::fillBoxId, FabCopyDescriptor< FAB >::fillBoxId, FillLocally, FillRemotely, FabCopyDescriptor< FAB >::fillType, FabArrayId::Id(), BoxLib::intersect(), FabCopyDescriptor< FAB >::localFabSource, FabCopyDescriptor< FAB >::myProc, ParallelDescriptor::MyProc(), FabComTag::nComp, FabCopyDescriptor< FAB >::nComp, FabArrayCopyDescriptor< FAB >::nextFillBoxId, Box::ok(), FabComTag::procThatHasData, FabComTag::procThatNeedsData, BoxList::push_back(), BoxDomain::rmBox(), FabComTag::srcComp, FabCopyDescriptor< FAB >::srcComp, and FabCopyDescriptor< FAB >::subBox.
Referenced by FabArrayCopyDescriptor< FAB >::AddBox().
std::vector<FabArray<FAB>*> FabArrayCopyDescriptor< FAB >::fabArrays [protected] |
std::vector<FCDMap> FabArrayCopyDescriptor< FAB >::fabCopyDescList [protected] |
std::vector<FabComTag> FabArrayCopyDescriptor< FAB >::fabComTagList [protected] |
int FabArrayCopyDescriptor< FAB >::nextFillBoxId [protected] |
bool FabArrayCopyDescriptor< FAB >::dataAvailable [protected] |
1.5.5