diff --git a/dumux/common/geometry/intersectingentities.hh b/dumux/common/geometry/intersectingentities.hh index 6cf916c02bc5f0b710b84f7c133ac86dda853fd7..c82558f20ba22911805f7adb9620a2f3cac0f404 100644 --- a/dumux/common/geometry/intersectingentities.hh +++ b/dumux/common/geometry/intersectingentities.hh @@ -73,8 +73,9 @@ intersectingEntityCartesian(const Dune::FieldVector<ctype, dimworld>& point, min[2] - eps2 <= point[2] && point[2] <= max[2] + eps2) { auto ijk = point-min; + using std::min; using std::max; for (int i = 0; i < dimworld; ++i) - ijk[i] = std::floor(ijk[i]*cells[i]/dist[i]); + ijk[i] = max(min(std::floor(ijk[i]*cells[i]/dist[i]), cells[i]-1), 0.0); return std::make_pair(true, (unsigned int)(cells[1]*cells[0]*int(ijk[2]) + cells[0]*int(ijk[1]) + int(ijk[0]))); }