Skip to content

Commit

Permalink
Tidy up grid indexing using CCTK_LSSH macro
Browse files Browse the repository at this point in the history
Clean up the code that uses lssh. Note: Although most people don't
know about lssh, it's defined by the flesh, and e.g. all standard
Cactus boundary conditions use it. However, Carpet currently always
sets lssh to lsh, so the difference is "hidden".
  • Loading branch information
eschnett authored and ianhinder committed May 27, 2011
1 parent c8c94cc commit 184f594
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 21 deletions.
10 changes: 5 additions & 5 deletions Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.c
Expand Up @@ -209,7 +209,7 @@ void GenericFD_GetBoundaryInfo(cGH const * restrict const cctkGH,
imin[dir] = npoints;
break;
case 1: /* Upper boundary */
imax[dir] = cctk_lssh[CCTK_LSSH_IDX(0,dir)] - npoints;
imax[dir] = CCTK_LSSH(0,dir) - npoints;
break;
default:
CCTK_WARN(0, "internal error");
Expand All @@ -229,7 +229,7 @@ void GenericFD_LoopOverEverything(cGH const * restrict const cctkGH, Kranc_Calcu
CCTK_REAL tangentA[] = {0,0,0};
CCTK_REAL tangentB[] = {0,0,0};
int bmin[] = {0,0,0};
int bmax[] = {cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)]};
int bmax[] = {CCTK_LSSH(0,0),CCTK_LSSH(0,1),CCTK_LSSH(0,2)};

calc(cctkGH, dir, face, normal, tangentA, tangentB, bmin, bmax, 0, NULL);
return;
Expand Down Expand Up @@ -291,7 +291,7 @@ void GenericFD_LoopOverBoundary(cGH const * restrict const cctkGH, Kranc_Calcula
break;
case +1:
bmin[d] = imax[d];
bmax[d] = cctk_lssh[CCTK_LSSH_IDX(0,d)];
bmax[d] = CCTK_LSSH(0,d);
have_bnd = 1;
all_physbnd = all_physbnd && is_physbnd[2*d+1];
break;
Expand Down Expand Up @@ -384,7 +384,7 @@ void GenericFD_LoopOverBoundaryWithGhosts(cGH const * restrict const cctkGH, Kra
break;
case +1:
bmin[d] = imax[d];
bmax[d] = cctk_lssh[CCTK_LSSH_IDX(0,d)];
bmax[d] = CCTK_LSSH(0,d);
have_bnd = 1;
have_physbnd = have_physbnd || is_physbnd[2*d+1];
break;
Expand Down Expand Up @@ -464,7 +464,7 @@ void GenericFD_PenaltyPrim2Char(cGH const * restrict const cctkGH, int const dir
CCTK_REAL tangentA[] = {0,0,0};
CCTK_REAL tangentB[] = {0,0,0};
int bmin[] = {0,0,0};
int bmax[] = {cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)]};
int bmax[] = {cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]};
CCTK_REAL **all_vars;
int i = 0;

Expand Down
30 changes: 15 additions & 15 deletions Tools/CodeGen/CodeGen.m
Expand Up @@ -335,7 +335,7 @@
" CCTK_VInfo(CCTK_THORNSTRING, \"ipos: %d %d %d\", i, j, k);\n",
" CCTK_VInfo(CCTK_THORNSTRING, \"lbnd: %d %d %d\", cctk_lbnd[0], cctk_lbnd[1], cctk_lbnd[2]);\n",
" CCTK_VInfo(CCTK_THORNSTRING, \"lsh: %d %d %d\", cctk_lsh[0], cctk_lsh[1], cctk_lsh[2]);\n",
" CCTK_VInfo(CCTK_THORNSTRING, \"lssh: %d %d %d\", cctk_lssh[CCTK_LSSH_IDX(0,0)], cctk_lssh[CCTK_LSSH_IDX(0,1)], cctk_lssh[CCTK_LSSH_IDX(0,2)]);\n",
" CCTK_VInfo(CCTK_THORNSTRING, \"LSSH: %d %d %d\", CCTK_LSSH(0,0), CCTK_LSSH(0,1), CCTK_LSSH(0,2));\n",
" CCTK_VInfo(CCTK_THORNSTRING, \"", expr, ": %.17g\", (double)", expr, ");\n",
"}\n"};

Expand Down Expand Up @@ -553,9 +553,9 @@
AssignVariable["kstart", arrayIndex["index_offset_z"]],

"\n",
AssignVariable["iend", {arrayElement["cctk_lssh", "CCTK_LSSH_IDX(0,0)"], " - index_offset_x"}],
AssignVariable["jend", {arrayElement["cctk_lssh", "CCTK_LSSH_IDX(0,1)"], " - index_offset_y"}],
AssignVariable["kend", {arrayElement["cctk_lssh", "CCTK_LSSH_IDX(0,2)"], " - index_offset_z"}]
AssignVariable["iend", {"CCTK_LSSH(0,0) - index_offset_x"}],
AssignVariable["jend", {"CCTK_LSSH(0,1) - index_offset_y"}],
AssignVariable["kend", {"CCTK_LSSH(0,2) - index_offset_z"}]
},

{
Expand All @@ -564,9 +564,9 @@
AssignVariable["kstart", arrayIndex[0]],

"\n",
AssignVariable["iend", arrayElement["cctk_lssh", "CCTK_LSSH_IDX(0,0)"]],
AssignVariable["jend", arrayElement["cctk_lssh", "CCTK_LSSH_IDX(0,1)"]],
AssignVariable["kend", arrayElement["cctk_lssh", "CCTK_LSSH_IDX(0,2)"]]
AssignVariable["iend", "CCTK_LSSH(0,0)"],
AssignVariable["jend", "CCTK_LSSH(0,1)"],
AssignVariable["kend", "CCTK_LSSH(0,2)"]
}]
];

Expand Down Expand Up @@ -703,9 +703,9 @@
AssignVariable[arrayElement["bmin", 0], "is_physbnd[0*2+0] ? 0 : imin[0]"],
AssignVariable[arrayElement["bmin", 1], "is_physbnd[1*2+0] ? 0 : imin[1]"],
AssignVariable[arrayElement["bmin", 2], "is_physbnd[2*2+0] ? 0 : imin[2]"],
AssignVariable[arrayElement["bmax", 0], "is_physbnd[0*2+1] ? cctk_from[CCTK_LSSH_IDX(0,0)] : imax[0]"],
AssignVariable[arrayElement["bmax", 1], "is_physbnd[1*2+1] ? cctk_from[CCTK_LSSH_IDX(0,1)] : imax[1]"],
AssignVariable[arrayElement["bmax", 2], "is_physbnd[2*2+1] ? cctk_from[CCTK_LSSH_IDX(0,2)] : imax[2]"]}],
AssignVariable[arrayElement["bmax", 0], "is_physbnd[0*2+1] ? CCTK_LSSH(0,0) : imax[0]"],
AssignVariable[arrayElement["bmax", 1], "is_physbnd[1*2+1] ? CCTK_LSSH(0,1) : imax[1]"],
AssignVariable[arrayElement["bmax", 2], "is_physbnd[2*2+1] ? CCTK_LSSH(0,2) : imax[2]"]}],

CommentedBlock["Loop over all faces",
loopOverInteger["dir", "0", "3",
Expand All @@ -716,7 +716,7 @@
{0, {AssignVariable[arrayElement["bmax", "dir"], {arrayElement["imin", "dir"], ""}],
AssignVariable[arrayElement["bmin", "dir"], {0, ""}]}},
{1, {AssignVariable[arrayElement["bmin", "dir"], {arrayElement["imax", "dir"], "" }],
AssignVariable[arrayElement["bmax", "dir"], {"cctk_lssh[CCTK_LSSH_IDX(0,dir)]", ""}]}}]],
AssignVariable[arrayElement["bmax", "dir"], {"CCTK_LSSH(0,dir)", ""}]}}]],
conditional[arrayElement["is_physbnd", "dir * 2 + face"],
loopOverInteger["k", arrayElement["bmin",2], arrayElement["bmax",2],
loopOverInteger["j", arrayElement["bmin",1], arrayElement["bmax",1],
Expand All @@ -740,9 +740,9 @@
AssignVariable[arrayElement["bmin", 0], "0"],
AssignVariable[arrayElement["bmin", 1], "0"],
AssignVariable[arrayElement["bmin", 2], "0"],
AssignVariable[arrayElement["bmax", 0], "cctk_lssh[CCTK_LSSH_IDX(0,0)]"],
AssignVariable[arrayElement["bmax", 1], "cctk_lssh[CCTK_LSSH_IDX(0,1)]"],
AssignVariable[arrayElement["bmax", 2], "cctk_lssh[CCTK_LSSH_IDX(0,2)]"]}],
AssignVariable[arrayElement["bmax", 0], "CCTK_LSSH(0,0)"],
AssignVariable[arrayElement["bmax", 1], "CCTK_LSSH(0,1)"],
AssignVariable[arrayElement["bmax", 2], "CCTK_LSSH(0,2)"]}],

CommentedBlock["Loop over all faces",
loopOverInteger["dir", "0", "3",
Expand All @@ -753,7 +753,7 @@
{0, {AssignVariable[arrayElement["bmax", "dir"], {arrayElement["imin", "dir"], ""}],
AssignVariable[arrayElement["bmin", "dir"], {0, ""}]}},
{1, {AssignVariable[arrayElement["bmin", "dir"], {arrayElement["imax", "dir"], "" }],
AssignVariable[arrayElement["bmax", "dir"], {"cctk_lssh[CCTK_LSSH_IDX(0,dir)]", ""}]}}]],
AssignVariable[arrayElement["bmax", "dir"], {"CCTK_LSSH(0,dir)]", ""}]}}]],
conditional[arrayElement["is_physbnd", "dir * 2 + face"],
loopOverInteger["k", arrayElement["bmin",2], arrayElement["bmax",2],
loopOverInteger["j", arrayElement["bmin",1], arrayElement["bmax",1],
Expand Down
2 changes: 1 addition & 1 deletion Tools/CodeGen/Thorn.m
Expand Up @@ -1176,7 +1176,7 @@
" assert (len);\n\n",

" for (d = 0; d < 3; ++d) {\n",
" assert (off[d] >= 0 && len[d] >= 0 && off[d] + len[d] <= cctk_lssh[CCTK_LSSH_IDX(0,d)]);\n",
" assert (off[d] >= 0 && len[d] >= 0 && off[d] + len[d] <= CCTK_LSSH(0,d));\n",
" }\n\n",

" assert (modes);\n",
Expand Down

0 comments on commit 184f594

Please sign in to comment.