diff options
Diffstat (limited to 'Carpet/Carpet/src/modes.cc')
-rw-r--r-- | Carpet/Carpet/src/modes.cc | 97 |
1 files changed, 19 insertions, 78 deletions
diff --git a/Carpet/Carpet/src/modes.cc b/Carpet/Carpet/src/modes.cc index b5c9a9fb6..387d3a3ff 100644 --- a/Carpet/Carpet/src/modes.cc +++ b/Carpet/Carpet/src/modes.cc @@ -128,30 +128,17 @@ namespace Carpet { = (ext.lower() - baseext.lower()) / ext.stride(); ivect_ref(info.ubnd) = (ext.upper() - baseext.lower()) / ext.stride(); - ivect_ref(info.lsh) = gdata::allocated_memory_shape (ext); -#ifdef CCTK_HAVE_CGROUPDYNAMICDATA_LSSH - for (int stg=0; stg<CCTK_NSTAGGER; ++stg) { - for (int d=0; d<dim; ++d) { - // TODO: support staggering - const_cast<int*>(info.lssh)[CCTK_LSSH_IDX(stg,d)] - = (ext.shape() / ext.stride())[d]; - } - } -#endif + ivect_ref(info.lsh) = ext.shape() / ext.stride(); + ivect_ref(info.ash) = gdata::allocated_memory_shape (ext); if (gp.disttype == CCTK_DISTRIB_CONSTANT) { int const dir = gp.dim==0 ? 0 : gp.dim-1; ivect & gsh = ivect_ref(info.gsh); - ivect lssh = ivect_ref(info.lsh); -#ifdef CCTK_HAVE_CGROUPDYNAMICDATA_LSSH - for (int d=0; d<dim; ++d) { - lssh[d] = info.lssh[CCTK_LSSH_IDX(0,d)]; - } -#endif ivect & lbnd = ivect_ref(info.lbnd); ivect & ubnd = ivect_ref(info.ubnd); - gsh[dir] = lssh[dir]; + ivect const & lsh = ivect_ref(info.lsh); + gsh[dir] = lsh[dir]; lbnd[dir] = 0; - ubnd[dir] = lssh[dir] - 1; + ubnd[dir] = lsh[dir] - 1; } for (int d=0; d<dim; ++d) { const_cast<int*>(info.bbox)[2*d ] = obnds[0][d]; @@ -162,22 +149,13 @@ namespace Carpet { for (int d=0; d<dim; ++d) { assert (info.lsh[d]>=0); - //assert (info.lsh[d]<=info.gsh[d]); -#ifdef CCTK_HAVE_CGROUPDYNAMICDATA_LSSH - for (int stg=0; stg<CCTK_NSTAGGER; ++stg) { - assert (info.lssh[CCTK_LSSH_IDX(0,d)]>=0); - assert (info.lssh[CCTK_LSSH_IDX(0,d)]<=info.gsh[d]); - } -#endif + assert (info.lsh[d]<=info.gsh[d]); assert (info.lbnd[d]>=0); assert (info.lbnd[d]<=info.ubnd[d]+1); assert (info.ubnd[d]<info.gsh[d]); - //assert (info.lbnd[d] + info.lsh[d] - 1 == info.ubnd[d]); -#ifdef CCTK_HAVE_CGROUPDYNAMICDATA_LSSH - assert (info.lbnd[d] + info.lssh[CCTK_LSSH_IDX(0,d)] - 1 - == info.ubnd[d]); -#endif + assert (info.lbnd[d] + info.lsh[d] - 1 == info.ubnd[d]); assert (info.lbnd[d]<=info.ubnd[d]+1); + assert (info.lsh[d]<=info.ash[d]); } const int numvars = CCTK_NumVarsInGroupI (group); @@ -256,13 +234,7 @@ namespace Carpet { const_cast<int*>(info.bbox)[2*d ] = deadbeef; const_cast<int*>(info.bbox)[2*d+1] = deadbeef; } -#ifdef CCTK_HAVE_CGROUPDYNAMICDATA_LSSH - for (int stg=0; stg<CCTK_NSTAGGER; ++stg) { - for (int d=0; d<dim; ++d) { - const_cast<int*>(info.lssh)[CCTK_LSSH_IDX(stg,d)] = deadbeef; - } - } -#endif + ivect_ref(info.ash) = deadbeef; info.activetimelevels = deadbeef; const int numvars = CCTK_NumVarsInGroupI (group); @@ -551,37 +523,28 @@ namespace Carpet { (ext.lower() - baseext.lower()) / ext.stride(); ivect_ref(cctkGH->cctk_ubnd) = (ext.upper() - baseext.lower()) / ext.stride(); - ivect_ref(cctkGH->cctk_lsh) = gdata::allocated_memory_shape (ext); + ivect_ref(cctkGH->cctk_lsh) = ext.shape() / ext.stride(); + ivect_ref(cctkGH->cctk_ash) = gdata::allocated_memory_shape (ext); for (int d=0; d<dim; ++d) { cctkGH->cctk_bbox[2*d ] = obnds[0][d]; cctkGH->cctk_bbox[2*d+1] = obnds[1][d]; } - for (int stg=0; stg<CCTK_NSTAGGER; ++stg) { - for (int d=0; d<dim; ++d) { - // TODO: support staggering - cctkGH->cctk_lssh[CCTK_LSSH_IDX(stg,d)] - = (ext.shape() / ext.stride())[d]; - } - } for (int d=0; d<dim; ++d) { cctkGH->cctk_from[d] = 0; - cctkGH->cctk_to [d] = cctkGH->cctk_lssh[CCTK_LSSH_IDX(0,d)]; + cctkGH->cctk_to [d] = cctkGH->cctk_lsh[d]; } for (int d=0; d<dim; ++d) { - //assert (cctkGH->cctk_lsh[d] >= 0); - //assert (cctkGH->cctk_lsh[d] <= cctkGH->cctk_gsh[d]); - assert (cctkGH->cctk_lssh[CCTK_LSSH_IDX(0,d)] >= 0); - assert (cctkGH->cctk_lssh[CCTK_LSSH_IDX(0,d)] <= cctkGH->cctk_gsh[d]); + assert (cctkGH->cctk_lsh[d] >= 0); + assert (cctkGH->cctk_lsh[d] <= cctkGH->cctk_gsh[d]); assert (cctkGH->cctk_lbnd[d] >= 0); assert (cctkGH->cctk_lbnd[d] <= cctkGH->cctk_ubnd[d] + 1); assert (cctkGH->cctk_ubnd[d] < cctkGH->cctk_gsh[d]); - //assert (cctkGH->cctk_lbnd[d] + cctkGH->cctk_lsh[d] - 1 == cctkGH->cctk_ubnd[d]); - assert (cctkGH->cctk_lbnd[d] + cctkGH->cctk_lssh[CCTK_LSSH_IDX(0,d)] - 1 == cctkGH->cctk_ubnd[d]); + assert (cctkGH->cctk_lbnd[d] + cctkGH->cctk_lsh[d] - 1 == cctkGH->cctk_ubnd[d]); assert (cctkGH->cctk_lbnd[d] <= cctkGH->cctk_ubnd[d]+1); - assert (cctkGH->cctk_lssh[CCTK_LSSH_IDX(0,d)] <= cctkGH->cctk_lsh[d]); + assert (cctkGH->cctk_lsh[d] <= cctkGH->cctk_ash[d]); assert (cctkGH->cctk_from[d] >= 0); assert (cctkGH->cctk_from[d] <= cctkGH->cctk_to[d]); assert (cctkGH->cctk_to[d] <= cctkGH->cctk_lsh[d]); @@ -594,20 +557,13 @@ namespace Carpet { ivect_ref(info.lbnd) = ivect_ref(cctkGH->cctk_lbnd); ivect_ref(info.ubnd) = ivect_ref(cctkGH->cctk_ubnd); - ivect_ref(info.lsh) = ivect_ref(cctkGH->cctk_lsh); + ivect_ref(info.ash) = ivect_ref(cctkGH->cctk_ash); for (int d=0; d<dim; ++d) { const_cast<int*>(info.bbox)[2*d ] = cctkGH->cctk_bbox[2*d ]; const_cast<int*>(info.bbox)[2*d+1] = cctkGH->cctk_bbox[2*d+1]; } - - // for (int stg=0; stg<CCTK_NSTAGGER; ++stg) { - // for (int d=0; d<dim; ++d) { - // const_cast<int*>(info.lssh)[CCTK_LSSH_IDX(stg,d)] - // = cctkGH->cctk_lssh[CCTK_LSSH_IDX(stg,d)]; - // } - // } if (local_component != -1) { const int numvars = CCTK_NumVarsInGroupI (group); @@ -690,19 +646,13 @@ namespace Carpet { ivect_ref(cctkGH->cctk_from) = -deadbeef; ivect_ref(cctkGH->cctk_to ) = deadbeef; ivect_ref(cctkGH->cctk_lsh ) = deadbeef; + ivect_ref(cctkGH->cctk_ash ) = deadbeef; for (int d=0; d<dim; ++d) { cctkGH->cctk_bbox[2*d ] = deadbeef; cctkGH->cctk_bbox[2*d+1] = deadbeef; } - for (int stg=0; stg<CCTK_NSTAGGER; ++stg) { - for (int d=0; d<dim; ++d) { - // TODO: support staggering - cctkGH->cctk_lssh[CCTK_LSSH_IDX(stg,d)] = cctkGH->cctk_lsh[d]; - } - } - for (int group=0; group<CCTK_NumGroups(); ++group) { if (CCTK_GroupTypeI(group) == CCTK_GF) { @@ -710,23 +660,14 @@ namespace Carpet { ivect_ref(info.lbnd) = ivect_ref(cctkGH->cctk_lbnd); ivect_ref(info.ubnd) = ivect_ref(cctkGH->cctk_ubnd); - ivect_ref(info.lsh) = ivect_ref(cctkGH->cctk_lsh); + ivect_ref(info.ash) = ivect_ref(cctkGH->cctk_ash); for (int d=0; d<dim; ++d) { const_cast<int*>(info.bbox)[2*d ] = cctkGH->cctk_bbox[2*d ]; const_cast<int*>(info.bbox)[2*d+1] = cctkGH->cctk_bbox[2*d+1]; } -#ifdef CCTK_HAVE_CGROUPDYNAMICDATA_LSSH - for (int stg=0; stg<CCTK_NSTAGGER; ++stg) { - for (int d=0; d<dim; ++d) { - const_cast<int*>(info.lssh)[CCTK_LSSH_IDX(stg,d)] - = cctkGH->cctk_lssh[CCTK_LSSH_IDX(stg,d)]; - } - } -#endif - if (local_component != -1) { const int numvars = CCTK_NumVarsInGroupI (group); if (numvars>0) { |