#1238: implement buffer mask in CarpetEvolutionMask --------------------------+------------------------------------------------- Reporter: rhaas | Owner: eschnett Type: enhancement | Status: review Priority: minor | Milestone: Component: Carpet | Version: Resolution: | Keywords: CarpetEvolutionMask --------------------------+-------------------------------------------------
Comment (by eschnett):
If you want to run in buffers or ghosts, then you can take the ibset corresponding to buffers and union it with the bboxes corresponding to ghosts. Ghosts are easy to identify; they are at the faces identified by cctk_bbox and have a width of cctk_nghostzones.
On the other hand, if you need a weird combination of points which Carpet doesn't already identify, then you may as well use your own logic here.
Note: The notion of "buffer points" is well defined in Carpet. The regridding algorithm (i.e. CarpetRegrid2) is supposed to specify a refined region that includes buffer points. Carpet will then take the outermost layer nbufferzones wide, and call these "buffer points". The remaining points are called "active".
The exact rules are slightly more complex. For example, ghost points are added around the buffer points except at outer boundaries. Also, buffer points exist only near refinement boundaries, not near outer boundaries. Furthermore, there are "overlap points" between the active and the buffer points that I ignored in my description above. However, there is a well- defined algorithm determining which points are classified as what.