2 #ifndef AMREX_TagBox_H_
3 #define AMREX_TagBox_H_
4 #include <AMReX_Config.H>
42 bool shared = false,
Arena* ar =
nullptr);
46 ~
TagBox () noexcept override = default;
79 [[nodiscard]]
Vector<
int>
tags () const noexcept;
126 void tags (const
Vector<
int>& ar, const
Box& tilebx) noexcept;
187 void mapPeriodicRemoveDuplicates (
const Geometry& geom);
213 bool hasTags (
Box const& bx)
const;
A virtual base class for objects that manage their own dynamic memory allocation.
Definition: AMReX_Arena.H:100
A FortranArrayBox(FAB)-like object.
Definition: AMReX_BaseFab.H:183
void setVal(char const &x, const Box &bx, int dcomp, int ncomp) noexcept
The setVal functions set sub-regions in the BaseFab to a constant value. This most general form speci...
Definition: AMReX_BaseFab.H:1869
A collection of Boxes stored in an Array.
Definition: AMReX_BoxArray.H:550
Calculates the distribution of FABs to MPI processes.
Definition: AMReX_DistributionMapping.H:41
An Array of FortranArrayBox(FAB)-like Objects.
Definition: AMReX_FabArray.H:344
Rectangular problem domain geometry.
Definition: AMReX_Geometry.H:73
Definition: AMReX_PODVector.H:246
An array of TagBoxes.
Definition: AMReX_TagBox.H:150
TagBoxArray(const TagBoxArray &rhs)=delete
TagBoxArray(TagBoxArray &&rhs) noexcept=default
TagBox::TagType TagType
The type of each tag.
Definition: AMReX_TagBox.H:154
Tagged cells in a Box.
Definition: AMReX_TagBox.H:26
void get_itags(Vector< int > &ar, const Box &tilebx) const noexcept
Since a TagBox is a BaseFab<char>, we can use this utility function to allocate an integer array to h...
Definition: AMReX_TagBox.cpp:180
void coarsen(const IntVect &ratio, const Box &cbox) noexcept
Construct and return a new tagbox in which the coarsened cell is tagged of any of the corresponding f...
Definition: AMReX_TagBox.cpp:33
TagBox() noexcept=default
TagBox & operator=(const TagBox &rhs)=delete
char TagType
The type of each tag.
Definition: AMReX_TagBox.H:30
Vector< int > tags() const noexcept
Returns Vector<int> of size domain.numPts() suitable for calling Fortran, with positions set to same ...
Definition: AMReX_TagBox.cpp:124
TagVal
Possible values for each cell.
Definition: AMReX_TagBox.H:33
@ SET
Definition: AMReX_TagBox.H:33
@ CLEAR
Definition: AMReX_TagBox.H:33
@ BUF
Definition: AMReX_TagBox.H:33
void tags_and_untags(const Vector< int > &ar) noexcept
Set values as specified by the array – this tags and untags. It's an error if ar.length() !...
Definition: AMReX_TagBox.cpp:161
void buffer(const IntVect &a_nbuff, const IntVect &nwid) noexcept
Mark neighbors of every tagged cell a distance nbuff away only search interior for initial tagged poi...
Definition: AMReX_TagBox.cpp:76
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition: AMReX_Vector.H:27
Definition: AMReX_Amr.cpp:49
MakeType
Definition: AMReX_MakeType.H:7
void * alloc(std::size_t sz) const noexcept
Definition: AMReX_DataAllocator.H:16