diff options
Report total number of active cells in refinement hierarchy
Diffstat (limited to 'src/refinement')
-rw-r--r-- | src/refinement/grid2D.h | 2 | ||||
-rw-r--r-- | src/refinement/grid2D.hh | 10 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/refinement/grid2D.h b/src/refinement/grid2D.h index 37e764a..95324f7 100644 --- a/src/refinement/grid2D.h +++ b/src/refinement/grid2D.h @@ -110,6 +110,8 @@ public: RefiningGrid2D<T,DESCRIPTOR>& refine(Vector<T,2> origin, Vector<T,2> extend, bool addCouplers=true); + std::size_t getActiveVoxelN() const; + }; template <typename T, template<typename> class DESCRIPTOR> diff --git a/src/refinement/grid2D.hh b/src/refinement/grid2D.hh index 941bff7..504808a 100644 --- a/src/refinement/grid2D.hh +++ b/src/refinement/grid2D.hh @@ -218,6 +218,16 @@ Vector<T,2> Grid2D<T,DESCRIPTOR>::alignExtendToGrid(Vector<T,2> extend) const } template <typename T, template<typename> class DESCRIPTOR> +std::size_t Grid2D<T,DESCRIPTOR>::getActiveVoxelN() const +{ + std::size_t n = _geometry->getStatistics().getNvoxel(); + for (const auto& grid : _fineGrids) { + n += grid->getActiveVoxelN(); + } + return n; +} + +template <typename T, template<typename> class DESCRIPTOR> RefiningGrid2D<T,DESCRIPTOR>& Grid2D<T,DESCRIPTOR>::refine( Vector<T,2> wantedOrigin, Vector<T,2> wantedExtend, bool addCouplers) { |