diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-11-13 21:41:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-11-13 21:41:00 +0000 |
commit | a530bfa05b55321f5fbfbf64ce30802e7bf649d9 (patch) | |
tree | 9377b5edd8a9b7a12c36b789923cc4e0b292d126 /Carpet/CarpetLib/src/dh.hh | |
parent | ebc572cca7cff6fd2d99fdf1fb4fa3c2f1cc2e01 (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.hh | 9 |
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); |