aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/ggf.hh
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-10-01 16:26:06 -0500
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 18:25:26 +0000
commitfe5957c06f76fae9074f237ee9675f26a71121b9 (patch)
treefbe6990b09c157d530f2987a15eaac3aee1e7a5d /Carpet/CarpetLib/src/ggf.hh
parent673d981e37b81792b1c6b304cc3078daebb6dbc4 (diff)
CarpetLib: Add new transport operator "accumulate"
Add a new transport operator "accumulate", which accumulates ghost zones into grid functions. (This is in a sense the opposite of regular synchronisation, which copies grid function values into ghost zones.)
Diffstat (limited to 'Carpet/CarpetLib/src/ggf.hh')
-rw-r--r--Carpet/CarpetLib/src/ggf.hh12
1 files changed, 9 insertions, 3 deletions
diff --git a/Carpet/CarpetLib/src/ggf.hh b/Carpet/CarpetLib/src/ggf.hh
index d9412f822..56263fa80 100644
--- a/Carpet/CarpetLib/src/ggf.hh
+++ b/Carpet/CarpetLib/src/ggf.hh
@@ -124,6 +124,9 @@ public:
// Synchronise the boundaries of a component
void sync_all (comm_state& state, int tl, int rl, int ml);
+ // Accumulate from boundaries of a component
+ void accumulate_all (comm_state& state, int tl, int rl, int ml);
+
// Prolongate the boundaries of a component
void ref_bnd_prolongate_all (comm_state& state,
int tl, int rl, int ml, CCTK_REAL time);
@@ -168,14 +171,16 @@ protected:
srpvect const dh::fast_dboxes::* sendrecvs,
vector<int> const & tl2s, int rl2, int ml2,
CCTK_REAL const & time,
- mdata * srcstorage = 0);
+ mdata * srcstorage = 0,
+ bool flip_send_recv = false);
void
transfer_from_all (comm_state & state,
int tl1, int rl1, int ml1,
srpvect const dh::fast_dboxes::* sendrecvs,
int tl2, int rl2, int ml2,
- mdata * srcstorage = 0)
+ mdata * srcstorage = 0,
+ bool flip_send_recv = false)
{
vector <int> tl2s(1);
tl2s.AT(0) = tl2;
@@ -185,7 +190,8 @@ protected:
sendrecvs,
tl2s, rl2, ml2,
time,
- srcstorage);
+ srcstorage,
+ flip_send_recv);
}