|
| iMultiFab () noexcept=default |
| Constructs an empty iMultiFab. Data can be defined at a later time using the define member functions inherited from FabArray. More...
|
|
| iMultiFab (Arena *a) noexcept |
| Constructs an empty iMultiFab. Data can be defined at a later time using the define member functions inherited from FabArray. If define is called later with a nullptr as MFInfo's arena, the default Arena a will be used. If the arena in MFInfo is not a nullptr, the MFInfo's arena will be used. More...
|
|
| iMultiFab (const BoxArray &bxs, const DistributionMapping &dm, int ncomp, int ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
| Constructs a iMultiFab with a valid region defined by bxs and a region of definition defined by the grow factor ngrow. More...
|
|
| iMultiFab (const BoxArray &bxs, const DistributionMapping &dm, int ncomp, const IntVect &ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
|
| iMultiFab (const iMultiFab &rhs, MakeType maketype, int scomp, int ncomp) |
| Make an alias iMultiFab. maketype must be amrex::make_alias. scomp is the starting component of the alias and ncomp is the number of components in the new aliasing iMultiFab. More...
|
|
| ~iMultiFab ()=default |
|
| iMultiFab (iMultiFab &&rhs) noexcept=default |
|
iMultiFab & | operator= (iMultiFab &&rhs) noexcept=default |
|
| iMultiFab (const iMultiFab &rhs)=delete |
|
iMultiFab & | operator= (const iMultiFab &rhs)=delete |
|
iMultiFab & | operator= (int r) |
|
int | min (int comp, int nghost=0, bool local=false) const |
| Returns the minimum value contained in component comp of the iMultiFab. The parameter nghost determines the number of boundary cells to search for the minimum. The default is to search only the valid regions of the IArrayBoxes. More...
|
|
int | min (const Box ®ion, int comp, int nghost=0, bool local=false) const |
| Identical to the previous min() function, but confines its search to intersection of Box b and the iMultiFab. More...
|
|
int | max (int comp, int nghost=0, bool local=false) const |
| Returns the maximum value contained in component comp of the iMultiFab. The parameter nghost determines the number of boundary cells to search for the maximum. The default is to search only the valid regions of the IArrayBoxes. More...
|
|
int | max (const Box ®ion, int comp, int nghost=0, bool local=false) const |
| Identical to the previous max() function, but confines its search to intersection of Box b and the iMultiFab. More...
|
|
Long | sum (int comp, int nghost=0, bool local=false) const |
| Returns the sum in component comp. More...
|
|
Long | sum (Box const ®ion, int comp=0, bool local=false) const |
| Returns the sum of component "comp" in the given "region". – no ghost cells are included. More...
|
|
void | plus (int val, int comp, int num_comp, int nghost=0) |
| Adds the scalar value val to the value of each cell in the specified subregion of the iMultiFab. The subregion consists of the num_comp components starting at component comp. The value of nghost specifies the number of cells in the boundary region of each IArrayBox in the subregion that should be modified. More...
|
|
void | plus (int val, const Box ®ion, int comp, int num_comp, int nghost=0) |
| Identical to the previous version of plus(), with the restriction that the subregion is further constrained to the intersection with Box region. More...
|
|
void | plus (int val, int nghost) |
| Adds the scalar value val to the value of each cell in the valid region of each component of the iMultiFab. The value of nghost specifies the number of cells in the boundary region that should be modified. More...
|
|
void | plus (int val, const Box ®ion, int nghost) |
| Adds the scalar value val to the value of each cell in the valid region of each component of the iMultiFab, that also intersects the Box region. The value of nghost specifies the number of cells in the boundary region of each IArrayBox in the subregion that should be modified. More...
|
|
void | mult (int val, int comp, int num_comp, int nghost=0) |
| Scales the value of each cell in the specified subregion of the iMultiFab by the scalar val (a[i] <- a[i]*val). The subregion consists of the num_comp components starting at component comp. The value of nghost specifies the number of cells in the boundary region of each IArrayBox in the subregion that should be modified. More...
|
|
void | mult (int val, const Box ®ion, int comp, int num_comp, int nghost=0) |
| Identical to the previous version of mult(), with the restriction that the subregion is further constrained to the intersection with Box region. The value of nghost specifies the number of cells in the boundary region of each IArrayBox in the subregion that should be modified. More...
|
|
void | mult (int val, int nghost=0) |
| Scales the value of each cell in the valid region of each component of the iMultiFab by the scalar val (a[i] <- a[i]*val). The value of nghost specifies the number of cells in the boundary region that should be modified. More...
|
|
void | mult (int val, const Box ®ion, int nghost=0) |
| Scales the value of each cell in the valid region of each component of the iMultiFab by the scalar val (a[i] <- a[i]*val), that also intersects the Box region. The value of nghost specifies the number of cells in the boundary region of each IArrayBox in the subregion that should be modified. More...
|
|
void | negate (int comp, int num_comp, int nghost=0) |
| Negates the value of each cell in the specified subregion of the iMultiFab. The subregion consists of the num_comp components starting at component comp. The value of nghost specifies the number of cells in the boundary region of each IArrayBox in the subregion that should be modified. More...
|
|
void | negate (const Box ®ion, int comp, int num_comp, int nghost=0) |
| Identical to the previous version of negate(), with the restriction that the subregion is further constrained to the intersection with Box region. More...
|
|
void | negate (int nghost=0) |
| Negates the value of each cell in the valid region of the iMultiFab. The value of nghost specifies the number of cells in the boundary region that should be modified. More...
|
|
void | negate (const Box ®ion, int nghost=0) |
| Negates the value of each cell in the valid region of the iMultiFab that also intersects the Box region. The value of nghost specifies the number of cells in the boundary region that should be modified. More...
|
|
IntVect | minIndex (int comp, int nghost=0) const |
|
IntVect | maxIndex (int comp, int nghost=0) const |
|
void | plus (const iMultiFab &mf, int strt_comp, int num_comp, int nghost) |
| This function adds the values of the cells in mf to the corresponding cells of this iMultiFab. mf is required to have the same BoxArray or "valid region" as this iMultiFab. The addition is done only to num_comp components, starting with component number strt_comp. The parameter nghost specifies the number of boundary cells that will be modified. If nghost == 0, only the valid region of each IArrayBox will be modified. More...
|
|
void | minus (const iMultiFab &mf, int strt_comp, int num_comp, int nghost) |
| This function subtracts the values of the cells in mf from the corresponding cells of this iMultiFab. mf is required to have the same BoxArray or "valid region" as this iMultiFab. The subtraction is done only to num_comp components, starting with component number strt_comp. The parameter nghost specifies the number of boundary cells that will be modified. If nghost == 0, only the valid region of each IArrayBox will be modified. More...
|
|
void | divide (const iMultiFab &mf, int strt_comp, int num_comp, int nghost) |
| This function divides the values of the cells in mf from the corresponding cells of this iMultiFab. mf is required to have the same BoxArray or "valid region" as this iMultiFab. The division is done only to num_comp components, starting with component number strt_comp. The parameter nghost specifies the number of boundary cells that will be modified. If nghost == 0, only the valid region of each IArrayBox will be modified. Note, nothing is done to protect against divide by zero. More...
|
|
void | define (const BoxArray &bxs, const DistributionMapping &dm, int nvar, const IntVect &ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
|
void | define (const BoxArray &bxs, const DistributionMapping &dm, int nvar, int ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
|
| FabArray () noexcept |
| Constructs an empty FabArray<FAB>. More...
|
|
| FabArray (Arena *a) noexcept |
| Construct an empty FabArray<FAB> that has a default Arena. More...
|
|
| FabArray (const BoxArray &bxs, const DistributionMapping &dm, int nvar, int ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
| Construct a FabArray<FAB> with a valid region defined by bxs and a region of definition defined by the grow factor ngrow and the number of components nvar. More...
|
|
| FabArray (const BoxArray &bxs, const DistributionMapping &dm, int nvar, const IntVect &ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
|
| FabArray (const FabArray< IArrayBox > &rhs, MakeType maketype, int scomp, int ncomp) |
|
| FabArray (FabArray< IArrayBox > &&rhs) noexcept |
|
| FabArray (const FabArray< IArrayBox > &rhs)=delete |
|
| ~FabArray () |
| The destructor – deletes all FABs in the array. More...
|
|
FabArray< IArrayBox > & | operator= (FabArray< IArrayBox > &&rhs) noexcept |
|
FabArray< IArrayBox > & | operator= (const FabArray< IArrayBox > &rhs)=delete |
|
FabArray< IArrayBox > & | operator= (value_type val) |
| Set all components in the entire region of each FAB to val. More...
|
|
void | define (const BoxArray &bxs, const DistributionMapping &dm, int nvar, int ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
| Define this FabArray identically to that performed by the constructor having an analogous function signature. This is only valid if this FabArray was defined using the default constructor. More...
|
|
void | define (const BoxArray &bxs, const DistributionMapping &dm, int nvar, const IntVect &ngrow, const MFInfo &info=MFInfo(), const FabFactory< IArrayBox > &factory=DefaultFabFactory< IArrayBox >()) |
|
const FabFactory< IArrayBox > & | Factory () const noexcept |
|
Arena * | arena () const noexcept |
|
const Vector< std::string > & | tags () const noexcept |
|
bool | hasEBFabFactory () const noexcept |
|
value_type * | singleChunkPtr () noexcept |
|
value_type const * | singleChunkPtr () const noexcept |
|
std::size_t | singleChunkSize () const noexcept |
|
bool | isAllRegular () const noexcept |
|
bool | ok () const |
| Return true if the FabArray is well-defined. That is, the FabArray has a BoxArray and DistributionMapping, the FABs are allocated for each Box in the BoxArray and the sizes of the FABs and the number of components are consistent with the definition of the FabArray. More...
|
|
bool | isDefined () const |
|
const IArrayBox & | operator[] (const MFIter &mfi) const noexcept |
| Return a constant reference to the FAB associated with mfi. More...
|
|
IArrayBox & | operator[] (const MFIter &mfi) noexcept |
| Returns a reference to the FAB associated mfi. More...
|
|
const IArrayBox & | operator[] (int K) const noexcept |
| Return a constant reference to the FAB associated with the Kth element. More...
|
|
IArrayBox & | operator[] (int K) noexcept |
| Return a reference to the FAB associated with the Kth element. More...
|
|
const IArrayBox & | get (const MFIter &mfi) const noexcept |
| Return a constant reference to the FAB associated with mfi. More...
|
|
IArrayBox & | get (const MFIter &mfi) noexcept |
| Returns a reference to the FAB associated mfi. More...
|
|
const IArrayBox & | get (int K) const noexcept |
| Return a constant reference to the FAB associated with the Kth element. More...
|
|
IArrayBox & | get (int K) noexcept |
| Return a reference to the FAB associated with the Kth element. More...
|
|
IArrayBox & | atLocalIdx (int L) noexcept |
| Return a reference to the FAB associated with local index L. More...
|
|
const IArrayBox & | atLocalIdx (int L) const noexcept |
|
IArrayBox * | fabPtr (const MFIter &mfi) noexcept |
| Return pointer to FAB. More...
|
|
IArrayBox const * | fabPtr (const MFIter &mfi) const noexcept |
|
IArrayBox * | fabPtr (int K) noexcept |
|
IArrayBox const * | fabPtr (int K) const noexcept |
|
void | prefetchToHost (const MFIter &mfi) const noexcept |
|
void | prefetchToDevice (const MFIter &mfi) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | array (const MFIter &mfi) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type > | array (const MFIter &mfi) noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | array (int K) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type > | array (int K) noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | array (const MFIter &mfi, int start_comp) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type > | array (const MFIter &mfi, int start_comp) noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | array (int K, int start_comp) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type > | array (int K, int start_comp) noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | const_array (const MFIter &mfi) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | const_array (int K) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | const_array (const MFIter &mfi, int start_comp) const noexcept |
|
Array4< typename FabArray< IArrayBox >::value_type const > | const_array (int K, int start_comp) const noexcept |
|
MultiArray4< typename FabArray< IArrayBox >::value_type > | arrays () noexcept |
|
MultiArray4< typename FabArray< IArrayBox >::value_type const > | arrays () const noexcept |
|
MultiArray4< typename FabArray< IArrayBox >::value_type const > | const_arrays () const noexcept |
|
void | setFab (int boxno, std::unique_ptr< IArrayBox > elem) |
| Explicitly set the Kth FAB in the FabArray to point to elem. More...
|
|
void | setFab (int boxno, IArrayBox &&elem) |
| Explicitly set the Kth FAB in the FabArray to point to elem. More...
|
|
void | setFab (const MFIter &mfi, std::unique_ptr< IArrayBox > elem) |
| Explicitly set the FAB associated with mfi in the FabArray to point to elem. More...
|
|
void | setFab (const MFIter &mfi, IArrayBox &&elem) |
| Explicitly set the FAB associated with mfi in the FabArray to point to elem. More...
|
|
AMREX_NODISCARD IArrayBox * | release (int K) |
| Release ownership of the FAB. This function is not thread safe. More...
|
|
AMREX_NODISCARD IArrayBox * | release (const MFIter &mfi) |
| Release ownership of the FAB. This function is not thread safe. More...
|
|
void | clear () |
| Releases FAB memory in the FabArray. More...
|
|
void | LocalCopy (FabArray< SFAB > const &src, int scomp, int dcomp, int ncomp, IntVect const &nghost) |
| Perform local copy of FabArray data. More...
|
|
void | LocalAdd (FabArray< IArrayBox > const &src, int scomp, int dcomp, int ncomp, IntVect const &nghost) |
| Perform local addition of FabArray data. More...
|
|
void | setVal (value_type val) |
| Set all components in the entire region of each FAB to val. More...
|
|
void | setVal (value_type val, int comp, int ncomp, int nghost=0) |
| Set the value of num_comp components in the valid region of each FAB in the FabArray, starting at component comp to val. Also set the value of nghost boundary cells. More...
|
|
void | setVal (value_type val, int comp, int ncomp, const IntVect &nghost) |
|
void | setVal (value_type val, const Box ®ion, int comp, int ncomp, int nghost=0) |
| Set the value of num_comp components in the valid region of each FAB in the FabArray, starting at component comp, as well as nghost boundary cells, to val, provided they also intersect with the Box region. More...
|
|
void | setVal (value_type val, const Box ®ion, int comp, int ncomp, const IntVect &nghost) |
|
void | setVal (value_type val, int nghost) |
| Set all components in the valid region of each FAB in the FabArray to val, including nghost boundary cells. More...
|
|
void | setVal (value_type val, const IntVect &nghost) |
|
void | setVal (value_type val, const Box ®ion, int nghost) |
| Set all components in the valid region of each FAB in the FabArray to val, including nghost boundary cells, that also intersect the Box region. More...
|
|
void | setVal (value_type val, const Box ®ion, const IntVect &nghost) |
|
void | setVal (value_type val, const CommMetaData &thecmd, int scomp, int ncomp) |
|
void | abs (int comp, int ncomp, int nghost=0) |
|
void | abs (int comp, int ncomp, const IntVect &nghost) |
|
void | plus (value_type val, int comp, int num_comp, int nghost=0) |
|
void | plus (value_type val, const Box ®ion, int comp, int num_comp, int nghost=0) |
|
void | mult (value_type val, int comp, int num_comp, int nghost=0) |
|
void | mult (value_type val, const Box ®ion, int comp, int num_comp, int nghost=0) |
|
void | invert (value_type numerator, int comp, int num_comp, int nghost=0) |
|
void | invert (value_type numerator, const Box ®ion, int comp, int num_comp, int nghost=0) |
|
void | setBndry (value_type val) |
| Set all values in the boundary region to val. More...
|
|
void | setBndry (value_type val, int strt_comp, int ncomp) |
| Set ncomp values in the boundary region, starting at start_comp to val. More...
|
|
void | setDomainBndry (value_type val, const Geometry &geom) |
| Set all values outside the Geometry domain to val. More...
|
|
void | setDomainBndry (value_type val, int strt_comp, int ncomp, const Geometry &geom) |
| Set ncomp values outside the Geometry domain to val, starting at start_comp. More...
|
|
F::value_type | sum (int comp, IntVect const &nghost, bool local=false) const |
| Returns the sum of component "comp". More...
|
|
void | ParallelAdd (const FabArray< IArrayBox > &src, const Periodicity &period=Periodicity::NonPeriodic()) |
| This function copies data from src to this FabArray. Each FAB in fa is intersected with all FABs in this FabArray and a copy is performed on the region of intersection. The intersection is restricted to the valid regions. More...
|
|
void | ParallelAdd (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic()) |
| This function copies data from src to this FabArray. Each FAB in src is intersected with all FABs in this FabArray and a copy is performed on the region of intersection. The intersection is restricted to the num_comp components starting at src_comp in the FabArray src, with the destination components in this FabArray starting at dest_comp. More...
|
|
void | ParallelAdd (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, int src_nghost, int dst_nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
| Similar to the above function, except that source and destination are grown by src_nghost and dst_nghost, respectively. More...
|
|
void | ParallelAdd (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const IntVect &src_nghost, const IntVect &dst_nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | ParallelCopy (const FabArray< IArrayBox > &src, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | ParallelCopy (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | ParallelCopy (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, int src_nghost, int dst_nghost, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | ParallelCopy (const FabArray< IArrayBox > &src, int scomp, int dcomp, int ncomp, const IntVect &snghost, const IntVect &dnghost, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY, const FabArrayBase::CPC *a_cpc=nullptr) |
|
void | copy (const FabArray< IArrayBox > &src, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | copy (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | copy (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, int src_nghost, int dst_nghost, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | copy (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const IntVect &src_nghost, const IntVect &dst_nghost, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | ParallelAdd_nowait (const FabArray< IArrayBox > &src, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | ParallelAdd_nowait (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | ParallelAdd_nowait (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, int src_nghost, int dst_nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | ParallelAdd_nowait (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const IntVect &src_nghost, const IntVect &dst_nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | ParallelCopy_nowait (const FabArray< IArrayBox > &src, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | ParallelCopy_nowait (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | ParallelCopy_nowait (const FabArray< IArrayBox > &src, int src_comp, int dest_comp, int num_comp, int src_nghost, int dst_nghost, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY) |
|
void | ParallelCopy_nowait (const FabArray< IArrayBox > &src, int scomp, int dcomp, int ncomp, const IntVect &snghost, const IntVect &dnghost, const Periodicity &period=Periodicity::NonPeriodic(), CpOp op=FabArrayBase::COPY, const FabArrayBase::CPC *a_cpc=nullptr, bool to_ghost_cells_only=false) |
|
void | ParallelCopy_finish () |
|
void | ParallelCopyToGhost (const FabArray< IArrayBox > &src, int scomp, int dcomp, int ncomp, const IntVect &snghost, const IntVect &dnghost, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | ParallelCopyToGhost_nowait (const FabArray< IArrayBox > &src, int scomp, int dcomp, int ncomp, const IntVect &snghost, const IntVect &dnghost, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | ParallelCopyToGhost_finish () |
|
void | Redistribute (const FabArray< IArrayBox > &src, int scomp, int dcomp, int ncomp, const IntVect &nghost) |
| Copy from src to this. this and src have the same BoxArray, but different DistributionMapping. More...
|
|
void | copyTo (IArrayBox &dest, int nghost=0) const |
| Copy the values contained in the intersection of the valid + nghost region of this FabArray with the FAB dest into dest. Note that FAB dest is assumed to be identical on each process. More...
|
|
void | copyTo (IArrayBox &dest, int scomp, int dcomp, int ncomp, int nghost=0) const |
| Copy the values contained in the intersection of the num_comp component valid + nghost region of this FabArray, starting at component src_comp, with the FAB dest into dest, starting at component dest_comp in dest. Note that FAB dest is assumed to be identical on each process. More...
|
|
void | shift (const IntVect &v) |
| Shift the boxarray by vector v. More...
|
|
bool | defined (int K) const noexcept |
|
bool | defined (const MFIter &mfi) const noexcept |
|
void | FillBoundary (bool cross=false) |
| Copy on intersection within a FabArray. Data is copied from valid regions to intersecting regions of definition. The purpose is to fill in the boundary regions of each FAB in the FabArray. If cross=true, corner cells are not filled. If the length of periodic is provided, periodic boundaries are also filled. Note that FabArray itself does not contains any periodicity information. FillBoundary expects that its cell-centered version of its BoxArray is non-overlapping. More...
|
|
void | FillBoundary (const Periodicity &period, bool cross=false) |
|
void | FillBoundary (const IntVect &nghost, const Periodicity &period, bool cross=false) |
|
void | FillBoundary (int scomp, int ncomp, bool cross=false) |
| Same as FillBoundary(), but only copies ncomp components starting at scomp. More...
|
|
void | FillBoundary (int scomp, int ncomp, const Periodicity &period, bool cross=false) |
|
void | FillBoundary (int scomp, int ncomp, const IntVect &nghost, const Periodicity &period, bool cross=false) |
|
void | FillBoundary_nowait (bool cross=false) |
|
void | FillBoundary_nowait (const Periodicity &period, bool cross=false) |
|
void | FillBoundary_nowait (const IntVect &nghost, const Periodicity &period, bool cross=false) |
|
void | FillBoundary_nowait (int scomp, int ncomp, bool cross=false) |
|
void | FillBoundary_nowait (int scomp, int ncomp, const Periodicity &period, bool cross=false) |
|
void | FillBoundary_nowait (int scomp, int ncomp, const IntVect &nghost, const Periodicity &period, bool cross=false) |
|
void | FillBoundary_finish () |
|
void | FillBoundary_finish () |
|
void | FillBoundary_test () |
|
void | FillBoundaryAndSync (const Periodicity &period=Periodicity::NonPeriodic()) |
| Fill ghost cells and synchronize nodal data. Ghost regions are filled with data from the intersecting valid regions. The synchronization will override valid regions by the intersecting valid regions with a higher precedence. The smaller the global box index is, the higher precedence the box has. With periodic boundaries, for cells in the same box, those near the lower corner have higher precedence than those near the upper corner. More...
|
|
void | FillBoundaryAndSync (int scomp, int ncomp, const IntVect &nghost, const Periodicity &period) |
| Fill ghost cells and synchronize nodal data. Ghost regions are filled with data from the intersecting valid regions. The synchronization will override valid regions by the intersecting valid regions with a higher precedence. The smaller the global box index is, the higher precedence the box has. With periodic boundaries, for cells in the same box, those near the lower corner have higher precedence than those near the upper corner. More...
|
|
void | FillBoundaryAndSync_nowait (const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | FillBoundaryAndSync_nowait (int scomp, int ncomp, const IntVect &nghost, const Periodicity &period) |
|
void | FillBoundaryAndSync_finish () |
|
void | OverrideSync (const Periodicity &period=Periodicity::NonPeriodic()) |
| Synchronize nodal data. The synchronization will override valid regions by the intersecting valid regions with a higher precedence. The smaller the global box index is, the higher precedence the box has. With periodic boundaries, for cells in the same box, those near the lower corner have higher precedence than those near the upper corner. More...
|
|
void | OverrideSync (int scomp, int ncomp, const Periodicity &period) |
| Synchronize nodal data. The synchronization will override valid regions by the intersecting valid regions with a higher precedence. The smaller the global box index is, the higher precedence the box has. With periodic boundaries, for cells in the same box, those near the lower corner have higher precedence than those near the upper corner. More...
|
|
void | OverrideSync_nowait (const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | OverrideSync_nowait (int scomp, int ncomp, const Periodicity &period) |
|
void | OverrideSync_finish () |
|
void | SumBoundary (const Periodicity &period=Periodicity::NonPeriodic()) |
| Sum values in overlapped cells. The destination is limited to valid cells. More...
|
|
void | SumBoundary (int scomp, int ncomp, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | SumBoundary (int scomp, int ncomp, IntVect const &nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
| Sum values in overlapped cells. The destination is limited to valid + ngrow cells. More...
|
|
void | SumBoundary (int scomp, int ncomp, IntVect const &src_nghost, IntVect const &dst_nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
| Sum values in overlapped cells. For computing the overlap, the dst is grown by dst_ngrow, while the src uses src_ngrow. More...
|
|
void | SumBoundary_nowait (const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | SumBoundary_nowait (int scomp, int ncomp, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | SumBoundary_nowait (int scomp, int ncomp, IntVect const &nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | SumBoundary_nowait (int scomp, int ncomp, IntVect const &src_nghost, IntVect const &dst_nghost, const Periodicity &period=Periodicity::NonPeriodic()) |
|
void | SumBoundary_finish () |
|
void | EnforcePeriodicity (const Periodicity &period) |
| Fill ghost cells with values from their corresponding cells across periodic boundaries, regardless of whether the corresponding cells are valid. This differs from FillBoundary, which only fills from valid cells, and does not fill from ghost cells. The BoxArray is allowed to be overlapping. More...
|
|
void | EnforcePeriodicity (int scomp, int ncomp, const Periodicity &period) |
|
void | EnforcePeriodicity (int scomp, int ncomp, const IntVect &nghost, const Periodicity &period) |
|
void | BuildMask (const Box &phys_domain, const Periodicity &period, value_type covered, value_type notcovered, value_type physbnd, value_type interior) |
|
void | FBEP_nowait (int scomp, int ncomp, const IntVect &nghost, const Periodicity &period, bool cross, bool enforce_periodicity_only=false, bool override_sync=false) |
|
void | FBEP_nowait (int scomp, int ncomp, const IntVect &nghost, const Periodicity &period, bool cross, bool enforce_periodicity_only, bool override_sync) |
|
void | FB_local_copy_cpu (const FB &TheFB, int scomp, int ncomp) |
|
void | PC_local_cpu (const CPC &thecpc, FabArray< IArrayBox > const &src, int scomp, int dcomp, int ncomp, CpOp op) |
|
LayoutData< int > | RecvLayoutMask (const CommMetaData &thecmd) |
|
void | FB_local_copy_gpu (const FB &TheFB, int scomp, int ncomp) |
|
void | PC_local_gpu (const CPC &thecpc, FabArray< IArrayBox > const &src, int scomp, int dcomp, int ncomp, CpOp op) |
|
void | CMD_local_setVal_gpu (value_type x, const CommMetaData &thecmd, int scomp, int ncomp) |
|
void | CMD_remote_setVal_gpu (value_type x, const CommMetaData &thecmd, int scomp, int ncomp) |
|
void | pack_send_buffer_gpu (FabArray< IArrayBox > const &src, int scomp, int ncomp, Vector< char * > const &send_data, Vector< std::size_t > const &send_size, Vector< CopyComTagsContainer const * > const &send_cctc) |
|
void | unpack_recv_buffer_gpu (FabArray< IArrayBox > &dst, int dcomp, int ncomp, Vector< char * > const &recv_data, Vector< std::size_t > const &recv_size, Vector< CopyComTagsContainer const * > const &recv_cctc, CpOp op, bool is_thread_safe) |
|
void | pack_send_buffer_cpu (FabArray< IArrayBox > const &src, int scomp, int ncomp, Vector< char * > const &send_data, Vector< std::size_t > const &send_size, Vector< CopyComTagsContainer const * > const &send_cctc) |
|
void | unpack_recv_buffer_cpu (FabArray< IArrayBox > &dst, int dcomp, int ncomp, Vector< char * > const &recv_data, Vector< std::size_t > const &recv_size, Vector< CopyComTagsContainer const * > const &recv_cctc, CpOp op, bool is_thread_safe) |
|
F::value_type | norminf (int comp, int ncomp, IntVect const &nghost, bool local=false,[[maybe_unused]] bool ignore_covered=false) const |
| Return infinity norm. More...
|
|
F::value_type | norminf (FabArray< IFAB > const &mask, int comp, int ncomp, IntVect const &nghost, bool local=false) const |
| Return infinity norm in masked region. More...
|
|
| FabArrayBase ()=default |
|
| ~FabArrayBase ()=default |
|
| FabArrayBase (const BoxArray &bxs, const DistributionMapping &dm, int nvar, int ngrow) |
|
| FabArrayBase (const BoxArray &bxs, const DistributionMapping &dm, int nvar, const IntVect &ngrow) |
|
| FabArrayBase (FabArrayBase &&rhs) noexcept=default |
|
| FabArrayBase (const FabArrayBase &rhs)=default |
|
FabArrayBase & | operator= (const FabArrayBase &rhs)=default |
|
FabArrayBase & | operator= (FabArrayBase &&rhs)=default |
|
void | define (const BoxArray &bxs, const DistributionMapping &dm, int nvar, int ngrow) |
|
void | define (const BoxArray &bxs, const DistributionMapping &dm, int nvar, const IntVect &ngrow) |
|
int | nGrow (int direction=0) const noexcept |
| Return the grow factor that defines the region of definition. More...
|
|
IntVect | nGrowVect () const noexcept |
|
int | nComp () const noexcept |
| Return number of variables (aka components) associated with each point. More...
|
|
IndexType | ixType () const noexcept |
| Return index type. More...
|
|
bool | empty () const noexcept |
|
const BoxArray & | boxArray () const noexcept |
| Return a constant reference to the BoxArray that defines the valid region associated with this FabArray. More...
|
|
Box | box (int K) const noexcept |
| Return the Kth Box in the BoxArray. That is, the valid region of the Kth grid. More...
|
|
Box | fabbox (int K) const noexcept |
| Return the Kth FABs Box in the FabArray. That is, the region the Kth fab is actually defined on. More...
|
|
int | size () const noexcept |
| Return the number of FABs in the FabArray. More...
|
|
int | local_size () const noexcept |
| Return the number of local FABs in the FabArray. More...
|
|
const Vector< int > & | IndexArray () const noexcept |
| Return constant reference to indices in the FabArray that we have access. More...
|
|
int | localindex (int K) const noexcept |
| Return local index in the vector of FABs. More...
|
|
const DistributionMapping & | DistributionMap () const noexcept |
| Return constant reference to associated DistributionMapping. More...
|
|
bool | is_nodal () const noexcept |
| This tests on whether the FabArray is fully nodal. More...
|
|
bool | is_nodal (int dir) const noexcept |
| This tests on whether the FabArray is nodal in direction dir. More...
|
|
bool | is_cell_centered () const noexcept |
| This tests on whether the FabArray is cell-centered. More...
|
|
void | setMultiGhost (bool a_multi_ghost) |
|
IntVect | nGrowFilled () const noexcept |
|
void | setNGrowFilled (IntVect const &ng) noexcept |
|
bool | isFusingCandidate () const noexcept |
| Is this a good candidate for kernel fusing? More...
|
|
BDKey | getBDKey () const noexcept |
|
void | updateBDKey () |
|
void | flushFPinfo (bool no_assertion=false) const |
|
void | flushCFinfo (bool no_assertion=false) const |
|
const TileArray * | getTileArray (const IntVect &tilesize) const |
|
void | clear () |
|
const std::vector< bool > & | OwnerShip () const noexcept |
| Return owenership of fabs. The concept of ownership only applies when UPC++ team is used. In that case, each fab is shared by team workers, with one taking the ownership. More...
|
|
bool | isOwner (int li) const noexcept |
|
void | buildTileArray (const IntVect &tilesize, TileArray &ta) const |
|
void | flushTileArray (const IntVect &tilesize=IntVect::TheZeroVector(), bool no_assertion=false) const |
|
void | define_fb_metadata (CommMetaData &cmd, const IntVect &nghost, bool cross, const Periodicity &period, bool multi_ghost) const |
|
const FB & | getFB (const IntVect &nghost, const Periodicity &period, bool cross=false, bool enforce_periodicity_only=false, bool override_sync=false) const |
|
void | flushFB (bool no_assertion=false) const |
| This flushes its own FB. More...
|
|
const CPC & | getCPC (const IntVect &dstng, const FabArrayBase &src, const IntVect &srcng, const Periodicity &period, bool to_ghost_cells_only=false) const |
|
void | flushCPC (bool no_assertion=false) const |
| This flushes its own CPC. More...
|
|
const RB90 & | getRB90 (const IntVect &nghost, const Box &domain) const |
|
void | flushRB90 (bool no_assertion=false) const |
| This flushes its own RB90. More...
|
|
const RB180 & | getRB180 (const IntVect &nghost, const Box &domain) const |
|
void | flushRB180 (bool no_assertion=false) const |
| This flushes its own RB180. More...
|
|
const PolarB & | getPolarB (const IntVect &nghost, const Box &domain) const |
|
void | flushPolarB (bool no_assertion=false) const |
| This flushes its own PolarB. More...
|
|
ParForInfo const & | getParForInfo (const IntVect &nghost, int nthreads) const |
|
void | flushParForInfo (bool no_assertion=false) const |
|
void | clearThisBD (bool no_assertion=false) const |
| clear BD count and caches associated with this BD, if no other is using this BD. More...
|
|
void | addThisBD () |
| add the current BD into BD count database More...
|
|