aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/CarpetLib/src')
-rw-r--r--Carpet/CarpetLib/src/defs.cc2
-rw-r--r--Carpet/CarpetLib/src/dh.cc28
-rw-r--r--Carpet/CarpetLib/src/dh.hh40
-rw-r--r--Carpet/CarpetLib/src/ggf.cc4
-rw-r--r--Carpet/CarpetLib/src/ggf.hh4
-rw-r--r--Carpet/CarpetLib/src/region.cc12
-rw-r--r--Carpet/CarpetLib/src/region.hh35
7 files changed, 64 insertions, 61 deletions
diff --git a/Carpet/CarpetLib/src/defs.cc b/Carpet/CarpetLib/src/defs.cc
index a5cedbab6..1dd6cb34f 100644
--- a/Carpet/CarpetLib/src/defs.cc
+++ b/Carpet/CarpetLib/src/defs.cc
@@ -201,6 +201,8 @@ template ostream& output (ostream& os, const vector<vect<int,3> >& v);
template ostream& output (ostream& os, const vector<vect<vect<bool,2>,3> >& v);
template ostream& output (ostream& os, const vector<dh::dboxes> & v);
template ostream& output (ostream& os, const vector<region_t>& v);
+template ostream& output (ostream& os, const vector<pseudoregion_t>& v);
+template ostream& output (ostream& os, const vector<sendrecv_pseudoregion_t>& v);
template ostream& output (ostream& os, const vector<list<bbox<int,3> > >& v);
template ostream& output (ostream& os, const vector<vector<int> >& v);
template ostream& output (ostream& os, const vector<vector<CCTK_REAL> >& v);
diff --git a/Carpet/CarpetLib/src/dh.cc b/Carpet/CarpetLib/src/dh.cc
index a5f7549a3..5f6bf5901 100644
--- a/Carpet/CarpetLib/src/dh.cc
+++ b/Carpet/CarpetLib/src/dh.cc
@@ -19,18 +19,6 @@ using namespace CarpetLib;
-ostream & operator<< (ostream & os, pseudoregion const & p)
-{
- return os << p.extent << "/p:" << p.processor;
-}
-
-ostream & operator<< (ostream & os, sendrecv_pseudoregion const & srp)
-{
- return os << "(send:" << srp.send << ",recv:" << srp.recv << ")";
-}
-
-
-
// Constructors
dh::
dh (gh & h_,
@@ -518,7 +506,7 @@ regrid ()
if (on_this_proc (c)) {
int const p = dist::rank();
level.AT(p).fast_mg_rest_sendrecv.push_back
- (sendrecv_pseudoregion (send, c, recv, c));
+ (sendrecv_pseudoregion_t (send, c, recv, c));
}
}
@@ -574,7 +562,7 @@ regrid ()
if (on_this_proc (c)) {
int const p = dist::rank();
level.AT(p).fast_mg_prol_sendrecv.push_back
- (sendrecv_pseudoregion (send, c, recv, c));
+ (sendrecv_pseudoregion_t (send, c, recv, c));
}
}
@@ -640,7 +628,7 @@ regrid ()
if (on_this_proc (c, cc)) {
int const p = dist::rank();
level.AT(p).fast_ref_prol_sendrecv.push_back
- (sendrecv_pseudoregion (send, cc, recv, c));
+ (sendrecv_pseudoregion_t (send, cc, recv, c));
}
}
@@ -706,7 +694,7 @@ regrid ()
if (on_this_proc (c, cc)) {
int const p = dist::rank();
level.AT(p).fast_sync_sendrecv.push_back
- (sendrecv_pseudoregion (send, cc, recv, c));
+ (sendrecv_pseudoregion_t (send, cc, recv, c));
}
}
@@ -777,7 +765,7 @@ regrid ()
if (on_this_proc (c, cc)) {
int const p = dist::rank();
level.AT(p).fast_ref_bnd_prol_sendrecv.push_back
- (sendrecv_pseudoregion (send, cc, recv, c));
+ (sendrecv_pseudoregion_t (send, cc, recv, c));
}
}
@@ -886,7 +874,7 @@ regrid ()
if (on_this_proc (c, cc)) {
int const p = dist::rank();
olevel.AT(p).fast_ref_rest_sendrecv.push_back
- (sendrecv_pseudoregion (send, c, recv, cc));
+ (sendrecv_pseudoregion_t (send, c, recv, cc));
}
}
@@ -952,7 +940,7 @@ regrid ()
if (on_this_proc (c, cc)) {
int const p = dist::rank();
level.AT(p).fast_old2new_sync_sendrecv.push_back
- (sendrecv_pseudoregion (send, cc, recv, c));
+ (sendrecv_pseudoregion_t (send, cc, recv, c));
}
}
@@ -1017,7 +1005,7 @@ regrid ()
if (on_this_proc (c, cc)) {
int const p = dist::rank();
level.AT(p).fast_old2new_ref_prol_sendrecv.push_back
- (sendrecv_pseudoregion (send, cc, recv, c));
+ (sendrecv_pseudoregion_t (send, cc, recv, c));
}
}
diff --git a/Carpet/CarpetLib/src/dh.hh b/Carpet/CarpetLib/src/dh.hh
index 9011525d7..7fda88728 100644
--- a/Carpet/CarpetLib/src/dh.hh
+++ b/Carpet/CarpetLib/src/dh.hh
@@ -11,47 +11,13 @@
#include "bboxset.hh"
#include "defs.hh"
#include "gh.hh"
+#include "region.hh"
#include "vect.hh"
using namespace std;
-// A pseudoregion is almost a region; it is a bbox that lives on a
-// certain processor. Pseudoregions are a compact way to store
-// information about what processors needs to send data to what other
-// processor during synchronisation or regridding.
-struct pseudoregion {
- ibbox extent;
- int processor;
- pseudoregion ()
- {
- }
- pseudoregion (ibbox const & extent_, int const processor_)
- : extent (extent_), processor (processor_)
- {
- }
-};
-
-ostream & operator<< (ostream & os, pseudoregion const & p);
-
-struct sendrecv_pseudoregion {
- pseudoregion send, recv;
- sendrecv_pseudoregion ()
- {
- }
- sendrecv_pseudoregion (ibbox const & send_extent, int const send_processor,
- ibbox const & recv_extent, int const recv_processor)
- : send (pseudoregion (send_extent, send_processor)),
- recv (pseudoregion (recv_extent, recv_processor))
- {
- }
-};
-
-ostream & operator<< (ostream & os, sendrecv_pseudoregion const & srp);
-
-
-
// Forward declaration
class ggf;
class dh;
@@ -66,8 +32,8 @@ public:
typedef list<ibbox> iblist;
typedef vector<iblist> iblistvect; // vector of lists
- typedef vector <pseudoregion> pvect;
- typedef vector <sendrecv_pseudoregion> srpvect;
+ typedef vector <pseudoregion_t> pvect;
+ typedef vector <sendrecv_pseudoregion_t> srpvect;
diff --git a/Carpet/CarpetLib/src/ggf.cc b/Carpet/CarpetLib/src/ggf.cc
index d0dc2e2e4..f24f03163 100644
--- a/Carpet/CarpetLib/src/ggf.cc
+++ b/Carpet/CarpetLib/src/ggf.cc
@@ -769,8 +769,8 @@ transfer_from_all (comm_state & state,
for (srpvect::const_iterator ipsendrecv = psendrecvs.begin();
ipsendrecv!=psendrecvs.end(); ++ ipsendrecv)
{
- pseudoregion const & psend = (* ipsendrecv).send;
- pseudoregion const & precv = (* ipsendrecv).recv;
+ pseudoregion_t const & psend = (* ipsendrecv).send;
+ pseudoregion_t const & precv = (* ipsendrecv).recv;
ibbox const & send = psend.extent;
ibbox const & recv = precv.extent;
int const c2 = psend.processor;
diff --git a/Carpet/CarpetLib/src/ggf.hh b/Carpet/CarpetLib/src/ggf.hh
index 89efcdb77..ae1320522 100644
--- a/Carpet/CarpetLib/src/ggf.hh
+++ b/Carpet/CarpetLib/src/ggf.hh
@@ -33,8 +33,8 @@ class ggf {
typedef list<ibbox> iblist;
typedef vector<iblist> iblistvect;
- typedef vector <pseudoregion> pvect;
- typedef vector <sendrecv_pseudoregion> srpvect;
+ typedef vector <pseudoregion_t> pvect;
+ typedef vector <sendrecv_pseudoregion_t> srpvect;
typedef gdata* tdata; // data ...
typedef vector<tdata> fdata; // ... for each time level
diff --git a/Carpet/CarpetLib/src/region.cc b/Carpet/CarpetLib/src/region.cc
index 7a9162b93..caf535598 100644
--- a/Carpet/CarpetLib/src/region.cc
+++ b/Carpet/CarpetLib/src/region.cc
@@ -74,3 +74,15 @@ operator<< (ostream & os, region_t const & reg)
<< "processor=" << reg.processor << ")";
return os;
}
+
+
+
+ostream & operator<< (ostream & os, pseudoregion_t const & p)
+{
+ return os << p.extent << "/p:" << p.processor;
+}
+
+ostream & operator<< (ostream & os, sendrecv_pseudoregion_t const & srp)
+{
+ return os << "(send:" << srp.send << ",recv:" << srp.recv << ")";
+}
diff --git a/Carpet/CarpetLib/src/region.hh b/Carpet/CarpetLib/src/region.hh
index d32b13a82..73b60004e 100644
--- a/Carpet/CarpetLib/src/region.hh
+++ b/Carpet/CarpetLib/src/region.hh
@@ -34,4 +34,39 @@ ostream & operator<< (ostream & os, region_t const & reg);
+// A pseudoregion is almost a region; it is a bbox that lives on a
+// certain processor. Pseudoregions are a compact way to store
+// information about what processors needs to send data to what other
+// processor during synchronisation or regridding.
+struct pseudoregion_t {
+ ibbox extent;
+ int processor;
+ pseudoregion_t ()
+ {
+ }
+ pseudoregion_t (ibbox const & extent_, int const processor_)
+ : extent (extent_), processor (processor_)
+ {
+ }
+};
+
+ostream & operator<< (ostream & os, pseudoregion_t const & p);
+
+struct sendrecv_pseudoregion_t {
+ pseudoregion_t send, recv;
+ sendrecv_pseudoregion_t ()
+ {
+ }
+ sendrecv_pseudoregion_t (ibbox const & send_extent, int const send_processor,
+ ibbox const & recv_extent, int const recv_processor)
+ : send (pseudoregion_t (send_extent, send_processor)),
+ recv (pseudoregion_t (recv_extent, recv_processor))
+ {
+ }
+};
+
+ostream & operator<< (ostream & os, sendrecv_pseudoregion_t const & srp);
+
+
+
#endif // #ifndef REGION_HH