aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@aei.mpg.de>2005-06-08 11:47:00 +0000
committerErik Schnetter <schnetter@aei.mpg.de>2005-06-08 11:47:00 +0000
commitbe3392ef1a4d100875e4f283959aa5afa4238cf9 (patch)
tree83a38672acaedbf01ccf3c996bcbd3db9fa89983 /Carpet/CarpetLib
parentd3974f81ff6d48903e1f2226c230a69257bf7551 (diff)
CarpetLib: Treat op_copy correctly when regridding
Treat the transport operator op_copy correctly when regridding, i.e., do not require more than 1 time level. darcs-hash:20050608114748-891bb-60e3c348364f32f5abe28697266a1b36c51dd678.gz
Diffstat (limited to 'Carpet/CarpetLib')
-rw-r--r--Carpet/CarpetLib/src/ggf.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/Carpet/CarpetLib/src/ggf.cc b/Carpet/CarpetLib/src/ggf.cc
index 6989ba28d..9a4790b82 100644
--- a/Carpet/CarpetLib/src/ggf.cc
+++ b/Carpet/CarpetLib/src/ggf.cc
@@ -163,7 +163,11 @@ void ggf::recompose_fill (comm_state& state, const int rl,
// Initialise from coarser level, if possible
if (rl>0) {
if (transport_operator != op_none) {
- const int numtl = prolongation_order_time+1;
+ const int pos = d.prolongation_order_space;
+ const int pot = (transport_operator != op_copy
+ ? prolongation_order_time
+ : 0);
+ const int numtl = pot+1;
assert (timelevels() >= numtl);
vector<int> tls(numtl);
vector<CCTK_REAL> times(numtl);
@@ -193,8 +197,7 @@ void ggf::recompose_fill (comm_state& state, const int rl,
r!=ovlp.end(); ++r)
{
storage.at(ml).at(rl).at(c).at(tl)->interpolate_from
- (state, gsrcs, times, *r, time,
- d.prolongation_order_space, prolongation_order_time);
+ (state, gsrcs, times, *r, time, pos, pot);
} // for r
} // for iter
} // for cc