aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/modes.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/Carpet/src/modes.cc')
-rw-r--r--Carpet/Carpet/src/modes.cc28
1 files changed, 26 insertions, 2 deletions
diff --git a/Carpet/Carpet/src/modes.cc b/Carpet/Carpet/src/modes.cc
index 038815393..d101a509b 100644
--- a/Carpet/Carpet/src/modes.cc
+++ b/Carpet/Carpet/src/modes.cc
@@ -113,7 +113,7 @@ namespace Carpet {
const int c = dist::rank();
const ibbox& baseext = arrdata.AT(group).AT(m).hh->baseextents.AT(ml).AT(rl);
- const ibbox& ext = arrdata.AT(group).AT(m).dd->boxes.AT(ml).AT(rl).AT(c).exterior;
+ const ibbox& ext = arrdata.AT(group).AT(m).dd->light_boxes.AT(ml).AT(rl).AT(c).exterior;
const b2vect& obnds = arrdata.AT(group).AT(m).hh->outer_boundaries(rl,c);
cGroupDynamicData & info = groupdata.AT(group).info;
@@ -545,7 +545,7 @@ namespace Carpet {
// Set cGH fields
const ibbox& baseext = vhh.AT(map)->baseextents.AT(mglevel).AT(reflevel);
- const ibbox& ext = vdd.AT(map)->boxes.AT(mglevel).AT(reflevel).AT(component).exterior;
+ const ibbox& ext = vdd.AT(map)->light_boxes.AT(mglevel).AT(reflevel).AT(component).exterior;
const b2vect& obnds = vhh.AT(map)->outer_boundaries(reflevel,component);
ivect_ref(cctkGH->cctk_lbnd) =
@@ -1352,6 +1352,30 @@ namespace Carpet {
//
+ // Loop over a bounding box
+ //
+
+ void ibbox2iminimax (ibbox const& ext, // component extent
+ ibbox const& box, // this bbox
+ ivect& imin, ivect& imax)
+ {
+ ivect const izero = ivect(0);
+
+ assert (all ((box.lower() - ext.lower() ) >= 0));
+ assert (all ((box.upper() - ext.lower() + ext.stride()) >= 0));
+ assert (all ((box.lower() - ext.lower() ) % ext.stride() == 0));
+ assert (all ((box.upper() - ext.lower() + ext.stride()) % ext.stride() == 0));
+
+ imin = (box.lower() - ext.lower() ) / ext.stride();
+ imax = (box.upper() - ext.lower() + ext.stride()) / ext.stride();
+
+ assert (all (0 <= imin));
+ assert (box.empty() xor all (imin <= imax));
+ }
+
+
+
+ //
// Call a scheduling group
//