Hello all,
I am trying to loop over the boundary of my domain using CCTK_LOOP3_BND(cckGH, i,j,k, ni,nj,nk). The documentation http://einsteintoolkit.org/usersguide/UsersGuidech9.html#x13-102000C1.7.1 says that "ni, nj, and nk are names of variables describing the (outwards pointing) normal direction to the boundary as well as the distance to the boundary."
However on a 5x5x5 grid and 1 boundary point in a uniprocess setup ni, nj, nk are either 0 or 1 but never eg -1 which I would expect for the lower boundary.
Looking at the code in flesh/src/include/cctk_Loop.h shows that ni is computed as
const int ni CCTK_ATTRIBUTE_UNUSED = cctki0_idir<0 ? i+1 : cctki0_idir==0 ? 0 : cctki0_imax-i;
ie by construction is always non-negative. LoopControl does the same.
Now my question is how am I supposed to find out which boundary I am at (lower or upper)?
Yours, Roland
It is supposed to be negative at lower boundaries. Sign error?
-erik
On Thu, May 7, 2020 at 02:42 Roland Haas rhaas@illinois.edu wrote:
Hello all,
I am trying to loop over the boundary of my domain using CCTK_LOOP3_BND(cckGH, i,j,k, ni,nj,nk). The documentation http://einsteintoolkit.org/usersguide/UsersGuidech9.html#x13-102000C1.7.1 says that "ni, nj, and nk are names of variables describing the (outwards pointing) normal direction to the boundary as well as the distance to the boundary."
However on a 5x5x5 grid and 1 boundary point in a uniprocess setup ni, nj, nk are either 0 or 1 but never eg -1 which I would expect for the lower boundary.
Looking at the code in flesh/src/include/cctk_Loop.h shows that ni is computed as
const int ni CCTK_ATTRIBUTE_UNUSED = cctki0_idir<0 ? i+1 : cctki0_idir==0 ? 0 : cctki0_imax-i;
ie by construction is always non-negative. LoopControl does the same.
Now my question is how am I supposed to find out which boundary I am at (lower or upper)?
Yours, Roland
-- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://pgp.mit.edu . _______________________________________________ Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users
users@lists.einsteintoolkit.org