diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2010-12-02 14:36:26 -0500 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 18:25:43 +0000 |
commit | 0d1a956a6f962929612820b9fa410d18b7e604f3 (patch) | |
tree | c88b09953c0532036bb80d1ac281b72c7b8bbef7 /Carpet/CarpetLib/src/dh.hh | |
parent | 479da06e8d890e1930e67d5d581378ea674b6754 (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.hh | 41 |
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 |