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
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 18:25:43 +0000
commit0d1a956a6f962929612820b9fa410d18b7e604f3 (patch)
treec88b09953c0532036bb80d1ac281b72c7b8bbef7 /Carpet/CarpetLib/src/dh.hh
parent479da06e8d890e1930e67d5d581378ea674b6754 (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