diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2007-01-12 22:34:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2007-01-12 22:34:00 +0000 |
commit | f6574b1d790e41cf80dac26064221d48eb33f63f (patch) | |
tree | 42595c454fd95d1f8c9353caa1290c2e7b38107c /Carpet/CarpetIOASCII | |
parent | 56e9b5fe41a7a44a28987c3ba2f988f1ab98bb1f (diff) |
CarpetIOASCII: Correct conversion from indices to coordinates
Correct conversion from indices to coordinates. The conversion was
wrong for cell-centered grids.
darcs-hash:20070112223421-dae7b-097d63222078e11ab339c678cb358dc1191099d1.gz
Diffstat (limited to 'Carpet/CarpetIOASCII')
-rw-r--r-- | Carpet/CarpetIOASCII/src/ioascii.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Carpet/CarpetIOASCII/src/ioascii.cc b/Carpet/CarpetIOASCII/src/ioascii.cc index 3caa14475..86f727dfa 100644 --- a/Carpet/CarpetIOASCII/src/ioascii.cc +++ b/Carpet/CarpetIOASCII/src/ioascii.cc @@ -861,9 +861,12 @@ namespace CarpetIOASCII { rvect coord_delta; if (grouptype == CCTK_GF) { for (int d=0; d<dim; ++d) { + // lower boundary of Carpet's integer indexing global_lower[d] = cctkGH->cctk_origin_space[d]; - coord_delta[d] - = cctkGH->cctk_delta_space[d] / maxspacereflevelfact[d]; + // grid spacing of Carpet's integer indexing + coord_delta[d] = + cctkGH->cctk_delta_space[d] / + vhh.at(Carpet::map)->baseextent.stride()[d]; } } else { for (int d=0; d<dim; ++d) { @@ -879,7 +882,7 @@ namespace CarpetIOASCII { ivect offset1; if (grouptype == CCTK_GF) { const ibbox& baseext - = vdd.at(Carpet::map)->bases.at(mglevel).at(0).exterior; + = vdd.at(Carpet::map)->bases.at(mglevel).at(reflevel).exterior; offset1 = baseext.lower() + offset * ext.stride(); } else { offset1 = offset * ext.stride(); @@ -1075,11 +1078,7 @@ namespace CarpetIOASCII { assert (mglevel!=-1 and reflevel!=-1 and Carpet::map!=-1); const CCTK_REAL delta = cctkGH->cctk_delta_space[dir-1] / cctkGH->cctk_levfac[dir-1]; - const CCTK_REAL lower = cctkGH->cctk_origin_space[dir-1]; -#if 0 - const int npoints = cctkGH->cctk_gsh[dir-1]; - const CCTK_REAL upper = lower + (npoints-1) * delta; -#endif + const CCTK_REAL lower = cctkGH->cctk_origin_space[dir-1] + cctkGH->cctk_delta_space[dir-1] / cctkGH->cctk_levfac[dir-1] * cctkGH->cctk_levoff[dir-1] / cctkGH->cctk_levoffdenom[dir-1]; const CCTK_REAL rindex = (coord - lower) / delta; int cindex = (int)floor(rindex + 0.75); |