diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2008-10-01 11:57:31 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2008-10-01 16:57:19 -0500 |
commit | 45863a4d7ca26ebdbc030aad8bfb74eca4acceac (patch) | |
tree | cb237254b2f18ac175f01ae7613b88071ad43e69 /Carpet/CarpetInterp2 | |
parent | bc031aab4bc2bcb04fbd0c95726366aabf65b53b (diff) |
CarpetInterp2: Allow interpolation in global mode
Diffstat (limited to 'Carpet/CarpetInterp2')
-rw-r--r-- | Carpet/CarpetInterp2/src/fasterp.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Carpet/CarpetInterp2/src/fasterp.cc b/Carpet/CarpetInterp2/src/fasterp.cc index 19d0eed51..1bea555f4 100644 --- a/Carpet/CarpetInterp2/src/fasterp.cc +++ b/Carpet/CarpetInterp2/src/fasterp.cc @@ -602,7 +602,14 @@ namespace CarpetInterp2 { vector<int> proc (npoints); fill_with_poison (proc); vector<int> nlocs (nprocs, 0); - assert (Carpet::is_level_mode()); + int min_rl, max_rl; + if (Carpet::is_level_mode()) { + min_rl = Carpet::reflevel; + max_rl = Carpet::reflevel + 1; + } else if (Carpet::is_global_mode()) { + min_rl = 0; + max_rl = Carpet::reflevels; + } #pragma omp parallel for for (int n=0; n<npoints; ++n) { int const m = locations.maps.AT(n); @@ -620,9 +627,7 @@ namespace CarpetInterp2 { // Find refinement level and component int rl, c; ivect ipos; - hh->locate_position (rpos, - Carpet::mglevel, - Carpet::reflevel, Carpet::reflevel+1, + hh->locate_position (rpos, Carpet::mglevel, min_rl, max_rl, rl, c, ipos); if (not (rl>=0 and c>=0)) { #pragma omp critical |