|
constexpr AMREX_GPU_HOST_DEVICE | BoxND () noexcept |
|
constexpr AMREX_GPU_HOST_DEVICE | BoxND (const IntVectND< dim > &small, const IntVectND< dim > &big) noexcept |
| Construct cell-centered type BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE | BoxND (const IntVectND< dim > &small, const int *vec_len) noexcept |
| Construct BoxND with specified lengths. More...
|
|
AMREX_GPU_HOST_DEVICE | BoxND (const IntVectND< dim > &small, const IntVectND< dim > &big, const IntVectND< dim > &typ) noexcept |
| Construct BoxND with given type. small and big are expected to be consistent with given type. More...
|
|
AMREX_GPU_HOST_DEVICE | BoxND (const IntVectND< dim > &small, const IntVectND< dim > &big, IndexTypeND< dim > t) noexcept |
| Construct dimension specific Boxes. More...
|
|
template<typename T , int Tdim = dim, std::enable_if_t<(1<=Tdim &&Tdim<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE | BoxND (Array4< T > const &a) noexcept |
|
AMREX_GPU_HOST_DEVICE const IntVectND< dim > & | smallEnd () const &noexcept |
| Get the smallend of the BoxND. More...
|
|
const IntVectND< dim > & | smallEnd () &&=delete |
| Get the smallend of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE int | smallEnd (int dir) const &noexcept |
| Returns the coordinate of the low end in the given direction. More...
|
|
AMREX_GPU_HOST_DEVICE const IntVectND< dim > & | bigEnd () const &noexcept |
| Get the bigend. More...
|
|
const IntVectND< dim > & | bigEnd () &&=delete |
| Get the bigend. More...
|
|
AMREX_GPU_HOST_DEVICE int | bigEnd (int dir) const noexcept |
| Returns the coordinate of the high end in the given direction. More...
|
|
AMREX_GPU_HOST_DEVICE IndexTypeND< dim > | ixType () const noexcept |
| Returns the indexing type. More...
|
|
AMREX_GPU_HOST_DEVICE IntVectND< dim > | type () const noexcept |
| Returns the indexing type. More...
|
|
AMREX_GPU_HOST_DEVICE IndexType::CellIndex | type (int dir) const noexcept |
| Returns the indexing type in the specified direction. More...
|
|
AMREX_GPU_HOST_DEVICE IntVectND< dim > | size () const noexcept |
| Return the length of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE IntVectND< dim > | length () const noexcept |
| Return the length of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE int | length (int dir) const noexcept |
| Return the length of the BoxND in given direction. More...
|
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE GpuArray< int, 3 > | length3d () const noexcept |
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE GpuArray< int, 3 > | loVect3d () const noexcept |
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE GpuArray< int, 3 > | hiVect3d () const noexcept |
|
AMREX_GPU_HOST_DEVICE const int * | loVect () const &noexcept |
| Returns a constant pointer the array of low end coordinates. Useful for calls to FORTRAN. More...
|
|
AMREX_GPU_HOST_DEVICE const int * | loVect () &&=delete |
|
AMREX_GPU_HOST_DEVICE const int * | hiVect () const &noexcept |
| Returns a constant pointer the array of high end coordinates. Useful for calls to FORTRAN. More...
|
|
AMREX_GPU_HOST_DEVICE const int * | hiVect () &&=delete |
|
AMREX_GPU_HOST_DEVICE int | operator[] (Orientation face) const noexcept |
| Returns the coordinate normal to given face. More...
|
|
AMREX_GPU_HOST_DEVICE bool | isEmpty () const noexcept |
| Checks if it is an empty BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE bool | ok () const noexcept |
| Checks if it is a proper BoxND (including a valid type). More...
|
|
AMREX_GPU_HOST_DEVICE bool | contains (const IntVectND< dim > &p) const noexcept |
| Returns true if argument is contained within BoxND. More...
|
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE bool | contains (const Dim3 &p) const noexcept |
| Returns true if argument is contained within BoxND. More...
|
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE bool | contains (int i, int j, int k) const noexcept |
| Returns true if argument is contained within BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE bool | contains (const BoxND &b) const noexcept |
| Returns true if argument is contained within BoxND. It is an error if the Boxes have different types. More...
|
|
AMREX_GPU_HOST_DEVICE bool | strictly_contains (const IntVectND< dim > &p) const noexcept |
| Returns true if argument is strictly contained within BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE bool | strictly_contains (const BoxND &b) const noexcept |
| Returns true if argument is strictly contained within BoxND. It is an error if the Boxes have different types. More...
|
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE bool | strictly_contains (const Dim3 &p) const noexcept |
| Returns true if argument is strictly contained within BoxND. More...
|
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE bool | strictly_contains (int i, int j, int k) const noexcept |
| Returns true if argument is strictly contained within BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE bool | intersects (const BoxND &b) const noexcept |
| Returns true if Boxes have non-null intersections. It is an error if the Boxes have different types. More...
|
|
AMREX_GPU_HOST_DEVICE bool | sameSize (const BoxND &b) const noexcept |
| Returns true is Boxes same size, ie translates of each other,. It is an error if they have different types. More...
|
|
AMREX_GPU_HOST_DEVICE bool | sameType (const BoxND &b) const noexcept |
| Returns true if Boxes have same type. More...
|
|
AMREX_GPU_HOST_DEVICE bool | operator== (const BoxND &b) const noexcept |
| Returns true if Boxes are identical (including type). More...
|
|
AMREX_GPU_HOST_DEVICE bool | operator!= (const BoxND &b) const noexcept |
| Returns true if Boxes differ (including type). More...
|
|
AMREX_GPU_HOST_DEVICE bool | operator< (const BoxND &rhs) const noexcept |
|
AMREX_GPU_HOST_DEVICE bool | operator<= (const BoxND &rhs) const noexcept |
|
AMREX_GPU_HOST_DEVICE bool | operator> (const BoxND &rhs) const noexcept |
|
AMREX_GPU_HOST_DEVICE bool | operator>= (const BoxND &rhs) const noexcept |
|
AMREX_GPU_HOST_DEVICE bool | cellCentered () const noexcept |
| Returns true if BoxND is cell-centered in all indexing directions. More...
|
|
void | checkOverflow () const noexcept |
| Assert that there are no int/Long overflows when calling length or numPts. More...
|
|
AMREX_GPU_HOST_DEVICE Long | numPts () const noexcept |
| Returns the number of points contained in the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE double | d_numPts () const noexcept |
| Returns the number of points contained in the BoxND. This is intended for use only in diagnostic messages. More...
|
|
AMREX_GPU_HOST_DEVICE Long | volume () const noexcept |
| Return the volume, in indexing space, of region enclosed by this BoxND. This is identical to numPts() for CELL centered BoxND; otherwise, numPts() > volume(). More...
|
|
AMREX_GPU_HOST_DEVICE int | longside (int &dir) const noexcept |
| Returns length of longest side. dir is modified to give direction with longest side: 0...dim-1. Ignores type. More...
|
|
AMREX_GPU_HOST_DEVICE int | longside () const noexcept |
| Returns length of longest side. Ignores type. More...
|
|
AMREX_GPU_HOST_DEVICE int | shortside (int &dir) const noexcept |
| Returns length of shortest side. dir is modified to give direction with shortest side: 0...dim-1. Ignores type. More...
|
|
AMREX_GPU_HOST_DEVICE int | shortside () const noexcept |
| Returns length of shortest side. Ignores type. More...
|
|
AMREX_GPU_HOST_DEVICE Long | index (const IntVectND< dim > &v) const noexcept |
| Returns offset of point from smallend; i.e. index(smallend) -> 0, bigend would return numPts()-1. Is used in accessing FArrayBox. More...
|
|
AMREX_GPU_HOST_DEVICE IntVectND< dim > | atOffset (Long offset) const noexcept |
| Given the offset, compute IntVectND<dim> More...
|
|
template<int N = dim, std::enable_if_t<(1<=N &&N<=3), int > = 0> |
AMREX_GPU_HOST_DEVICE GpuArray< int, 3 > | atOffset3d (Long offset) const noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | setSmall (const IntVectND< dim > &sm) noexcept |
| Redefine the small end of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | setSmall (int dir, int sm_index) noexcept |
| Redefine the small end of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | setBig (const IntVectND< dim > &bg) noexcept |
| Redefine the big end of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | setBig (int dir, int bg_index) noexcept |
| Redefine the big end of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | setRange (int dir, int sm_index, int n_cells=1) noexcept |
| Set the entire range in a given direction, starting at sm_index with length n_cells. NOTE: This will yield an illegal BoxND if n_cells <= 0. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | setType (const IndexTypeND< dim > &t) noexcept |
| Set indexing type. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | shift (int dir, int nzones) noexcept |
| Shift this BoxND nzones indexing positions in coordinate direction dir. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | shift (const IntVectND< dim > &iv) noexcept |
| Equivalent to b.shift(0,iv[0]).shift(1,iv[1]) .... More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | shiftHalf (int dir, int num_halfs) noexcept |
| This member shifts the BoxND by "half" indices, thereby converting the BoxND from type CELL to NODE and visa-versa. b.shiftHalf(0,1) shifts b to the right by 1/2 cells. b.shiftHalf(1,-3) shifts b in the -j direction by 3/2 cells. NOTE: If num_halfs is EVEN the shift is num_halfs/2 full zones and hence will not change the type. This is: b.shifthalf(4) == b.shift(2). More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | shiftHalf (const IntVectND< dim > &iv) noexcept |
| Equivalent to b.shiftHalf(0,iv[0]).shiftHalf(1,iv[1]) ... More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | convert (IndexTypeND< dim > typ) noexcept |
| Convert the BoxND from the current type into the argument type. This may change the BoxND coordinates: type CELL -> NODE : increase coordinate by one on high end type NODE -> CELL : reduce coordinate by one on high end other type mappings make no change. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | convert (const IntVectND< dim > &typ) noexcept |
| Convert the BoxND from the current type into the argument type. This may change the BoxND coordinates: type CELL -> NODE : increase coordinate by one on high end type NODE -> CELL : reduce coordinate by one on high end other type mappings make no change. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | surroundingNodes () noexcept |
| Convert to NODE type in all directions. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | surroundingNodes (int dir) noexcept |
| Convert to NODE type in given direction. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | surroundingNodes (Direction d) noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | enclosedCells () noexcept |
| Convert to CELL type in all directions. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | enclosedCells (int dir) noexcept |
| Convert to CELL type in given direction. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | enclosedCells (Direction d) noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND | operator& (const BoxND &rhs) const noexcept |
| Return BoxND that is intersection of this BoxND and argument. The Boxes MUST be of same type. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | operator&= (const BoxND &rhs) noexcept |
| Intersect this BoxND with its argument. The Boxes MUST be of the same type. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | minBox (const BoxND &b) noexcept |
| Modify BoxND to that of the minimum BoxND containing both the original BoxND and the argument. Both Boxes must have identical type. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | operator+= (const IntVectND< dim > &v) noexcept |
| Shift BoxND (relative) by given IntVectND<dim>. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND | operator+ (const IntVectND< dim > &v) const noexcept |
| Shift BoxND (relative) by given IntVectND<dim>. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | operator-= (const IntVectND< dim > &v) noexcept |
| Shift BoxND (relative) by given IntVectND<dim>. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND | operator- (const IntVectND< dim > &v) const noexcept |
| Shift BoxND (relative) by given IntVectND<dim>. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND | chop (int dir, int chop_pnt) noexcept |
| Chop the BoxND at the chop_pnt in the dir direction returns one BoxND, modifies the object BoxND. The union of the two is the original BoxND. The modified BoxND is the low end, the returned BoxND is the high end. If type(dir) = CELL, the Boxes are disjoint with the chop_pnt included in the high end (new BoxND). It is an ERROR if chop_pnt is the low end of the orig BoxND. If type(dir) = NODE, the chop_pnt is included in both Boxes but is the only point in common. It is also an error if the chop_pnt is an end node of the BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | grow (int i) noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | grow (const IntVectND< dim > &v) noexcept |
| Grow BoxND in each direction by specified amount. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | grow (int idir, int n_cell) noexcept |
| Grow the BoxND on the low and high end by n_cell cells in direction idir. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | grow (Direction d, int n_cell) noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | growLo (int idir, int n_cell=1) noexcept |
| Grow the BoxND on the low end by n_cell cells in direction idir. NOTE: n_cell negative shrinks the BoxND by that number of cells. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | growLo (Direction d, int n_cell=1) noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | growHi (int idir, int n_cell=1) noexcept |
| Grow the BoxND on the high end by n_cell cells in direction idir. NOTE: n_cell negative shrinks the BoxND by that number of cells. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | growHi (Direction d, int n_cell=1) noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | grow (Orientation face, int n_cell=1) noexcept |
| Grow in the direction of the given face. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | refine (int ref_ratio) noexcept |
| Refine BoxND by given (positive) refinement ratio. NOTE: if type(dir) = CELL centered: lo <- lo*ratio and hi <- (hi+1)*ratio - 1. NOTE: if type(dir) = NODE centered: lo <- lo*ratio and hi <- hi*ratio. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | refine (const IntVectND< dim > &ref_ratio) noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | coarsen (int ref_ratio) noexcept |
| Coarsen BoxND by given (positive) refinement ratio. NOTE: if type(dir) = CELL centered: lo <- lo/ratio and hi <- hi/ratio. NOTE: if type(dir) = NODE centered: lo <- lo/ratio and hi <- hi/ratio + ((hiratio)==0 ? 0 : 1). That is, refinement of coarsened BoxND must contain the original BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE BoxND & | coarsen (const IntVectND< dim > &ref_ratio) noexcept |
| Coarsen BoxND by given (positive) refinement ratio. NOTE: if type(dir) = CELL centered: lo <- lo/ratio and hi <- hi/ratio. NOTE: if type(dir) = NODE centered: lo <- lo/ratio and hi <- hi/ratio + ((hiratio)==0 ? 0 : 1). That is, refinement of coarsened BoxND must contain the original BoxND. More...
|
|
AMREX_GPU_HOST_DEVICE void | next (IntVectND< dim > &) const noexcept |
| Step through the rectangle. It is a runtime error to give a point not inside rectangle. Iteration may not be efficient. More...
|
|
AMREX_GPU_HOST_DEVICE bool | isSquare () const noexcept |
|
AMREX_GPU_HOST_DEVICE bool | coarsenable (const IntVectND< dim > &refrat, const IntVectND< dim > &min_width) const noexcept |
|
AMREX_GPU_HOST_DEVICE bool | coarsenable (int refrat, int min_width=1) const noexcept |
|
AMREX_GPU_HOST_DEVICE bool | coarsenable (const IntVectND< dim > &refrat, int min_width=1) const noexcept |
|
AMREX_GPU_HOST_DEVICE void | normalize () noexcept |
|
AMREX_GPU_HOST_DEVICE BoxND & | makeSlab (int direction, int slab_index) noexcept |
|
template<int new_dim> |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE BoxND< new_dim > | shrink () const noexcept |
| Returns a new BoxND of dimension new_dim and assigns the first new_dim dimension of this BoxND to it. More...
|
|
template<int new_dim> |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE BoxND< new_dim > | expand () const noexcept |
| Returns a new BoxND of size new_dim and assigns all values of this BoxND to it and (small=0, big=0, typ=CELL) to the remaining elements. More...
|
|
template<int new_dim> |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE BoxND< new_dim > | resize () const noexcept |
| Returns a new BoxND of size new_dim by either shrinking or expanding this BoxND. More...
|
|
template<int N, std::enable_if_t<(1<=N &&N<=3), int > > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE GpuArray< int, 3 > | atOffset3d (Long offset) const noexcept |
|