diff --git a/opm/simulators/aquifers/BlackoilAquiferModel.hpp b/opm/simulators/aquifers/BlackoilAquiferModel.hpp index 494d06e1a..1aceb62eb 100644 --- a/opm/simulators/aquifers/BlackoilAquiferModel.hpp +++ b/opm/simulators/aquifers/BlackoilAquiferModel.hpp @@ -35,6 +35,12 @@ #include #include +#include +#include +#if HAVE_DUNE_ALUGRID +#include +#endif + #include #include @@ -49,6 +55,14 @@ class BlackoilAquiferModel using Simulator = GetPropType; using RateVector = GetPropType; + constexpr bool supportsFaceTag(const Dune::CpGrid&){ return true;} + constexpr bool supportsFaceTag(const Dune::PolyhedralGrid<3, 3>&){ return true;} +#if HAVE_DUNE_ALUGRID + constexpr bool supportsFaceTag(const Dune::ALUGrid<3, 3, Dune::cube, Dune::nonconforming>&){ return true;} +#endif + template + constexpr bool supportsFaceTag(const G&){ return false;} + public: explicit BlackoilAquiferModel(Simulator& simulator); diff --git a/opm/simulators/aquifers/BlackoilAquiferModel_impl.hpp b/opm/simulators/aquifers/BlackoilAquiferModel_impl.hpp index 0a811ef62..e771b6c3b 100644 --- a/opm/simulators/aquifers/BlackoilAquiferModel_impl.hpp +++ b/opm/simulators/aquifers/BlackoilAquiferModel_impl.hpp @@ -25,6 +25,9 @@ template BlackoilAquiferModel::BlackoilAquiferModel(Simulator& simulator) : simulator_(simulator) { + // Grid needs to support Facetag + assert(supportsFaceTag(simulator.vanguard().grid())); + init(); }