aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/dh.hh
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-12-02 14:36:26 -0500
committerErik Schnetter <schnetter@cct.lsu.edu>2010-12-02 14:36:26 -0500
commitc26beb8a7b7e830b49a39b988a5beabf60ba1d15 (patch)
tree7ed5d4a69c11950cefbd3a08fc306a5912ef720d /Carpet/CarpetLib/src/dh.hh
parent0d74009c2f6fcb48991f5fe4c43b28237a8a7210 (diff)
CarpetLib: Redefine handling of reduction mask
Calculate fine_active, the active points on the next finer grid overlapping with the current component. Temporarily store the per-level set of active grid points per level, introducing a new structure level_dboxes. Remove outdated code.
Diffstat (limited to 'Carpet/CarpetLib/src/dh.hh')
-rw-r--r--Carpet/CarpetLib/src/dh.hh41
1 files changed, 22 insertions, 19 deletions
diff --git a/Carpet/CarpetLib/src/dh.hh b/Carpet/CarpetLib/src/dh.hh
index 406bda355..7b5f595c1 100644
--- a/Carpet/CarpetLib/src/dh.hh
+++ b/Carpet/CarpetLib/src/dh.hh
@@ -48,24 +48,10 @@ public:
ibbox exterior; // whole region (including boundaries)
ibbox owned; // evolved in time
ibbox interior; // interior (without ghost zones)
-
-#if 0
- // TODO: Create a new datatype bboxarr for this? Or get rid of
- // it?
- int numactive;
- static int const maxactive = 4;
- ibbox active[maxactive]; // owned minus buffers
-#endif
-
// Region statistics:
typedef ibbox::size_type size_type;
size_type exterior_size, owned_size, active_size;
-#if 0
- static void ibset2ibboxs (ibset const& s, ibbox* bs, int& nbs);
- static void ibboxs2ibset (ibbox const* bs, int const& nbs, ibset& s);
-#endif
-
size_t memory () const CCTK_ATTRIBUTE_PURE;
istream & input (istream & is);
ostream & output (ostream & os) const;
@@ -75,15 +61,14 @@ public:
// Information about the processor-local region:
- ibset buffers; // buffer zones
+ ibset buffers; // buffer zones
vector<ibset> buffers_stepped; // buffer zones [substep]
- ibset active; // owned minus buffers
+ ibset active; // owned minus buffers
// Mask
ibset restricted_region; // filled by restriction
- ibset unused_region; // not used (overwritten later) region
- vect<vect<ibset,2>,dim> restriction_boundaries; // partly filled by restriction
- vect<vect<ibset,2>,dim> prolongation_boundaries; // partly used by prolongation
+ ibset fine_active;
+ ibset unused_region; // not used (overwritten later)
// Refluxing
vect<vect<ibset,2>,dim> coarse_boundary;
@@ -94,6 +79,21 @@ public:
ostream & output (ostream & os) const;
};
+ struct level_dboxes {
+
+ // Level description:
+
+ // ibset exterior;
+ // ibset outer_boundaries;
+ // ibset communicated;
+ // ibset boundaries;
+ // ibset owned;
+ // ibset buffers;
+ ibset active;
+ // ibset bndref;
+
+ };
+
struct full_dboxes {
// Complete region description:
@@ -182,6 +182,9 @@ public:
typedef vector<local_cboxes> local_rboxes; // ... for each refinement level
typedef vector<local_rboxes> local_mboxes; // ... for each multigrid level
+ typedef vector<level_dboxes> level_rboxes; // ... for each refinement level
+ typedef vector<level_rboxes> level_mboxes; // ... for each multigrid level
+
typedef vector<full_dboxes> full_cboxes; // ... for each component
typedef vector<full_cboxes> full_rboxes; // ... for each refinement level
typedef vector<full_rboxes> full_mboxes; // ... for each multigrid level