diff options
author | Erik Schnetter <schnetter@aei.mpg.de> | 2005-03-03 10:25:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@aei.mpg.de> | 2005-03-03 10:25:00 +0000 |
commit | 0c0269575d69787cd206c6153420f238918ebcb2 (patch) | |
tree | a1b16293610de0fdbe354fc74ebfdbc4acd7abde /Carpet | |
parent | a6fa4a77af7ee12d1e60b923a3e5e9ddb894f1b4 (diff) |
CarpetInterp: Handle groups that have not all time levels allocated
darcs-hash:20050303102506-891bb-118df8e38d1ca7e981bb4f97b14d5a747c1b3928.gz
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/CarpetInterp/src/interp.cc | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/Carpet/CarpetInterp/src/interp.cc b/Carpet/CarpetInterp/src/interp.cc index 4340e77f9..8912e98ff 100644 --- a/Carpet/CarpetInterp/src/interp.cc +++ b/Carpet/CarpetInterp/src/interp.cc @@ -501,17 +501,21 @@ namespace CarpetInterp { assert (0); } - if (input_array_variable_indices[n] == -1) { - input_arrays.at(n) = 0; - } else if (tl >= my_num_tl) { - // Do a dummy interpolation from a later timelevel - int const vi = input_array_variable_indices[n]; - assert (vi>=0 && vi<CCTK_NumVars()); - input_arrays.at(n) = CCTK_VarDataPtrI (cgh, 0, vi); + if (vi == -1) { + input_arrays.at(n) = NULL; } else { - int const vi = input_array_variable_indices[n]; + // Do a dummy interpolation from a later timelevel + // if the desired timelevel does not exist + int const my_tl = tl >= my_num_tl ? 0 : tl; assert (vi>=0 && vi<CCTK_NumVars()); - input_arrays.at(n) = CCTK_VarDataPtrI (cgh, tl, vi); +#if 0 + input_arrays.at(n) = CCTK_VarDataPtrI (cgh, my_tl, vi); +#else + int const vi0 = CCTK_FirstVarIndexI (gi); + input_arrays.at(n) + = ((*arrdata.at(gi).at(Carpet::map).data.at(vi-vi0)) + (my_tl, reflevel, component, mglevel)->storage()); +#endif } } // for input arrays |