diff options
Fix grid alignment of refinement area
Diffstat (limited to 'src/refinement/grid2D.hh')
-rw-r--r-- | src/refinement/grid2D.hh | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/refinement/grid2D.hh b/src/refinement/grid2D.hh index 65dd84d..59e23ce 100644 --- a/src/refinement/grid2D.hh +++ b/src/refinement/grid2D.hh @@ -181,7 +181,7 @@ Grid2D<T,DESCRIPTOR>& Grid2D<T,DESCRIPTOR>::refine(IndicatorF2D<T>& domainF) } template <typename T, template<typename> class DESCRIPTOR> -Vector<T,2> Grid2D<T,DESCRIPTOR>::alignToGrid(Vector<T,2> physR) const +Vector<T,2> Grid2D<T,DESCRIPTOR>::alignLocationToGrid(Vector<T,2> physR) const { Vector<int,3> latticeR{}; _cuboids->getLatticeR(physR, latticeR); @@ -189,6 +189,13 @@ Vector<T,2> Grid2D<T,DESCRIPTOR>::alignToGrid(Vector<T,2> physR) const } template <typename T, template<typename> class DESCRIPTOR> +Vector<T,2> Grid2D<T,DESCRIPTOR>::alignExtendToGrid(Vector<T,2> extend) const +{ + const T deltaX = _converter->getPhysDeltaX(); + return floor(extend / deltaX) * deltaX; +} + +template <typename T, template<typename> class DESCRIPTOR> Grid2D<T,DESCRIPTOR>& Grid2D<T,DESCRIPTOR>::refine(Vector<T,2> origin, Vector<T,2> extend) { IndicatorCuboid2D<T> fineCuboid(extend, origin); |