diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2010-10-01 16:26:06 -0500 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 18:25:26 +0000 |
commit | fe5957c06f76fae9074f237ee9675f26a71121b9 (patch) | |
tree | fbe6990b09c157d530f2987a15eaac3aee1e7a5d /Carpet/CarpetLib/src/ggf.hh | |
parent | 673d981e37b81792b1c6b304cc3078daebb6dbc4 (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.hh | 12 |
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); } |