aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/ggf.cc
diff options
context:
space:
mode:
authorschnetter <>2004-05-21 16:13:00 +0000
committerschnetter <>2004-05-21 16:13:00 +0000
commit9300e0e16a8f2bd6e5f1f9bc1aafda301ef59f0f (patch)
tree0ea39f63e924aeef0d86a461f0b183631536c029 /Carpet/CarpetLib/src/ggf.cc
parent0cef68415285da326195485a1571f564a5e7a672 (diff)
Add option to use less memory during regridding.
Add option to use less memory during regridding. Some more internal consistency checks. Some reformatting. darcs-hash:20040521161341-07bb3-de11e460fb175d3dbbd94708730c18a6e94e370a.gz
Diffstat (limited to 'Carpet/CarpetLib/src/ggf.cc')
-rw-r--r--Carpet/CarpetLib/src/ggf.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/Carpet/CarpetLib/src/ggf.cc b/Carpet/CarpetLib/src/ggf.cc
index b255343c8..282c9d524 100644
--- a/Carpet/CarpetLib/src/ggf.cc
+++ b/Carpet/CarpetLib/src/ggf.cc
@@ -1,6 +1,7 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.cc,v 1.42 2004/05/11 12:53:26 bzink Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.cc,v 1.43 2004/05/21 18:13:41 schnetter Exp $
#include <assert.h>
+#include <math.h>
#include <stdlib.h>
#include <iostream>
@@ -119,10 +120,10 @@ void ggf<D>::recompose_fill (comm_state<D>& state, const int rl)
for (int cc=0; cc<(int)oldstorage.at(tl-tmin).at(rl).size(); ++cc) {
if (ml<(int)oldstorage.at(tl-tmin).at(rl).at(cc).size()) {
// TODO: prefer same processor, etc., see dh.cc
- ibset ovlp = work & oldstorage.at(tl-tmin).at(rl).at(cc).at(ml)->extent();
+ ibset ovlp
+ = work & oldstorage.at(tl-tmin).at(rl).at(cc).at(ml)->extent();
ovlp.normalize();
work -= ovlp;
- work.normalize();
for (typename ibset::const_iterator r=ovlp.begin(); r!=ovlp.end(); ++r) {
storage.at(tl-tmin).at(rl).at(c).at(ml)->copy_from
(state, oldstorage.at(tl-tmin).at(rl).at(cc).at(ml), *r);
@@ -145,19 +146,20 @@ void ggf<D>::recompose_fill (comm_state<D>& state, const int rl)
for (int cc=0; cc<(int)storage.at(tl-tmin).at(rl-1).size(); ++cc) {
vector<const gdata<D>*> gsrcs(numtl);
for (int i=0; i<numtl; ++i) {
- gsrcs.at(i) = storage.at(tls.at(i)-tmin).at(rl-1).at(cc).at(ml);
+ gsrcs.at(i)
+ = storage.at(tls.at(i)-tmin).at(rl-1).at(cc).at(ml);
assert (gsrcs.at(i)->extent() == gsrcs.at(0)->extent());
}
const CCTK_REAL time = t.time(tl,rl,ml);
// TODO: choose larger regions first
// TODO: prefer regions from the same processor
- const iblist& list = d.boxes.at(rl).at(c).at(ml).recv_ref_coarse.at(cc);
+ const iblist& list
+ = d.boxes.at(rl).at(c).at(ml).recv_ref_coarse.at(cc);
for (typename iblist::const_iterator iter=list.begin(); iter!=list.end(); ++iter) {
ibset ovlp = work & *iter;
ovlp.normalize();
work -= ovlp;
- work.normalize();
for (typename ibset::const_iterator r=ovlp.begin(); r!=ovlp.end(); ++r) {
storage.at(tl-tmin).at(rl).at(c).at(ml)->interpolate_from
(state, gsrcs, times, *r, time,