From 8a7141fa88d298b270fdd26c43bf50556ed5844c Mon Sep 17 00:00:00 2001 From: Robert Kloefkorn Date: Wed, 5 Apr 2017 13:54:12 +0200 Subject: [PATCH] [feature] Add GridInit for PolyhedralGrid. --- opm/autodiff/GridInit.hpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/opm/autodiff/GridInit.hpp b/opm/autodiff/GridInit.hpp index 1cbed0a49..e88044963 100644 --- a/opm/autodiff/GridInit.hpp +++ b/opm/autodiff/GridInit.hpp @@ -25,6 +25,7 @@ #include #if HAVE_OPM_GRID +#include #include #endif @@ -68,6 +69,30 @@ namespace Opm #if HAVE_OPM_GRID + /// Specialization for PolyhedralGrid. + template < int dim, int dimworld > + class GridInit< Dune::PolyhedralGrid< dim, dimworld > > + { + public: + typedef Dune::PolyhedralGrid< dim, dimworld > Grid; + /// Initialize from a deck and/or an eclipse state and (logical cartesian) specified pore volumes. + GridInit(const EclipseState& eclipse_state, const std::vector& porv) + : grid_manager_(eclipse_state.getInputGrid(), porv), + grid_( *grid_manager_.c_grid() ) + { + } + + /// Access the created grid. + const Grid& grid() + { + return grid_; + } + private: + GridManager grid_manager_; + Grid grid_; + }; + + /// Specialization for CpGrid. template <> class GridInit