This class orchestrates filling a destination fab of size destFabBox from fabarray on the local processor (myProc). More...
#include <AMReX_FACopyDescriptor.H>
Public Member Functions | |
FabArrayCopyDescriptor ()=default | |
~FabArrayCopyDescriptor () | |
FabArrayCopyDescriptor (const FabArrayCopyDescriptor< FAB > &)=delete | |
FabArrayCopyDescriptor (FabArrayCopyDescriptor< FAB > &&)=delete | |
FabArrayCopyDescriptor< FAB > & | operator= (const FabArrayCopyDescriptor< FAB > &)=delete |
FabArrayCopyDescriptor< FAB > & | operator= (FabArrayCopyDescriptor< FAB > &&)=delete |
FabArrayId | RegisterFabArray (FabArray< FAB > *fabarray) |
FillBoxId | AddBox (FabArrayId fabarrayid, const Box &destFabBox, BoxList *unfilledBoxes) |
FillBoxId | AddBox (FabArrayId fabarrayid, const Box &destFabBox, BoxList *unfilledBoxes, int srccomp, int destcomp, int numcomp) |
FillBoxId | AddBox (FabArrayId fabarrayid, const Box &destFabBox, BoxList *unfilledBoxes, int fabarrayindex, int srccomp, int destcomp, int numcomp, bool bUseValidBox=true) |
void | CollectData () |
void | FillFab (FabArrayId faid, const FillBoxId &fillboxid, FAB &destFab) |
void | FillFab (FabArrayId faid, const FillBoxId &fillboxid, FAB &destFab, const Box &destBox) |
void | PrintStats () const |
bool | DataAvailable () const |
void | clear () |
int | CurrentNFabArrays () const |
int | nFabComTags () const |
int | nFabCopyDescs () const |
Private Types | |
using | FCDMap = std::multimap< int, FabCopyDescriptor< FAB > * > |
using | FCDMapValueType = typename FCDMap::value_type |
using | FCDMapIter = typename FCDMap::iterator |
using | FCDMapConstIter = typename FCDMap::const_iterator |
using | FabComTagContainer = std::vector< FabArrayBase::FabComTag > |
using | FabComTagIterContainer = std::vector< FabComTagContainer::const_iterator > |
Private Member Functions | |
void | AddBoxDoIt (FabArrayId fabarrayid, const Box &destFabBox, BoxList *returnedUnfilledBoxes, int faindex, int srccomp, int destcomp, int numcomp, bool bUseValidBox, BoxDomain &unfilledBoxDomain) |
Private Attributes | |
std::vector< FabArray< FAB > * > | fabArrays |
std::vector< FCDMap > | fabCopyDescList |
FabComTagContainer | fabComTagList |
int | nextFillBoxId {0} |
bool | dataAvailable {false} |
This class orchestrates filling a destination fab of size destFabBox from fabarray on the local processor (myProc).
|
private |
Some useful typedefs.
|
private |
|
private |
|
private |
|
private |
|
private |
|
default |
amrex::FabArrayCopyDescriptor< FAB >::~FabArrayCopyDescriptor |
|
delete |
|
delete |
FillBoxId amrex::FabArrayCopyDescriptor< FAB >::AddBox | ( | FabArrayId | fabarrayid, |
const Box & | destFabBox, | ||
BoxList * | unfilledBoxes | ||
) |
FillBoxId amrex::FabArrayCopyDescriptor< FAB >::AddBox | ( | FabArrayId | fabarrayid, |
const Box & | destFabBox, | ||
BoxList * | unfilledBoxes, | ||
int | fabarrayindex, | ||
int | srccomp, | ||
int | destcomp, | ||
int | numcomp, | ||
bool | bUseValidBox = true |
||
) |
Add a box but only from FabArray[fabarrayindex].
FillBoxId amrex::FabArrayCopyDescriptor< FAB >::AddBox | ( | FabArrayId | fabarrayid, |
const Box & | destFabBox, | ||
BoxList * | unfilledBoxes, | ||
int | srccomp, | ||
int | destcomp, | ||
int | numcomp | ||
) |
|
private |
Helper function for AddBox() routines.
void amrex::FabArrayCopyDescriptor< FAB >::clear |
void amrex::FabArrayCopyDescriptor< FAB >::CollectData |
|
inline |
|
inline |
void amrex::FabArrayCopyDescriptor< FAB >::FillFab | ( | FabArrayId | faid, |
const FillBoxId & | fillboxid, | ||
FAB & | destFab | ||
) |
void amrex::FabArrayCopyDescriptor< FAB >::FillFab | ( | FabArrayId | faid, |
const FillBoxId & | fillboxid, | ||
FAB & | destFab, | ||
const Box & | destBox | ||
) |
|
inline |
|
inline |
|
delete |
|
delete |
void amrex::FabArrayCopyDescriptor< FAB >::PrintStats |
FabArrayId amrex::FabArrayCopyDescriptor< FAB >::RegisterFabArray | ( | FabArray< FAB > * | fabarray | ) |
|
private |
|
private |
The data.
|
private |
|
private |
|
private |