#350: Autogenerating cctk_Loop.h --------------------------+------------------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: minor | Milestone: Component: Cactus | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment (by eschnett):
2. Ok.
3. If we use CCTK_NORMAL for the normal, then we should also use CCTK_INDEX for the loop index... Joke aside, we can store the distance from the outer boundary in the normal. (The "number of points less than the boundary size which are available" would be less useful -- it would be large at the boundary, and small in the interior, thus it wouldn't indicate what stencil you can use.)
4. The issue isn't looping over physics vs. looping over symmetry zones. The issue is that there are three boundary specifiers (physical, symmetry, ghost), and in three dimension, and boundary can have up to three specifies attach to it (corners!). Yes, a boundary can be all of a physical, a symmetry, and a ghost boundary. The issue is in handling these. BOUNDARIES loops over all boundaries that are physical boundaries (irrespective of whether they are also a symmetry or a ghost boundary), INTBOUNDARIES loops over all boundaries that are only physical boundaries. The former does not require applying symmetry conditions and synchronisation afterwards, the latter allows taking tangential derivatives.