aboutsummaryrefslogtreecommitdiff
path: root/Carpet
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2011-04-17 22:55:15 -0400
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 18:26:07 +0000
commita2f131a50da6372b55007dcd28e8279c14982e24 (patch)
tree2c1d16c067b9cdcdb8d3228391425fdc251fd7b0 /Carpet
parent912f4fca9a4e66457608a6d2811503fdf1dbe82f (diff)
CarpetRegrid2: Provide more debug output
Diffstat (limited to 'Carpet')
-rw-r--r--Carpet/CarpetRegrid2/src/regrid.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/Carpet/CarpetRegrid2/src/regrid.cc b/Carpet/CarpetRegrid2/src/regrid.cc
index 95561d8c1..c4c9fa91d 100644
--- a/Carpet/CarpetRegrid2/src/regrid.cc
+++ b/Carpet/CarpetRegrid2/src/regrid.cc
@@ -126,10 +126,17 @@ namespace CarpetRegrid2 {
assert (all (istride % 2 == 0));
}
+#if 1
ivect const ipos =
hh.refcent == vertex_centered
? ivect (floor (((rpos - origin) * scale ) / rvect(istride) + rvect(0.5))) * istride
: ivect (floor (((rpos - origin) * scale - rvect(bistride/2)) / rvect(istride) )) * istride + istride/2 + bistride/2;
+#else
+ ivect const ipos =
+ hh.refcent == vertex_centered
+ ? ivect (floor (((rpos - origin) * scale ) / rvect(istride) + rvect(0.5))) * istride
+ : ivect (floor (((rpos - origin) * scale - rvect(bistride/2)) / rvect(istride) + rvect(0.5))) * istride + istride/2 + bistride/2;
+#endif
return ipos;
}
@@ -149,10 +156,17 @@ namespace CarpetRegrid2 {
assert (all (istride % 2 == 0));
}
+#if 1
ivect const ipos =
hh.refcent == vertex_centered
? ivect (ceil (((rpos - origin) * scale ) / rvect(istride) - rvect(0.5))) * istride
: ivect (ceil (((rpos - origin) * scale - rvect(bistride/2)) / rvect(istride) )) * istride - istride/2 + bistride/2;
+#else
+ ivect const ipos =
+ hh.refcent == vertex_centered
+ ? ivect (ceil (((rpos - origin) * scale ) / rvect(istride) - rvect(0.5))) * istride
+ : ivect (ceil (((rpos - origin) * scale - rvect(bistride/2)) / rvect(istride) - rvect(0.5))) * istride - istride/2 + bistride/2;
+#endif
return ipos;
}
@@ -200,6 +214,12 @@ namespace CarpetRegrid2 {
ivect const str = ib.stride();
assert (all (str == base.stride()));
+ if (veryverbose) {
+ cout << "Snapping: coarse is " << cbase << ", current is " << base << "\n";
+ }
+
+#warning "TODO: shift/unshift boxes, because we are looking at grid points, not cell boundaries"
+
return ib.expand(reffact-1).contracted_for(cbase).expanded_for(base);
}
@@ -452,6 +472,10 @@ namespace CarpetRegrid2 {
rvect const rmin = centre._position - centre._radius.at(rl);
rvect const rmax = centre._position + centre._radius.at(rl);
+ if (veryverbose) {
+ cout << "Centre " << n+1 << " refinement level " << rl << ": coordinate region is (" << rmin << ":" << rmax << ")\n";
+ }
+
// Convert to an integer bbox
ivect const istride = hh.baseextents.at(0).at(rl).stride();
ivect const imin =
@@ -461,9 +485,17 @@ namespace CarpetRegrid2 {
rpos2ipos1 (rmax, origin, scale, hh, rl)
+ boundary_shiftout * istride;
+ if (veryverbose) {
+ cout << "Centre " << n+1 << " refinement level " << rl << ": integer region is (" << imin << ":" << imax << ")\n";
+ }
+
ibbox const region =
snap_ibbox (ibbox (imin, imax, istride), hh, rl);
+ if (veryverbose) {
+ cout << "Centre " << n+1 << " refinement level " << rl << ": snapped integer region is " << region << "\n";
+ }
+
// Add this region to the list of regions
if (static_cast <int> (regions.size()) < rl+1) {
regions.resize (rl+1);