aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/dh.hh
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2006-11-13 21:41:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2006-11-13 21:41:00 +0000
commita530bfa05b55321f5fbfbf64ce30802e7bf649d9 (patch)
tree9377b5edd8a9b7a12c36b789923cc4e0b292d126 /Carpet/CarpetLib/src/dh.hh
parentebc572cca7cff6fd2d99fdf1fb4fa3c2f1cc2e01 (diff)
CarpetLib: Correct the way prolongation boundaries are determined
Correc the way in which it is determined which points are boundary prolongated and which are synchronised. For this, introduce a new field "owned" to the dh class that determines which grid points a processor owns for interprocessor communication. darcs-hash:20061113214128-dae7b-34a520f7e461173d0042acde68cb48cd670b167a.gz
Diffstat (limited to 'Carpet/CarpetLib/src/dh.hh')
-rw-r--r--Carpet/CarpetLib/src/dh.hh9
1 files changed, 5 insertions, 4 deletions
diff --git a/Carpet/CarpetLib/src/dh.hh b/Carpet/CarpetLib/src/dh.hh
index eaa6bcbc8..95d2e9746 100644
--- a/Carpet/CarpetLib/src/dh.hh
+++ b/Carpet/CarpetLib/src/dh.hh
@@ -39,9 +39,9 @@ public:
// refinement boundaries, but does not refer to outer (physical)
// boundaries.
- // ghost zones, refinement boundaries, and outer boundaries are not
- // used as sources for synchronisation. this design choice might
- // not be good.
+ // ghost zones and outer boundaries are not used as sources for
+ // synchronisation. refinement boundaries are used. this design
+ // choice might not be good.
struct dboxes {
ibbox exterior; // whole region (including boundaries)
@@ -49,6 +49,7 @@ public:
// interprocessor boundary
ibbox interior; // interior (without boundaries)
+ ibset owned; // can be used for synchronisation
iblist send_mg_fine;
iblist send_mg_coarse;
iblist recv_mg_fine;
@@ -93,7 +94,7 @@ private:
void foreach_reflevel_component_mglevel (boxesop op);
// these all of form 'boxesop'
- void setup_sync_and_refine_boxes (dboxes & b, int rl, int c, int ml);
+ void setup_allocate (dboxes & b, int rl, int c, int ml);
void setup_sync_boxes (dboxes & b, int rl, int c, int ml);
void setup_multigrid_boxes (dboxes & b, int rl, int c, int ml);
void setup_refinement_prolongation_boxes (dboxes & b, int rl, int c, int ml);