diff --git a/dumux/common/pointsource.hh b/dumux/common/pointsource.hh
index 0f66f4c45d56396637cac91244cb275d313dc341..ed3e716c7febe779daaea0d4ea86ea18a12c57a0 100644
--- a/dumux/common/pointsource.hh
+++ b/dumux/common/pointsource.hh
@@ -380,7 +380,7 @@ public:
                     // check in which subcontrolvolume(s) we are
                     // TODO mapper/problem in bboxtree would allow to make this much better
                     const auto element = boundingBoxTree.entity(eIdx);
-                    auto fvGeometry = localView(problem.model().globalFvGeometry());
+                    auto fvGeometry = localView(problem.model().fvGridGeometry());
                     fvGeometry.bindElement(element);
 
                     const auto globalPos = source.position();
diff --git a/dumux/discretization/box/fvelementgeometry.hh b/dumux/discretization/box/fvelementgeometry.hh
index 44e666d1d954e8fbb1a9771bccc610a934c77bee..0c52731976584db0d29deabea060635236b78694 100644
--- a/dumux/discretization/box/fvelementgeometry.hh
+++ b/dumux/discretization/box/fvelementgeometry.hh
@@ -36,8 +36,8 @@ namespace Dumux
 {
 
 //! forward declaration of the global finite volume geometry
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
-class BoxGlobalFVGeometry;
+template<class TypeTag, bool EnableFVGridGeometryCache>
+class BoxFVGridGeometry;
 
 /*!
  * \ingroup ImplicitModel
@@ -45,7 +45,7 @@ class BoxGlobalFVGeometry;
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
+template<class TypeTag, bool EnableFVGridGeometryCache>
 class BoxFVElementGeometry
 {};
 
@@ -60,7 +60,7 @@ class BoxFVElementGeometry<TypeTag, true>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using Element = typename GridView::template Codim<0>::Entity;
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
     using CoordScalar = typename GridView::ctype;
@@ -77,19 +77,19 @@ class BoxFVElementGeometry<TypeTag, true>
 
 public:
     //! Constructor
-    BoxFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    BoxFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get a sub control volume with a local scv index
     const SubControlVolume& scv(IndexType scvIdx) const
     {
-        return globalFvGeometry().scvs(eIdx_)[scvIdx];
+        return fvGridGeometry().scvs(eIdx_)[scvIdx];
     }
 
     //! Get a sub control volume face with a local scvf index
     const SubControlVolumeFace& scvf(IndexType scvfIdx) const
     {
-        return globalFvGeometry().scvfs(eIdx_)[scvfIdx];
+        return fvGridGeometry().scvfs(eIdx_)[scvfIdx];
     }
 
     //! iterator range for sub control volumes. Iterates over
@@ -100,7 +100,7 @@ public:
     friend inline Dune::IteratorRange<typename std::vector<SubControlVolume>::const_iterator>
     scvs(const BoxFVElementGeometry& fvGeometry)
     {
-        const auto& g = fvGeometry.globalFvGeometry();
+        const auto& g = fvGeometry.fvGridGeometry();
         using Iter = typename std::vector<SubControlVolume>::const_iterator;
         return Dune::IteratorRange<Iter>(g.scvs(fvGeometry.eIdx_).begin(), g.scvs(fvGeometry.eIdx_).end());
     }
@@ -113,7 +113,7 @@ public:
     friend inline Dune::IteratorRange<typename std::vector<SubControlVolumeFace>::const_iterator>
     scvfs(const BoxFVElementGeometry& fvGeometry)
     {
-        const auto& g = fvGeometry.globalFvGeometry();
+        const auto& g = fvGeometry.fvGridGeometry();
         using Iter = typename std::vector<SubControlVolumeFace>::const_iterator;
         return Dune::IteratorRange<Iter>(g.scvfs(fvGeometry.eIdx_).begin(), g.scvfs(fvGeometry.eIdx_).end());
     }
@@ -121,19 +121,19 @@ public:
     //! Get a local finite element basis
     const FeLocalBasis& feLocalBasis() const
     {
-        return globalFvGeometry().feCache().get(elementPtr_->geometry().type()).localBasis();
+        return fvGridGeometry().feCache().get(elementPtr_->geometry().type()).localBasis();
     }
 
     //! The total number of sub control volumes
     std::size_t numScv() const
     {
-        return globalFvGeometry().scvs(eIdx_).size();
+        return fvGridGeometry().scvs(eIdx_).size();
     }
 
     //! The total number of sub control volume faces
     std::size_t numScvf() const
     {
-        return globalFvGeometry().scvfs(eIdx_).size();
+        return fvGridGeometry().scvfs(eIdx_).size();
     }
 
     //! this function is for compatibility reasons with cc methods
@@ -150,16 +150,16 @@ public:
     void bindElement(const Element& element)
     {
         elementPtr_ = &element;
-        eIdx_ = globalFvGeometry().problem_().elementMapper().index(element);
+        eIdx_ = fvGridGeometry().problem_().elementMapper().index(element);
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
     const Element* elementPtr_;
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 
     IndexType eIdx_;
 };
@@ -174,7 +174,7 @@ class BoxFVElementGeometry<TypeTag, false>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     static const int dim = GridView::dimension;
     static const int dimWorld = GridView::dimensionworld;
@@ -192,8 +192,8 @@ class BoxFVElementGeometry<TypeTag, false>
 
 public:
     //! Constructor
-    BoxFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    BoxFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get a sub control volume with a local scv index
     const SubControlVolume& scv(IndexType scvIdx) const
@@ -234,7 +234,7 @@ public:
     //! Get a local finite element basis
     const FeLocalBasis& feLocalBasis() const
     {
-        return globalFvGeometry().feCache().get(elementPtr_->geometry().type()).localBasis();
+        return fvGridGeometry().feCache().get(elementPtr_->geometry().type()).localBasis();
     }
 
     //! The total number of sub control volumes
@@ -263,19 +263,19 @@ public:
     void bindElement(const Element& element)
     {
         elementPtr_ = &element;
-        eIdx_ = globalFvGeometry().problem_().elementMapper().index(element);
+        eIdx_ = fvGridGeometry().problem_().elementMapper().index(element);
         makeElementGeometries(element);
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
 
     void makeElementGeometries(const Element& element)
     {
-        auto eIdx = globalFvGeometry().problem_().elementMapper().index(element);
+        auto eIdx = fvGridGeometry().problem_().elementMapper().index(element);
 
         // get the element geometry
         auto elementGeometry = element.geometry();
@@ -289,7 +289,7 @@ private:
         for (unsigned int scvLocalIdx = 0; scvLocalIdx < elementGeometry.corners(); ++scvLocalIdx)
         {
             // get asssociated dof index
-            auto dofIdxGlobal = globalFvGeometry().problem_().vertexMapper().subIndex(element, scvLocalIdx, dim);
+            auto dofIdxGlobal = fvGridGeometry().problem_().vertexMapper().subIndex(element, scvLocalIdx, dim);
 
             // add scv to the local container
             scvs_[scvLocalIdx] = SubControlVolume(geometryHelper,
@@ -318,7 +318,7 @@ private:
         }
 
         // construct the sub control volume faces on the domain boundary
-        for (const auto& intersection : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& intersection : intersections(fvGridGeometry().gridView(), element))
         {
             if (intersection.boundary())
             {
@@ -350,7 +350,7 @@ private:
     IndexType eIdx_;
 
     //! The global geometry this is a restriction of
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 
     //! vectors to store the geometries locally after binding an element
     std::vector<SubControlVolume> scvs_;
diff --git a/dumux/discretization/box/globalfvgeometry.hh b/dumux/discretization/box/fvgridgeometry.hh
similarity index 96%
rename from dumux/discretization/box/globalfvgeometry.hh
rename to dumux/discretization/box/fvgridgeometry.hh
index aa760c0e79a45ce23d23fa8091166795b5f04c7e..3d1f8bb9d6b767e0174f88ee5c9da3524b521449 100644
--- a/dumux/discretization/box/globalfvgeometry.hh
+++ b/dumux/discretization/box/fvgridgeometry.hh
@@ -42,13 +42,13 @@ namespace Dumux
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
-class BoxGlobalFVGeometry
+template<class TypeTag, bool EnableFVGridGeometryCache>
+class BoxFVGridGeometry
 {};
 
 // specialization in case the FVElementGeometries are stored
 template<class TypeTag>
-class BoxGlobalFVGeometry<TypeTag, true>
+class BoxFVGridGeometry<TypeTag, true>
 {
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
@@ -75,7 +75,7 @@ class BoxGlobalFVGeometry<TypeTag, true>
 
 public:
     //! Constructor
-    BoxGlobalFVGeometry(const GridView gridView)
+    BoxFVGridGeometry(const GridView gridView)
     : gridView_(gridView) {}
 
     //! The total number of sub control volumes
@@ -193,7 +193,7 @@ public:
      *        The local object is only functional after calling its bind/bindElement method
      *        This is a free function that will be found by means of ADL
      */
-    friend FVElementGeometry localView(const BoxGlobalFVGeometry& global)
+    friend FVElementGeometry localView(const BoxFVGridGeometry& global)
     {
         return FVElementGeometry(global);
     }
@@ -228,7 +228,7 @@ private:
 
 // specialization in case the FVElementGeometries are not stored
 template<class TypeTag>
-class BoxGlobalFVGeometry<TypeTag, false>
+class BoxFVGridGeometry<TypeTag, false>
 {
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
@@ -255,7 +255,7 @@ class BoxGlobalFVGeometry<TypeTag, false>
 
 public:
     //! Constructor
-    BoxGlobalFVGeometry(const GridView gridView)
+    BoxFVGridGeometry(const GridView gridView)
     : gridView_(gridView)
     {}
 
@@ -309,7 +309,7 @@ public:
      *        The local object is only functional after calling its bind/bindElement method
      *        This is a free function that will be found by means of ADL
      */
-    friend FVElementGeometry localView(const BoxGlobalFVGeometry& global)
+    friend FVElementGeometry localView(const BoxFVGridGeometry& global)
     {
         return FVElementGeometry(global);
     }
diff --git a/dumux/discretization/box/globalfluxvariablescache.hh b/dumux/discretization/box/globalfluxvariablescache.hh
index 0c6d134d46a681f5b85ce3ac741e5b98f740e7f5..de58e8141b5cf302f6daeea4fa5d1e7ebe70f0c6 100644
--- a/dumux/discretization/box/globalfluxvariablescache.hh
+++ b/dumux/discretization/box/globalfluxvariablescache.hh
@@ -65,7 +65,7 @@ public:
         {
             auto eIdx = problem.elementMapper().index(element);
             // bind the geometries and volume variables to the element (all the elements in stencil)
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bind(element);
 
             auto elemVolVars = localView(problem.model().curGlobalVolVars());
diff --git a/dumux/discretization/box/globalvolumevariables.hh b/dumux/discretization/box/globalvolumevariables.hh
index ac5ae9b68f8a2a0af2eff13ac1b0c7cdb8e654e6..3b50d93842d29d98ac42c2ac9f9d6c3e2ae5d745 100644
--- a/dumux/discretization/box/globalvolumevariables.hh
+++ b/dumux/discretization/box/globalvolumevariables.hh
@@ -70,7 +70,7 @@ public:
         {
             auto eIdx = problem_().elementMapper().index(element);
 
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             // get the element solution
diff --git a/dumux/discretization/cellcentered/globalvolumevariables.hh b/dumux/discretization/cellcentered/globalvolumevariables.hh
index b70f940cf0367dc5470648f1eaa845a5b0cde812..9b358da95ccd7f5b8600f3a618812a90f35016f3 100644
--- a/dumux/discretization/cellcentered/globalvolumevariables.hh
+++ b/dumux/discretization/cellcentered/globalvolumevariables.hh
@@ -66,13 +66,13 @@ public:
     {
         problemPtr_ = &problem;
 
-        auto numScv = problem.model().globalFvGeometry().numScv();
-        auto numBoundaryScvf = problem.model().globalFvGeometry().numBoundaryScvf();
+        auto numScv = problem.model().fvGridGeometry().numScv();
+        auto numBoundaryScvf = problem.model().fvGridGeometry().numBoundaryScvf();
 
         volumeVariables_.resize(numScv + numBoundaryScvf);
         for (const auto& element : elements(problem.gridView()))
         {
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/dumux/discretization/cellcentered/mpfa/darcyslaw.hh b/dumux/discretization/cellcentered/mpfa/darcyslaw.hh
index de9b1d59020954e7ba38a352b044cb30f3095136..32a452d93f4718c2e7dd5418d285cdffa1ad96a3 100644
--- a/dumux/discretization/cellcentered/mpfa/darcyslaw.hh
+++ b/dumux/discretization/cellcentered/mpfa/darcyslaw.hh
@@ -138,7 +138,7 @@ class DarcysLawImplementation<TypeTag, DiscretizationMethods::CCMpfa>
                          const FluxVariablesCacheFiller& fluxVarsCacheFiller)
         {
             // get interaction volume from the flux vars cache filler & upate the cache
-            if (problem.model().globalFvGeometry().isInBoundaryInteractionVolume(scvf))
+            if (problem.model().fvGridGeometry().isInBoundaryInteractionVolume(scvf))
                 scvfFluxVarsCache.updateAdvection(fluxVarsCacheFiller.boundaryInteractionVolume(), scvf);
             else
                 scvfFluxVarsCache.updateAdvection(fluxVarsCacheFiller.interactionVolume(), scvf);
diff --git a/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh b/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh
index 954afca4c268a26fe066b2466598c43a25fba82c..1a8a507918e4d46aa01369cee9dc5508f624b429 100644
--- a/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh
+++ b/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh
@@ -180,7 +180,7 @@ public:
                 auto& scvfCache = (*this)[scvf];
                 if (!scvfCache.isUpdated())
                 {
-                    auto elementJ = problem.model().globalFvGeometry().element(dataJ.globalJ);
+                    auto elementJ = problem.model().fvGridGeometry().element(dataJ.globalJ);
                     filler.fill(*this, scvfCache, elementJ, fvGeometry, elemVolVars, scvf);
                 }
             }
@@ -249,7 +249,7 @@ private:
                     const auto scvfInsideScvIdx = scvf.insideScvIdx();
                     const auto insideElement = scvfInsideScvIdx == globalI ?
                                                element :
-                                               problem.model().globalFvGeometry().element(scvfInsideScvIdx);
+                                               problem.model().fvGridGeometry().element(scvfInsideScvIdx);
 
                     filler.update(*this, scvfCache, insideElement, fvGeometry, elemVolVars, scvf);
                 }
diff --git a/dumux/discretization/cellcentered/mpfa/elementvolumevariables.hh b/dumux/discretization/cellcentered/mpfa/elementvolumevariables.hh
index 1b86b1b7d78a7d6b4e38e7eba37eac6bf96abffc..03481e6a7f80d29a3c0b2f33b02ef2ef75236b73 100644
--- a/dumux/discretization/cellcentered/mpfa/elementvolumevariables.hh
+++ b/dumux/discretization/cellcentered/mpfa/elementvolumevariables.hh
@@ -118,7 +118,7 @@ public:
               const SolutionVector& sol)
     {
         const auto& problem = globalVolVars().problem_();
-        const auto& globalFvGeometry = problem.model().globalFvGeometry();
+        const auto& fvGridGeometry = problem.model().fvGridGeometry();
 
         // stencil information
         const auto globalI = problem.elementMapper().index(element);
@@ -143,7 +143,7 @@ public:
         // Update the volume variables of the neighboring elements
         for (auto&& dataJ : assemblyMapI)
         {
-            const auto& elementJ = globalFvGeometry.element(dataJ.globalJ);
+            const auto& elementJ = fvGridGeometry.element(dataJ.globalJ);
             auto&& scvJ = fvGeometry.scv(dataJ.globalJ);
             volumeVariables_[localIdx].update(problem.model().elementSolution(elementJ, sol),
                                               problem,
@@ -195,11 +195,11 @@ public:
             for (auto&& scvf : scvfs(fvGeometry))
             {
                 // skip the rest if the scvf does not touch a domain boundary
-                if (!globalFvGeometry.touchesDomainBoundary(scvf))
+                if (!fvGridGeometry.touchesDomainBoundary(scvf))
                     continue;
 
                 // loop over all the scvfs in the interaction region
-                const auto& ivSeed = globalFvGeometry.boundaryInteractionVolumeSeed(scvf);
+                const auto& ivSeed = fvGridGeometry.boundaryInteractionVolumeSeed(scvf);
                 for (auto scvfIdx : ivSeed.globalScvfIndices())
                 {
                     auto&& ivScvf = fvGeometry.scvf(scvfIdx);
@@ -208,7 +208,7 @@ public:
                         continue;
 
                     auto insideScvIdx = ivScvf.insideScvIdx();
-                    auto insideElement = globalFvGeometry.element(insideScvIdx);
+                    auto insideElement = fvGridGeometry.element(insideScvIdx);
 
                     // on dirichlet boundaries use dirichlet values
                     if (MpfaHelper::getMpfaFaceType(problem, insideElement, ivScvf) == MpfaFaceTypes::dirichlet)
@@ -243,7 +243,7 @@ public:
             volVarIndices_.resize(volVarIndices_.size() + additionalDofDependencies.size());
             for (auto globalJ : additionalDofDependencies)
             {
-                const auto& elementJ = fvGeometry.globalFvGeometry().element(globalJ);
+                const auto& elementJ = fvGeometry.fvGridGeometry().element(globalJ);
                 auto&& scvJ = fvGeometry.scv(globalJ);
 
                 volumeVariables_[localIdx].update(problem.model().elementSolution(elementJ, sol),
@@ -304,7 +304,7 @@ private:
         for (auto&& scvf : scvfs(fvGeometry))
         {
             bool boundary = scvf.boundary();
-            if (boundary || (!boundary && fvGeometry.globalFvGeometry().touchesDomainBoundary(scvf)))
+            if (boundary || (!boundary && fvGeometry.fvGridGeometry().touchesDomainBoundary(scvf)))
                 bVolVarEstimate += dim-1;
         }
 
diff --git a/dumux/discretization/cellcentered/mpfa/fickslaw.hh b/dumux/discretization/cellcentered/mpfa/fickslaw.hh
index cbdefb8bfeb41bccca5b5c0aadf7ddf404fcf39d..f15648d2d86262bfdcac4afb5180f8f9f52636e8 100644
--- a/dumux/discretization/cellcentered/mpfa/fickslaw.hh
+++ b/dumux/discretization/cellcentered/mpfa/fickslaw.hh
@@ -148,7 +148,7 @@ class FicksLawImplementation<TypeTag, DiscretizationMethods::CCMpfa>
                          const FluxVariablesCacheFiller& fluxVarsCacheFiller)
         {
             // get interaction volume from the flux vars cache filler & upate the cache
-            if (problem.model().globalFvGeometry().isInBoundaryInteractionVolume(scvf))
+            if (problem.model().fvGridGeometry().isInBoundaryInteractionVolume(scvf))
                 scvfFluxVarsCache.updateDiffusion(fluxVarsCacheFiller.boundaryInteractionVolume(), scvf, phaseIdx, compIdx);
             else
                 scvfFluxVarsCache.updateDiffusion(fluxVarsCacheFiller.interactionVolume(), scvf, phaseIdx, compIdx);
diff --git a/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh b/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh
index 9b181c641c5bb89d8f8c4705e9a1d9f30d9217b4..fa7f698142ecdddd77922d2c22403a8d68b4f2cc 100644
--- a/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh
+++ b/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh
@@ -102,10 +102,10 @@ public:
         scvfPtr_ = &scvf;
 
         // prepare interaction volume and fill caches of all the scvfs connected to it
-        const auto& globalFvGeometry = problem().model().globalFvGeometry();
-        if (globalFvGeometry.isInBoundaryInteractionVolume(scvf))
+        const auto& fvGridGeometry = problem().model().fvGridGeometry();
+        if (fvGridGeometry.isInBoundaryInteractionVolume(scvf))
         {
-            bIv_ = std::make_unique<BoundaryInteractionVolume>(globalFvGeometry.boundaryInteractionVolumeSeed(scvf),
+            bIv_ = std::make_unique<BoundaryInteractionVolume>(fvGridGeometry.boundaryInteractionVolumeSeed(scvf),
                                                                problem(),
                                                                fvGeometry,
                                                                elemVolVars);
@@ -115,7 +115,7 @@ public:
         }
         else
         {
-            iv_ = std::make_unique<InteractionVolume>(globalFvGeometry.interactionVolumeSeed(scvf),
+            iv_ = std::make_unique<InteractionVolume>(fvGridGeometry.interactionVolumeSeed(scvf),
                                                       problem(),
                                                       fvGeometry,
                                                       elemVolVars);
@@ -219,7 +219,7 @@ private:
             const auto scvfJInsideScvIndex = scvfJ.insideScvIdx();
             otherElements[otherScvfIdx] =  scvfJInsideScvIndex == scvFace().insideScvIdx() ?
                                            element() :
-                                           problem().model().globalFvGeometry().element(scvfJInsideScvIndex);
+                                           problem().model().fvGridGeometry().element(scvfJInsideScvIndex);
 
             // get the corresponding flux var cache
             otherFluxVarCaches[otherScvfIdx] = &fluxVarsCacheContainer[scvfJ];
diff --git a/dumux/discretization/cellcentered/mpfa/fourierslaw.hh b/dumux/discretization/cellcentered/mpfa/fourierslaw.hh
index 27c5d07a3d4759bc3d20fc46f1e54bf0e4d907b1..72b3dde8c123f509474b11bf555521580c73bffa 100644
--- a/dumux/discretization/cellcentered/mpfa/fourierslaw.hh
+++ b/dumux/discretization/cellcentered/mpfa/fourierslaw.hh
@@ -120,7 +120,7 @@ class FouriersLawImplementation<TypeTag, DiscretizationMethods::CCMpfa>
                          const FluxVariablesCacheFiller& fluxVarsCacheFiller)
         {
             // get interaction volume from the flux vars cache filler & upate the cache
-            if (problem.model().globalFvGeometry().isInBoundaryInteractionVolume(scvf))
+            if (problem.model().fvGridGeometry().isInBoundaryInteractionVolume(scvf))
                 scvfFluxVarsCache.updateHeatConduction(fluxVarsCacheFiller.boundaryInteractionVolume(), scvf);
             else
                 scvfFluxVarsCache.updateHeatConduction(fluxVarsCacheFiller.interactionVolume(), scvf);
diff --git a/dumux/discretization/cellcentered/mpfa/fvelementgeometry.hh b/dumux/discretization/cellcentered/mpfa/fvelementgeometry.hh
index 3be824293ef4db33eb2fb33d195895e6209847e9..b3707586dc77e5471d662669a5f0e505edfd7e23 100644
--- a/dumux/discretization/cellcentered/mpfa/fvelementgeometry.hh
+++ b/dumux/discretization/cellcentered/mpfa/fvelementgeometry.hh
@@ -38,7 +38,7 @@ namespace Dumux
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
+template<class TypeTag, bool EnableFVGridGeometryCache>
 class CCMpfaFVElementGeometry
 {};
 
@@ -53,33 +53,33 @@ class CCMpfaFVElementGeometry<TypeTag, true>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using Element = typename GridView::template Codim<0>::Entity;
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     using ScvIterator = Dumux::ScvIterator<SubControlVolume, std::vector<IndexType>, ThisType>;
     using ScvfIterator = Dumux::ScvfIterator<SubControlVolumeFace, std::vector<IndexType>, ThisType>;
 
 public:
     //! Constructor
-    CCMpfaFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    CCMpfaFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get an element sub control volume with a global scv index
     const SubControlVolume& scv(IndexType scvIdx) const
     {
-        return globalFvGeometry().scv(scvIdx);
+        return fvGridGeometry().scv(scvIdx);
     }
 
     //! Get an element sub control volume face with a global scvf index
     const SubControlVolumeFace& scvf(IndexType scvfIdx) const
     {
-        return globalFvGeometry().scvf(scvfIdx);
+        return fvGridGeometry().scvf(scvfIdx);
     }
 
     //! Get an element sub control volume face with a global scvf index
     //! We separate element and neighbor scvfs to speed up mapping
     const SubControlVolumeFace& flipScvf(IndexType scvfIdx, unsigned int outsideScvIdx = 0) const
     {
-        return globalFvGeometry().flipScvf(scvfIdx, outsideScvIdx);
+        return fvGridGeometry().flipScvf(scvfIdx, outsideScvIdx);
     }
 
     //! iterator range for sub control volumes. Iterates over
@@ -102,7 +102,7 @@ public:
     friend inline Dune::IteratorRange<ScvfIterator>
     scvfs(const CCMpfaFVElementGeometry& fvGeometry)
     {
-        const auto& g = fvGeometry.globalFvGeometry();
+        const auto& g = fvGeometry.fvGridGeometry();
         const auto scvIdx = fvGeometry.scvIndices_[0];
         return Dune::IteratorRange<ScvfIterator>(ScvfIterator(g.scvfIndicesOfScv(scvIdx).begin(), fvGeometry),
                                                  ScvfIterator(g.scvfIndicesOfScv(scvIdx).end(), fvGeometry));
@@ -117,7 +117,7 @@ public:
     //! number of sub control volumes in this fv element geometry
     std::size_t numScvf() const
     {
-        return globalFvGeometry().scvfIndicesOfScv(scvIndices_[0]).size();
+        return fvGridGeometry().scvfIndicesOfScv(scvIndices_[0]).size();
     }
 
     //! Binding of an element, called by the local jacobian to prepare element assembly
@@ -130,18 +130,18 @@ public:
     void bindElement(const Element& element)
     {
         elementPtr_ = &element;
-        scvIndices_ = std::vector<IndexType>({globalFvGeometry().problem_().elementMapper().index(*elementPtr_)});
+        scvIndices_ = std::vector<IndexType>({fvGridGeometry().problem_().elementMapper().index(*elementPtr_)});
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
 
     const Element* elementPtr_;
     std::vector<IndexType> scvIndices_;
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 };
 
 //! specialization in case the FVElementGeometries are not stored
@@ -157,7 +157,7 @@ class CCMpfaFVElementGeometry<TypeTag, false>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using Element = typename GridView::template Codim<0>::Entity;
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     using ScvIterator = Dumux::ScvIterator<SubControlVolume, std::vector<IndexType>, ThisType>;
     using ScvfIterator = Dumux::ScvfIterator<SubControlVolumeFace, std::vector<IndexType>, ThisType>;
@@ -170,8 +170,8 @@ class CCMpfaFVElementGeometry<TypeTag, false>
 
 public:
     //! Constructor
-    CCMpfaFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    CCMpfaFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get an elment sub control volume with a global scv index
     //! We separate element and neighbor scvs to speed up mapping
@@ -255,7 +255,7 @@ public:
         bindElement(element);
 
         // get some references for convenience
-        const auto& problem = globalFvGeometry().problem_();
+        const auto& problem = fvGridGeometry().problem_();
         const auto globalI = problem.elementMapper().index(element);
         const auto& assemblyMapI = problem.model().localJacobian().assemblyMap()[globalI];
 
@@ -270,7 +270,7 @@ public:
         // make neighbor geometries
         // use the assembly map to determine which faces are necessary
         for (auto&& dataJ : assemblyMapI)
-            makeNeighborGeometries(globalFvGeometry().element(dataJ.globalJ),
+            makeNeighborGeometries(fvGridGeometry().element(dataJ.globalJ),
                                    dataJ.globalJ,
                                    dataJ.scvfsJ,
                                    dataJ.additionalScvfs);
@@ -288,7 +288,7 @@ public:
             neighborScvIndices_.reserve(neighborScvIndices_.size() + additionalDofDependencies.size());
             for (auto globalJ : additionalDofDependencies)
             {
-                neighborScvs_.emplace_back(globalFvGeometry().element(globalJ).geometry(), globalJ);
+                neighborScvs_.emplace_back(fvGridGeometry().element(globalJ).geometry(), globalJ);
                 neighborScvIndices_.emplace_back(globalJ);
             }
         }
@@ -303,8 +303,8 @@ public:
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
 
@@ -323,7 +323,7 @@ private:
     void makeElementGeometries(const Element& element)
     {
         // the problem
-        const auto& problem = globalFvGeometry().problem_();
+        const auto& problem = fvGridGeometry().problem_();
 
         // make the scv
         auto eIdx = problem.elementMapper().index(element);
@@ -331,8 +331,8 @@ private:
         scvIndices_.emplace_back(eIdx);
 
         // get data on the scv faces
-        const auto& scvFaceIndices = globalFvGeometry().scvfIndicesOfScv(eIdx);
-        const auto& neighborVolVarIndices = globalFvGeometry().neighborVolVarIndices(eIdx);
+        const auto& scvFaceIndices = fvGridGeometry().scvfIndicesOfScv(eIdx);
+        const auto& neighborVolVarIndices = fvGridGeometry().neighborVolVarIndices(eIdx);
 
         // the quadrature point to be used on the scvf
         const Scalar q = GET_PARAM_FROM_GROUP(TypeTag, Scalar, Mpfa, Q);
@@ -349,7 +349,7 @@ private:
             finishedFacets.resize(element.subEntities(1), false);
 
         int scvfCounter = 0;
-        for (const auto& is : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& is : intersections(fvGridGeometry().gridView(), element))
         {
             // if we are dealing with a lower dimensional network
             // only make a new scvf if we haven't handled it yet
@@ -384,7 +384,7 @@ private:
                 auto vIdxGlobal = problem.vertexMapper().subIndex(e, vIdxLocal, dim);
 
                 // do not build scvfs connected to a processor boundary
-                if (globalFvGeometry().isGhostVertex(vIdxGlobal))
+                if (fvGridGeometry().isGhostVertex(vIdxGlobal))
                     continue;
 
                 scvfs_.emplace_back(MpfaHelper(),
@@ -417,8 +417,8 @@ private:
         neighborScvIndices_.push_back(eIdxGlobal);
 
         // get data on the scv faces
-        const auto& scvFaceIndices = globalFvGeometry().scvfIndicesOfScv(eIdxGlobal);
-        const auto& neighborVolVarIndices = globalFvGeometry().neighborVolVarIndices(eIdxGlobal);
+        const auto& scvFaceIndices = fvGridGeometry().scvfIndicesOfScv(eIdxGlobal);
+        const auto& neighborVolVarIndices = fvGridGeometry().neighborVolVarIndices(eIdxGlobal);
 
         // the quadrature point to be used on the scvf
         const Scalar q = GET_PARAM_FROM_GROUP(TypeTag, Scalar, Mpfa, Q);
@@ -430,7 +430,7 @@ private:
             finishedFacets.resize(element.subEntities(1), false);
 
         int scvfCounter = 0;
-        for (const auto& is : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& is : intersections(fvGridGeometry().gridView(), element))
         {
             // if we are dealing with a lower dimensional network
             // only make a new scvf if we haven't handled it yet
@@ -462,10 +462,10 @@ private:
             {
                 // get the global vertex index the scv face is connected to
                 auto vIdxLocal = refElement.subEntity(indexInElement, 1, c, dim);
-                auto vIdxGlobal = globalFvGeometry().problem_().vertexMapper().subIndex(e, vIdxLocal, dim);
+                auto vIdxGlobal = fvGridGeometry().problem_().vertexMapper().subIndex(e, vIdxLocal, dim);
 
                 // do not build scvfs connected to a processor boundary
-                if (globalFvGeometry().isGhostVertex(vIdxGlobal))
+                if (fvGridGeometry().isGhostVertex(vIdxGlobal))
                     continue;
 
                 // only build the scvf if it is in the list of necessary indices
@@ -608,7 +608,7 @@ private:
     // the bound element
     const Element* elementPtr_;
 
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 
     // local storage after binding an element
     std::vector<IndexType> scvIndices_;
diff --git a/dumux/discretization/cellcentered/mpfa/globalfvgeometry.hh b/dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh
similarity index 98%
rename from dumux/discretization/cellcentered/mpfa/globalfvgeometry.hh
rename to dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh
index 97592fe79f57e3348d8ad7848cd64adbcec087e0..0626530515edd2a2f1f90c0f6297f5462fbe19cd 100644
--- a/dumux/discretization/cellcentered/mpfa/globalfvgeometry.hh
+++ b/dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh
@@ -22,8 +22,8 @@
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-#ifndef DUMUX_DISCRETIZATION_CC_MPFA_GLOBALFVGEOMETRY_BASE_HH
-#define DUMUX_DISCRETIZATION_CC_MPFA_GLOBALFVGEOMETRY_BASE_HH
+#ifndef DUMUX_DISCRETIZATION_CC_MPFA_FV_GRID_GEOMETRY_BASE_HH
+#define DUMUX_DISCRETIZATION_CC_MPFA_FV_GRID_GEOMETRY_BASE_HH
 
 #include <dune/geometry/multilineargeometry.hh>
 #include <dune/geometry/referenceelements.hh>
@@ -40,14 +40,14 @@ namespace Dumux
  *        for each element.
  */
 template<class TypeTag, bool EnableFVElementGeometryCache>
-class CCMpfaGlobalFVGeometry
+class CCMpfaFVGridGeometry
 {};
 
 // specialization in case the FVElementGeometries are stored
 template<class TypeTag>
-class CCMpfaGlobalFVGeometry<TypeTag, true>
+class CCMpfaFVGridGeometry<TypeTag, true>
 {
-    using Implementation = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using Implementation = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     //! The actual implementation might overwrite the update() routine
     friend Implementation;
@@ -81,7 +81,7 @@ class CCMpfaGlobalFVGeometry<TypeTag, true>
 
 public:
     //! Constructor
-    CCMpfaGlobalFVGeometry(const GridView gridView)
+    CCMpfaFVGridGeometry(const GridView gridView)
     : gridView_(gridView), elementMap_(gridView), globalInteractionVolumeSeeds_(gridView) {}
 
     //! The total number of sub control volumes
@@ -442,12 +442,12 @@ private:
 
 // specialization in case the FVElementGeometries are not stored
 template<class TypeTag>
-class CCMpfaGlobalFVGeometry<TypeTag, false>
+class CCMpfaFVGridGeometry<TypeTag, false>
 {
     //! The local fvGeometry needs access to the problem
     friend typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
 
-    using Implementation = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using Implementation = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
     using MpfaHelper = typename GET_PROP_TYPE(TypeTag, MpfaHelper);
@@ -476,7 +476,7 @@ class CCMpfaGlobalFVGeometry<TypeTag, false>
 
 public:
     //! Constructor
-    CCMpfaGlobalFVGeometry(const GridView gridView)
+    CCMpfaFVGridGeometry(const GridView gridView)
     : gridView_(gridView), elementMap_(gridView), globalInteractionVolumeSeeds_(gridView_) {}
 
     //! The total number of sub control volumes
diff --git a/dumux/discretization/cellcentered/mpfa/globalfluxvariablescache.hh b/dumux/discretization/cellcentered/mpfa/globalfluxvariablescache.hh
index 79ace006a3b5a534db1cd93b9de4f5d0884aee03..dfc65aa5cedd7628db1947d47e5ac46511f8f932 100644
--- a/dumux/discretization/cellcentered/mpfa/globalfluxvariablescache.hh
+++ b/dumux/discretization/cellcentered/mpfa/globalfluxvariablescache.hh
@@ -72,12 +72,12 @@ public:
         // instantiate helper class to fill the caches
         FluxVariablesCacheFiller filler(problem);
 
-        const auto& globalFvGeometry = problem.model().globalFvGeometry();
-        fluxVarsCache_.resize(globalFvGeometry.numScvf());
+        const auto& fvGridGeometry = problem.model().fvGridGeometry();
+        fluxVarsCache_.resize(fvGridGeometry.numScvf());
         for (const auto& element : elements(problem.gridView()))
         {
             // Prepare the geometries within the elements of the stencil
-            auto fvGeometry = localView(globalFvGeometry);
+            auto fvGeometry = localView(fvGridGeometry);
             fvGeometry.bind(element);
 
             auto elemVolVars = localView(problem.model().curGlobalVolVars());
diff --git a/dumux/discretization/cellcentered/mpfa/globalinteractionvolumeseedsbase.hh b/dumux/discretization/cellcentered/mpfa/globalinteractionvolumeseedsbase.hh
index 06b4056d9214b291fb8e5ed619e790cdd29bda88..062997568e4f91394e75e762e9dc31190b8e4ca0 100644
--- a/dumux/discretization/cellcentered/mpfa/globalinteractionvolumeseedsbase.hh
+++ b/dumux/discretization/cellcentered/mpfa/globalinteractionvolumeseedsbase.hh
@@ -24,7 +24,7 @@
 #define DUMUX_DISCRETIZATION_MPFA_GLOBALINTERACTIONVOLUMESEEDS_BASE_HH
 
 #include <dumux/implicit/cellcentered/mpfa/properties.hh>
-#include "globalfvgeometry.hh"
+#include "fvgridgeometry.hh"
 
 namespace Dumux
 {
diff --git a/dumux/discretization/cellcentered/mpfa/globalvolumevariables.hh b/dumux/discretization/cellcentered/mpfa/globalvolumevariables.hh
index 617301cb09670cf1828a1f4c7ec8049d1dd348bb..d417f2dfc6b3e89694d180bd834740412dba57a6 100644
--- a/dumux/discretization/cellcentered/mpfa/globalvolumevariables.hh
+++ b/dumux/discretization/cellcentered/mpfa/globalvolumevariables.hh
@@ -67,13 +67,13 @@ public:
     {
         problemPtr_ = &problem;
 
-        auto numScv = problem.model().globalFvGeometry().numScv();
-        auto numDomainBoundaryScvf = problem.model().globalFvGeometry().numDomainBoundaryScvf();
+        auto numScv = problem.model().fvGridGeometry().numScv();
+        auto numDomainBoundaryScvf = problem.model().fvGridGeometry().numDomainBoundaryScvf();
 
         volumeVariables_.resize(numScv + numDomainBoundaryScvf);
         for (const auto& element : elements(problem.gridView()))
         {
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/dumux/discretization/cellcentered/mpfa/helper.hh b/dumux/discretization/cellcentered/mpfa/helper.hh
index 2c8f95c2d61077e54e314ca1777df6acc02a07a5..ffaea598393cf0e5702b611e99aec9929706587f 100644
--- a/dumux/discretization/cellcentered/mpfa/helper.hh
+++ b/dumux/discretization/cellcentered/mpfa/helper.hh
@@ -545,7 +545,7 @@ public:
             const auto bcTypes = problem.boundaryTypes(element, scvf);
 
             // if we are on an interior boundary return interior types
-            if (problem.model().globalFvGeometry().isOnInteriorBoundary(scvf))
+            if (problem.model().fvGridGeometry().isOnInteriorBoundary(scvf))
             {
                 if (bcTypes.hasOnlyNeumann())
                     return MpfaFaceTypes::interiorNeumann;
diff --git a/dumux/discretization/cellcentered/mpfa/hybridfps/globalfvgeometry.hh b/dumux/discretization/cellcentered/mpfa/hybridfps/fvgridgeometry.hh
similarity index 97%
rename from dumux/discretization/cellcentered/mpfa/hybridfps/globalfvgeometry.hh
rename to dumux/discretization/cellcentered/mpfa/hybridfps/fvgridgeometry.hh
index ba4526ae8fb618bc0c8db48f60f5a0cab4ca99b7..5658f9466f5356c53e76a3046722fab444dd09fb 100644
--- a/dumux/discretization/cellcentered/mpfa/hybridfps/globalfvgeometry.hh
+++ b/dumux/discretization/cellcentered/mpfa/hybridfps/fvgridgeometry.hh
@@ -22,8 +22,8 @@
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-#ifndef DUMUX_DISCRETIZATION_CC_MPFA_O_HYBRIDFPS_GLOBALFVGEOMETRY_HH
-#define DUMUX_DISCRETIZATION_CC_MPFA_O_HYBRIDFPS_GLOBALFVGEOMETRY_HH
+#ifndef DUMUX_DISCRETIZATION_CC_MPFA_O_HYBRIDFPS_FV_GRID_GEOMETRY_HH
+#define DUMUX_DISCRETIZATION_CC_MPFA_O_HYBRIDFPS_FV_GRID_GEOMETRY_HH
 
 #include <dune/geometry/multilineargeometry.hh>
 #include <dune/geometry/referenceelements.hh>
@@ -42,12 +42,12 @@ namespace Dumux
  *        for each element.
  */
 template<class TypeTag, bool EnableFVElementGeometryCache>
-class CCMpfaOHybridFpsGlobalFVGeometry
+class CCMpfaOHybridFpsFVGridGeometry
 {};
 
 // specialization in case the FVElementGeometries are stored
 template<class TypeTag>
-class CCMpfaOHybridFpsGlobalFVGeometry<TypeTag, true>
+class CCMpfaOHybridFpsFVGridGeometry<TypeTag, true>
 {
     //! The local class needs access to the scv, scvfs and the fv element geometry
     //! as they are globally cached
@@ -79,7 +79,7 @@ class CCMpfaOHybridFpsGlobalFVGeometry<TypeTag, true>
 
 public:
     //! Constructor
-    CCMpfaOHybridFpsGlobalFVGeometry(const GridView gridView)
+    CCMpfaOHybridFpsFVGridGeometry(const GridView gridView)
     : gridView_(gridView), elementMap_(gridView), globalInteractionVolumeSeeds_(gridView) {}
 
     //! The total number of sub control volumes
@@ -223,7 +223,7 @@ public:
      *        The local object is only functional after calling its bind/bindElement method
      *        This is a free function that will be found by means of ADL
      */
-    friend inline FVElementGeometry localView(const CCMpfaOHybridFpsGlobalFVGeometry& global)
+    friend inline FVElementGeometry localView(const CCMpfaOHybridFpsFVGridGeometry& global)
     { return FVElementGeometry(global); }
 
     //! Get a sub control volume with a global scv index
diff --git a/dumux/discretization/cellcentered/mpfa/hybridfps/globalinteractionvolumeseeds.hh b/dumux/discretization/cellcentered/mpfa/hybridfps/globalinteractionvolumeseeds.hh
index f14ac446c7739e0168a90c273208ab8cdd0d9bee..8201c4d7868d4306d4bcc122f5182c3b88dafbdd 100644
--- a/dumux/discretization/cellcentered/mpfa/hybridfps/globalinteractionvolumeseeds.hh
+++ b/dumux/discretization/cellcentered/mpfa/hybridfps/globalinteractionvolumeseeds.hh
@@ -63,7 +63,7 @@ public:
         oSeeds_.clear();
 
         // -1 indicates that the scvf has not been handled yet
-        auto numScvf = problem_().model().globalFvGeometry().numScvf();
+        auto numScvf = problem_().model().fvGridGeometry().numScvf();
         scvfIndexMap_.resize(numScvf, -1);
 
         // detect and handle the boundary first
@@ -85,7 +85,7 @@ private:
         IndexType fpsSeedIndex = 0;
         for (const auto& element : elements(gridView_))
         {
-            auto fvGeometry = localView(problem_().model().globalFvGeometry());
+            auto fvGeometry = localView(problem_().model().fvGridGeometry());
             fvGeometry.bind(element);
             for (const auto& scvf : scvfs(fvGeometry))
             {
@@ -118,7 +118,7 @@ private:
         IndexType oSeedIndex = 0;
         for (const auto& element : elements(gridView_))
         {
-            auto fvGeometry = localView(problem_().model().globalFvGeometry());
+            auto fvGeometry = localView(problem_().model().fvGridGeometry());
             fvGeometry.bind(element);
             for (const auto& scvf : scvfs(fvGeometry))
             {
diff --git a/dumux/discretization/cellcentered/mpfa/interiorboundarydata.hh b/dumux/discretization/cellcentered/mpfa/interiorboundarydata.hh
index dfbe9753232d3273e5ad7843d068859ad3cbec58..9e58af0d2c79bb97d7dc678f9d4f2a7a27dd6821 100644
--- a/dumux/discretization/cellcentered/mpfa/interiorboundarydata.hh
+++ b/dumux/discretization/cellcentered/mpfa/interiorboundarydata.hh
@@ -86,7 +86,7 @@ public:
                                                                 "not marked as interior Dirichlet face.");
 
         const auto& scvf = fvGeometry.scvf(scvfIndex());
-        const auto element = problem_().model().globalFvGeometry().element(scvf.insideScvIdx());
+        const auto element = problem_().model().fvGridGeometry().element(scvf.insideScvIdx());
         const auto priVars = problem_().dirichlet(element, scvf);
 
         VolumeVariables volVars;
diff --git a/dumux/discretization/cellcentered/mpfa/lmethod/globalinteractionvolumeseeds.hh b/dumux/discretization/cellcentered/mpfa/lmethod/globalinteractionvolumeseeds.hh
index d9fe0f67c7a7c67b03f904fe58100e5f5c151d66..eef54c3ccdf0303b899a9d45a4739e991bb57380 100644
--- a/dumux/discretization/cellcentered/mpfa/lmethod/globalinteractionvolumeseeds.hh
+++ b/dumux/discretization/cellcentered/mpfa/lmethod/globalinteractionvolumeseeds.hh
@@ -62,14 +62,14 @@ public:
         scvfIndexMap.clear();
 
         // reserve memory
-        const auto numScvf = this->problem().model().globalFvGeometry().numScvf();
-        const auto numIBScvf = this->problem().model().globalFvGeometry().numInteriorBoundaryScvf();
-        const auto numDBScvf = this->problem().model().globalFvGeometry().numDomainBoundaryScvf();
-        const auto numBPScvf = this->problem().model().globalFvGeometry().numBranchingPointScvf();
+        const auto numScvf = this->problem().model().fvGridGeometry().numScvf();
+        const auto numIBScvf = this->problem().model().fvGridGeometry().numInteriorBoundaryScvf();
+        const auto numDBScvf = this->problem().model().fvGridGeometry().numDomainBoundaryScvf();
+        const auto numBPScvf = this->problem().model().fvGridGeometry().numBranchingPointScvf();
 
         const int numLMethodIVs = (numScvf-numIBScvf-numDBScvf-numBPScvf)/2;
-        const auto numOMethodIVs = this->problem().model().globalFvGeometry().numInteriorOrDomainBoundaryVertices()
-                                   + this->problem().model().globalFvGeometry().numBranchingPointVertices();
+        const auto numOMethodIVs = this->problem().model().fvGridGeometry().numInteriorOrDomainBoundaryVertices()
+                                   + this->problem().model().fvGridGeometry().numBranchingPointVertices();
 
         if (numLMethodIVs > 0)
             seeds.reserve( numLMethodIVs );
@@ -83,7 +83,7 @@ public:
         IndexType seedIndex = 0;
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->problem().model().globalFvGeometry());
+            auto fvGeometry = localView(this->problem().model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scvf : scvfs(fvGeometry))
@@ -97,7 +97,7 @@ public:
                 //      - domain boundaries
                 //      - branching points (l-method can not handle this)
                 if (interiorOrDomainBoundaryVertices[scvf.vertexIndex()]
-                    || this->problem().model().globalFvGeometry().touchesBranchingPoint(scvf))
+                    || this->problem().model().fvGridGeometry().touchesBranchingPoint(scvf))
                 {
                     // make the boundary interaction volume seed
                     boundarySeeds.emplace_back(Helper::makeBoundaryInteractionVolumeSeed(this->problem(),
@@ -141,7 +141,7 @@ public:
     }
 
     bool isLocalMaxLevel_(const Element& element, const SubControlVolumeFace& scvf) const
-    { return this->problem().model().globalFvGeometry().element(scvf.outsideScvIdx()).level() <= element.level(); }
+    { return this->problem().model().fvGridGeometry().element(scvf.outsideScvIdx()).level() <= element.level(); }
 };
 
 } // end namespace
diff --git a/dumux/discretization/cellcentered/mpfa/lmethod/helper.hh b/dumux/discretization/cellcentered/mpfa/lmethod/helper.hh
index 1ca199a5d2ae2d837d6a01611d03dbae7f7fa480..d7e03105ce05134cf78b10a91900a3041f37580d 100644
--- a/dumux/discretization/cellcentered/mpfa/lmethod/helper.hh
+++ b/dumux/discretization/cellcentered/mpfa/lmethod/helper.hh
@@ -139,11 +139,11 @@ private:
 
         // get the surrounding elements and "outside" data
         LocalIndexType otherScvfIdx = 1-localScvfIdx;
-        const auto e2 = problem.model().globalFvGeometry().element(scvf.outsideScvIdx());
-        const auto e3 = problem.model().globalFvGeometry().element(scvfVector[otherScvfIdx]->outsideScvIdx());
+        const auto e2 = problem.model().fvGridGeometry().element(scvf.outsideScvIdx());
+        const auto e3 = problem.model().fvGridGeometry().element(scvfVector[otherScvfIdx]->outsideScvIdx());
 
-        auto e2Geometry = localView(problem.model().globalFvGeometry());
-        auto e3Geometry = localView(problem.model().globalFvGeometry());
+        auto e2Geometry = localView(problem.model().fvGridGeometry());
+        auto e3Geometry = localView(problem.model().fvGridGeometry());
 
         e2Geometry.bindElement(e2);
         e3Geometry.bindElement(e3);
@@ -165,8 +165,8 @@ private:
                                    e3Scvfs[localScvfIdx]->index());
 
         // Outer seed for outside of e2, we know the local scvf index here will be localScvfIdx in 2d
-        const auto e4 = problem.model().globalFvGeometry().element(e2Scvfs[localScvfIdx]->outsideScvIdx());
-        auto e4Geometry = localView(problem.model().globalFvGeometry());
+        const auto e4 = problem.model().fvGridGeometry().element(e2Scvfs[localScvfIdx]->outsideScvIdx());
+        auto e4Geometry = localView(problem.model().fvGridGeometry());
         e4Geometry.bindElement(e4);
         const auto e4Scvfs = Implementation::getCommonAndNextScvFace(*e2Scvfs[localScvfIdx], e4Geometry, /*clockwise?*/localScvfIdx == 1);
 
diff --git a/dumux/discretization/cellcentered/mpfa/lmethod/interactionvolume.hh b/dumux/discretization/cellcentered/mpfa/lmethod/interactionvolume.hh
index c5647e7b05c14c65e93ccd35e5b656c3e4aa6b20..0515652a8547d822a8863e32e05930049229b35d 100644
--- a/dumux/discretization/cellcentered/mpfa/lmethod/interactionvolume.hh
+++ b/dumux/discretization/cellcentered/mpfa/lmethod/interactionvolume.hh
@@ -276,17 +276,17 @@ private:
     typename std::enable_if<d == 2>::type
     setupInteractionRegions_(const Seed& seed, const FVElementGeometry& fvGeometry)
     {
-        const auto& globalFvGeometry = problem_().model().globalFvGeometry();
+        const auto& fvGridGeometry = problem_().model().fvGridGeometry();
 
         interactionRegions_.reserve(2);
         auto&& scvSeed1 = seed.scvSeed(0);
         auto&& scvSeed2 = seed.scvSeed(1);
         auto&& outerScvSeed1 = seed.outerScvSeed(0);
         auto&& outerScvSeed2 = seed.outerScvSeed(1);
-        auto e1 = globalFvGeometry.element(scvSeed1.globalIndex());
-        auto e2 = globalFvGeometry.element(scvSeed2.globalIndex());
-        auto e3 = globalFvGeometry.element(outerScvSeed1.globalIndex());
-        auto e4 = globalFvGeometry.element(outerScvSeed2.globalIndex());
+        auto e1 = fvGridGeometry.element(scvSeed1.globalIndex());
+        auto e2 = fvGridGeometry.element(scvSeed2.globalIndex());
+        auto e3 = fvGridGeometry.element(outerScvSeed1.globalIndex());
+        auto e4 = fvGridGeometry.element(outerScvSeed2.globalIndex());
 
         // scvSeed1 is the one the seed construction began at
         if (scvSeed1.contiFaceLocalIdx() == 0)
diff --git a/dumux/discretization/cellcentered/mpfa/omethod/globalinteractionvolumeseeds.hh b/dumux/discretization/cellcentered/mpfa/omethod/globalinteractionvolumeseeds.hh
index 8e6139968d2dc5669f4d01d0a027ad01d2662828..cdf6e22f0bd79a84b4e7cf72f860b1204432e842 100644
--- a/dumux/discretization/cellcentered/mpfa/omethod/globalinteractionvolumeseeds.hh
+++ b/dumux/discretization/cellcentered/mpfa/omethod/globalinteractionvolumeseeds.hh
@@ -65,8 +65,8 @@ public:
         scvfIndexMap.clear();
 
         // reserve memory
-        const auto numScvf = this->problem().model().globalFvGeometry().numScvf();
-        const auto numInteriorOrDomainBoundaryVertices = this->problem().model().globalFvGeometry().numInteriorOrDomainBoundaryVertices();
+        const auto numScvf = this->problem().model().fvGridGeometry().numScvf();
+        const auto numInteriorOrDomainBoundaryVertices = this->problem().model().fvGridGeometry().numInteriorOrDomainBoundaryVertices();
         const int numInteriorVertices = this->gridView().size(dim) - numInteriorOrDomainBoundaryVertices;
 
         if (numInteriorVertices > 0)
@@ -81,7 +81,7 @@ public:
         IndexType seedIndex = 0;
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->problem().model().globalFvGeometry());
+            auto fvGeometry = localView(this->problem().model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scvf : scvfs(fvGeometry))
@@ -93,7 +93,7 @@ public:
                 // on interior or domain boundaries and on branching points we have to set
                 // a boundary interaction volume (for compatibility with other mpfa methods)
                 if (interiorOrDomainBoundaryVertices[scvf.vertexIndex()]
-                    || this->problem().model().globalFvGeometry().touchesBranchingPoint(scvf))
+                    || this->problem().model().fvGridGeometry().touchesBranchingPoint(scvf))
                 {
                     // make the boundary interaction volume seed
                     boundarySeeds.emplace_back(Helper::makeBoundaryInteractionVolumeSeed(this->problem(),
diff --git a/dumux/discretization/cellcentered/mpfa/omethod/helper.hh b/dumux/discretization/cellcentered/mpfa/omethod/helper.hh
index 9c7aca1b0175be1a7f358f6cdce2ab046d6bba6f..b648f5c115cdd64a8ac23e66a56c19db1209f48e 100644
--- a/dumux/discretization/cellcentered/mpfa/omethod/helper.hh
+++ b/dumux/discretization/cellcentered/mpfa/omethod/helper.hh
@@ -111,7 +111,7 @@ public:
         scvfSeeds.shrink_to_fit();
 
         // check if touches domain boundary (not only interior boundary)
-        const bool boundary = problem.model().globalFvGeometry().touchesDomainBoundary(scvf);
+        const bool boundary = problem.model().fvGridGeometry().touchesDomainBoundary(scvf);
         return InteractionVolumeSeed(std::move(scvSeeds), std::move(scvfSeeds), boundary);
     }
 
@@ -125,7 +125,7 @@ private:
                                  const SubControlVolumeFace& scvf)
     {
         // Check whether or not we are touching the boundary here
-        const bool onBoundary = problem.model().globalFvGeometry().touchesDomainBoundary(scvf);
+        const bool onBoundary = problem.model().fvGridGeometry().touchesDomainBoundary(scvf);
 
         // Get the two scv faces in the first scv
         const auto scvfVector = Implementation::getScvFacesAtVertex(scvf.vertexIndex(), element, fvGeometry);
@@ -172,7 +172,7 @@ private:
         LocalIndexType localScvfIdx = scvfSeeds.size();
 
         // fvGeometry object to bind the neighbouring element during rotation
-        auto outsideFvGeometry = localView(problem.model().globalFvGeometry());
+        auto outsideFvGeometry = localView(problem.model().fvGridGeometry());
 
         // Start/continue interaction region construction from the given scv face
         const LocalIndexType startScvfIdx = clockWise ? 1 : 0;
@@ -187,7 +187,7 @@ private:
             const LocalIndexType insideLocalScvIdx = firstIteration ? 0 : localScvIdx;
 
             // the current element inside of the scv face
-            const auto insideElement = problem.model().globalFvGeometry().element(curScvf.insideScvIdx());
+            const auto insideElement = problem.model().fvGridGeometry().element(curScvf.insideScvIdx());
             const auto faceType = Implementation::getMpfaFaceType(problem, insideElement, curScvf);
 
             // if the face touches the boundary, create a boundary scvf entity
@@ -225,7 +225,7 @@ private:
             }
 
             // If we get here, there are outside entities
-            const auto outsideElement = problem.model().globalFvGeometry().element(outsideGlobalScvIdx);
+            const auto outsideElement = problem.model().fvGridGeometry().element(outsideGlobalScvIdx);
             outsideFvGeometry.bindElement(outsideElement);
 
             // get the two scv faces in the outside element that share the vertex
@@ -317,7 +317,7 @@ public:
                                                                 const SubControlVolumeFace& scvf)
     {
         // if the scvf does not touch a branching point, use simplified algorithm to create interaction volume seed
-        if (!problem.model().globalFvGeometry().touchesBranchingPoint(scvf))
+        if (!problem.model().fvGridGeometry().touchesBranchingPoint(scvf))
             return MpfaMethodHelper<TypeTag, MpfaMethods::oMethod, 2, 2>::makeInnerInteractionVolumeSeed(problem,
                                                                                                          element,
                                                                                                          fvGeometry,
@@ -355,7 +355,7 @@ public:
                                                                    const SubControlVolumeFace& scvf)
     {
         // if the scvf does not touch a branching point, use simplified algorithm to create interaction volume seed
-        if (!problem.model().globalFvGeometry().touchesBranchingPoint(scvf))
+        if (!problem.model().fvGridGeometry().touchesBranchingPoint(scvf))
             return MpfaMethodHelper<TypeTag, MpfaMethods::oMethod, 2, 2>::makeBoundaryInteractionVolumeSeed(problem,
                                                                                                             element,
                                                                                                             fvGeometry,
@@ -430,8 +430,8 @@ private:
                 for (auto outsideGlobalScvIdx : actualScvf.outsideScvIndices())
                 {
                     // get outside element, fvgeometry etc.
-                    const auto outsideElement = problem.model().globalFvGeometry().element(outsideGlobalScvIdx);
-                    auto outsideFvGeometry = localView(problem.model().globalFvGeometry());
+                    const auto outsideElement = problem.model().fvGridGeometry().element(outsideGlobalScvIdx);
+                    auto outsideFvGeometry = localView(problem.model().fvGridGeometry());
                     outsideFvGeometry.bindElement(outsideElement);
 
                     // find scvf in outside corresponding to the actual scvf
@@ -739,8 +739,8 @@ private:
                     actualScvSeed.setLocalScvfIndex(coordDir, scvfSeeds.size());
 
                     // get outside element, fvgeometry etc.
-                    const auto outsideElement = problem.model().globalFvGeometry().element(outsideGlobalScvIdx);
-                    auto outsideFvGeometry = localView(problem.model().globalFvGeometry());
+                    const auto outsideElement = problem.model().fvGridGeometry().element(outsideGlobalScvIdx);
+                    auto outsideFvGeometry = localView(problem.model().fvGridGeometry());
                     outsideFvGeometry.bindElement(outsideElement);
 
                     // find scvf in outside corresponding to the actual scvf
@@ -801,8 +801,8 @@ private:
                         actualScvSeed.setLocalScvfIndex(coordDir, scvfSeeds.size());
 
                         // get outside element, fvgeometry etc.
-                        const auto outsideElement = problem.model().globalFvGeometry().element(outsideGlobalScvIdx);
-                        auto outsideFvGeometry = localView(problem.model().globalFvGeometry());
+                        const auto outsideElement = problem.model().fvGridGeometry().element(outsideGlobalScvIdx);
+                        auto outsideFvGeometry = localView(problem.model().fvGridGeometry());
                         outsideFvGeometry.bindElement(outsideElement);
 
                         // find scvf in outside corresponding to the actual scvf
diff --git a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh
index 28d37d8079dcfc47aac441cef31417f44ca05657..48df93750ac950e2437e2562bfb36b8a6bd37f5b 100644
--- a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh
+++ b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh
@@ -392,7 +392,7 @@ private:
         // set up quantities related to sub-control volumes
         for (auto&& scvSeed : seed.scvSeeds())
         {
-            const auto element = problem_().model().globalFvGeometry().element(scvSeed.globalIndex());
+            const auto element = problem_().model().fvGridGeometry().element(scvSeed.globalIndex());
             localScvs_.emplace_back(problem_(), element, fvGeometry_(), scvSeed);
             localElements_.emplace_back(std::move(element));
             volVarsPositions_.push_back(localScvs_.back().center());
diff --git a/dumux/discretization/cellcentered/tpfa/CMakeLists.txt b/dumux/discretization/cellcentered/tpfa/CMakeLists.txt
index a3ecb8bb0c02c6932f28ccdee2228278d10053fd..b93758228f1064d175f1286f8c99e447ff0fe315 100644
--- a/dumux/discretization/cellcentered/tpfa/CMakeLists.txt
+++ b/dumux/discretization/cellcentered/tpfa/CMakeLists.txt
@@ -7,6 +7,6 @@ fluxvariablescachefiller.hh
 fourieslaw.hh
 fvelementgeometry.hh
 globalfluxvariablescache.hh
-globalfvgeometry.hh
+fvgridgeometry.hh
 subcontrolvolumeface.hh
 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/discretization/cellcentered/tpfa)
diff --git a/dumux/discretization/cellcentered/tpfa/elementfluxvariablescache.hh b/dumux/discretization/cellcentered/tpfa/elementfluxvariablescache.hh
index ba2198cd4fe62b878e1fac965a455ba0c3c53bec..0e4f1fe90b9c3b76b888eeb57a0a374b83090d31 100644
--- a/dumux/discretization/cellcentered/tpfa/elementfluxvariablescache.hh
+++ b/dumux/discretization/cellcentered/tpfa/elementfluxvariablescache.hh
@@ -169,7 +169,7 @@ public:
         // add required data on the scv faces in the neighboring elements
         for (unsigned int localIdxJ = 0; localIdxJ < numNeighbors; ++localIdxJ)
         {
-            const auto elementJ = fvGeometry.globalFvGeometry().element(assemblyMapI[localIdxJ].globalJ);
+            const auto elementJ = fvGeometry.fvGridGeometry().element(assemblyMapI[localIdxJ].globalJ);
             for (auto scvfIdx : assemblyMapI[localIdxJ].scvfsJ)
             {
                 auto&& scvfJ = fvGeometry.scvf(scvfIdx);
@@ -218,7 +218,7 @@ public:
                 const auto scvfInsideScvIdx = scvf.insideScvIdx();
                 const auto& insideElement = scvfInsideScvIdx == globalI ?
                                             element :
-                                            problem.model().globalFvGeometry().element(scvfInsideScvIdx);
+                                            problem.model().fvGridGeometry().element(scvfInsideScvIdx);
 
                 filler.fill(*this, fluxVarsCache_[localScvfIdx], insideElement, fvGeometry, elemVolVars, scvf);
             }
diff --git a/dumux/discretization/cellcentered/tpfa/elementvolumevariables.hh b/dumux/discretization/cellcentered/tpfa/elementvolumevariables.hh
index 87819ed64508d3da617f68ee6efc1e5f9af32627..372a82b7afd7689cac24aa5981395ad62385dd0c 100644
--- a/dumux/discretization/cellcentered/tpfa/elementvolumevariables.hh
+++ b/dumux/discretization/cellcentered/tpfa/elementvolumevariables.hh
@@ -141,7 +141,7 @@ public:
         // Update the volume variables of the neighboring elements
         for (const auto& dataJ : assemblyMapI)
         {
-            const auto& elementJ = fvGeometry.globalFvGeometry().element(dataJ.globalJ);
+            const auto& elementJ = fvGeometry.fvGridGeometry().element(dataJ.globalJ);
             auto&& scvJ = fvGeometry.scv(dataJ.globalJ);
             volumeVariables_[localIdx].update(problem.model().elementSolution(elementJ, sol),
                                               problem,
@@ -184,7 +184,7 @@ public:
             volVarIndices_.resize(volVarIndices_.size() + additionalDofDependencies.size());
             for (auto globalJ : additionalDofDependencies)
             {
-                const auto& elementJ = fvGeometry.globalFvGeometry().element(globalJ);
+                const auto& elementJ = fvGeometry.fvGridGeometry().element(globalJ);
                 auto&& scvJ = fvGeometry.scv(globalJ);
 
                 volumeVariables_[localIdx].update(problem.model().elementSolution(elementJ, sol),
diff --git a/dumux/discretization/cellcentered/tpfa/fickslaw.hh b/dumux/discretization/cellcentered/tpfa/fickslaw.hh
index 4021e2a297a1daeaa6cfbd9d9f696a8bb119eef8..bbd8a631889c672cbca7ae7ccb338b53fb4a00ad 100644
--- a/dumux/discretization/cellcentered/tpfa/fickslaw.hh
+++ b/dumux/discretization/cellcentered/tpfa/fickslaw.hh
@@ -136,7 +136,7 @@ private:
         {
             const auto outsideScvIdx = scvf.outsideScvIdx(i);
             const auto& outsideVolVars = elemVolVars[outsideScvIdx];
-            const auto outsideElement = fvGeometry.globalFvGeometry().element(outsideScvIdx);
+            const auto outsideElement = fvGeometry.fvGridGeometry().element(outsideScvIdx);
             const auto& flippedScvf = fvGeometry.flipScvf(scvf.index(), i);
 
             auto outsideTi = calculateTransmissibility_(problem, outsideElement, fvGeometry, elemVolVars, flippedScvf, phaseIdx, compIdx);
diff --git a/dumux/discretization/cellcentered/tpfa/fourierslaw.hh b/dumux/discretization/cellcentered/tpfa/fourierslaw.hh
index 016627964c2f17bf3d938afb2ac33ff42afa0bd7..8bede29975d56d9b71cfda3e7cc7ac7baa72cd71 100644
--- a/dumux/discretization/cellcentered/tpfa/fourierslaw.hh
+++ b/dumux/discretization/cellcentered/tpfa/fourierslaw.hh
@@ -113,7 +113,7 @@ private:
         {
             const auto outsideScvIdx = scvf.outsideScvIdx(i);
             const auto& outsideVolVars = elemVolVars[outsideScvIdx];
-            const auto outsideElement = fvGeometry.globalFvGeometry().element(outsideScvIdx);
+            const auto outsideElement = fvGeometry.fvGridGeometry().element(outsideScvIdx);
             const auto& flippedScvf = fvGeometry.flipScvf(scvf.index(), i);
 
             auto outsideTi = calculateTransmissibility_(problem, outsideElement, fvGeometry, elemVolVars, flippedScvf);
@@ -149,7 +149,7 @@ private:
             const auto outsideScvIdx = scvf.outsideScvIdx();
             const auto& outsideScv = fvGeometry.scv(outsideScvIdx);
             const auto& outsideVolVars = elemVolVars[outsideScvIdx];
-            const auto outsideElement = fvGeometry.globalFvGeometry().element(outsideScvIdx);
+            const auto outsideElement = fvGeometry.fvGridGeometry().element(outsideScvIdx);
 
             auto outsideLambda = ThermalConductivityModel::effectiveThermalConductivity(outsideVolVars,
                                                                                         problem.spatialParams(),
diff --git a/dumux/discretization/cellcentered/tpfa/fvelementgeometry.hh b/dumux/discretization/cellcentered/tpfa/fvelementgeometry.hh
index 26a361cabd169fb16410b4de1498a277f3bc8d02..47bb3ddedb8364a1eb41fc426fce6257b923a0da 100644
--- a/dumux/discretization/cellcentered/tpfa/fvelementgeometry.hh
+++ b/dumux/discretization/cellcentered/tpfa/fvelementgeometry.hh
@@ -34,8 +34,8 @@ namespace Dumux
 {
 
 //! forward declaration of the global finite volume geometry
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
-class CCTpfaGlobalFVGeometry;
+template<class TypeTag, bool EnableFVGridGeometryCache>
+class CCTpfaFVGridGeometry;
 
 /*!
  * \ingroup ImplicitModel
@@ -43,7 +43,7 @@ class CCTpfaGlobalFVGeometry;
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
+template<class TypeTag, bool EnableFVGridGeometryCache>
 class CCTpfaFVElementGeometry
 {};
 
@@ -58,35 +58,35 @@ class CCTpfaFVElementGeometry<TypeTag, true>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using Element = typename GridView::template Codim<0>::Entity;
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     using ScvIterator = Dumux::ScvIterator<SubControlVolume, std::vector<IndexType>, ThisType>;
     using ScvfIterator = Dumux::ScvfIterator<SubControlVolumeFace, std::vector<IndexType>, ThisType>;
 
 public:
     //! Constructor
-    CCTpfaFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    CCTpfaFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get an elment sub control volume with a global scv index
     //! We separate element and neighbor scvs to speed up mapping
     const SubControlVolume& scv(IndexType scvIdx) const
     {
-        return globalFvGeometry().scv(scvIdx);
+        return fvGridGeometry().scv(scvIdx);
     }
 
     //! Get an element sub control volume face with a global scvf index
     //! We separate element and neighbor scvfs to speed up mapping
     const SubControlVolumeFace& scvf(IndexType scvfIdx) const
     {
-        return globalFvGeometry().scvf(scvfIdx);
+        return fvGridGeometry().scvf(scvfIdx);
     }
 
     //! Get the scvf on the same face but from the other side
     //! Note that e.g. the normals might be different in the case of surface grids
     const SubControlVolumeFace& flipScvf(IndexType scvfIdx, unsigned int outsideScvIdx = 0) const
     {
-        return globalFvGeometry().flipScvf(scvfIdx, outsideScvIdx);
+        return fvGridGeometry().flipScvf(scvfIdx, outsideScvIdx);
     }
 
     //! iterator range for sub control volumes. Iterates over
@@ -109,7 +109,7 @@ public:
     friend inline Dune::IteratorRange<ScvfIterator>
     scvfs(const CCTpfaFVElementGeometry& fvGeometry)
     {
-        const auto& g = fvGeometry.globalFvGeometry();
+        const auto& g = fvGeometry.fvGridGeometry();
         const auto scvIdx = fvGeometry.scvIndices_[0];
         return Dune::IteratorRange<ScvfIterator>(ScvfIterator(g.scvfIndicesOfScv(scvIdx).begin(), fvGeometry),
                                                  ScvfIterator(g.scvfIndicesOfScv(scvIdx).end(), fvGeometry));
@@ -124,7 +124,7 @@ public:
     //! number of sub control volumes in this fv element geometry
     std::size_t numScvf() const
     {
-        return globalFvGeometry().scvfIndicesOfScv(scvIndices_[0]).size();
+        return fvGridGeometry().scvfIndicesOfScv(scvIndices_[0]).size();
     }
 
     //! Binding of an element, called by the local jacobian to prepare element assembly
@@ -137,18 +137,18 @@ public:
     void bindElement(const Element& element)
     {
         elementPtr_ = &element;
-        scvIndices_ = std::vector<IndexType>({globalFvGeometry().problem_().elementMapper().index(*elementPtr_)});
+        scvIndices_ = std::vector<IndexType>({fvGridGeometry().problem_().elementMapper().index(*elementPtr_)});
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
 
     const Element* elementPtr_;
     std::vector<IndexType> scvIndices_;
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 };
 
 //! specialization in case the FVElementGeometries are not stored
@@ -162,7 +162,7 @@ class CCTpfaFVElementGeometry<TypeTag, false>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using Element = typename GridView::template Codim<0>::Entity;
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     static const int dim = GridView::dimension;
     static const int dimWorld = GridView::dimensionworld;
@@ -172,8 +172,8 @@ class CCTpfaFVElementGeometry<TypeTag, false>
 
 public:
     //! Constructor
-    CCTpfaFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    CCTpfaFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get an elment sub control volume with a global scv index
     //! We separate element and neighbor scvs to speed up mapping
@@ -254,7 +254,7 @@ public:
     void bind(const Element& element)
     {
         bindElement(element);
-        for (const auto& intersection : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& intersection : intersections(fvGridGeometry().gridView(), element))
         {
             neighborScvs_.reserve(element.subEntities(1));
             neighborScvfIndices_.reserve(element.subEntities(1));
@@ -301,7 +301,7 @@ public:
 
         //! Check if user added additional DOF dependencies, i.e. the residual of DOF globalI depends
         //! on additional DOFs not included in the discretization schemes' occupation pattern
-        const auto& problem = globalFvGeometry().problem_();
+        const auto& problem = fvGridGeometry().problem_();
         const auto globalI = problem.elementMapper().index(element);
         const auto& additionalDofDependencies = problem.getAdditionalDofDependencies(globalI);
         if (!additionalDofDependencies.empty())
@@ -310,7 +310,7 @@ public:
             neighborScvIndices_.reserve(neighborScvIndices_.size() + additionalDofDependencies.size());
             for (auto globalJ : additionalDofDependencies)
             {
-                neighborScvs_.emplace_back(globalFvGeometry().element(globalJ).geometry(), globalJ);
+                neighborScvs_.emplace_back(fvGridGeometry().element(globalJ).geometry(), globalJ);
                 neighborScvIndices_.emplace_back(globalJ);
             }
         }
@@ -327,8 +327,8 @@ public:
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
 
@@ -361,12 +361,12 @@ private:
     //! create scvs and scvfs of the bound element
     void makeElementGeometries(const Element& element)
     {
-        auto eIdx = globalFvGeometry().problem_().elementMapper().index(element);
+        auto eIdx = fvGridGeometry().problem_().elementMapper().index(element);
         scvs_.emplace_back(element.geometry(), eIdx);
         scvIndices_.emplace_back(eIdx);
 
-        const auto& scvFaceIndices = globalFvGeometry().scvfIndicesOfScv(eIdx);
-        const auto& neighborVolVarIndices = globalFvGeometry().neighborVolVarIndices(eIdx);
+        const auto& scvFaceIndices = fvGridGeometry().scvfIndicesOfScv(eIdx);
+        const auto& neighborVolVarIndices = fvGridGeometry().neighborVolVarIndices(eIdx);
 
         // for network grids there might be multiple intersection with the same geometryInInside
         // we indentify those by the indexInInside for now (assumes conforming grids at branching facets)
@@ -376,10 +376,10 @@ private:
             handledScvf.resize(element.subEntities(1), false);
 
         int scvfCounter = 0;
-        for (const auto& intersection : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& intersection : intersections(fvGridGeometry().gridView(), element))
         {
             // check if intersection is on interior boundary
-            const auto isInteriorBoundary = globalFvGeometry().problem_().isInteriorBoundary(element, intersection);
+            const auto isInteriorBoundary = fvGridGeometry().problem_().isInteriorBoundary(element, intersection);
 
             if (dim < dimWorld)
                 if (handledScvf[intersection.indexInInside()])
@@ -408,12 +408,12 @@ private:
     void makeNeighborGeometries(const Element& element)
     {
         // create the neighbor scv
-        auto eIdx = globalFvGeometry().problem_().elementMapper().index(element);
+        auto eIdx = fvGridGeometry().problem_().elementMapper().index(element);
         neighborScvs_.emplace_back(element.geometry(), eIdx);
         neighborScvIndices_.push_back(eIdx);
 
-        const auto& scvFaceIndices = globalFvGeometry().scvfIndicesOfScv(eIdx);
-        const auto& neighborVolVarIndices = globalFvGeometry().neighborVolVarIndices(eIdx);
+        const auto& scvFaceIndices = fvGridGeometry().scvfIndicesOfScv(eIdx);
+        const auto& neighborVolVarIndices = fvGridGeometry().neighborVolVarIndices(eIdx);
 
         // for network grids there might be multiple intersection with the same geometryInInside
         // we indentify those by the indexInInside for now (assumes conforming grids at branching facets)
@@ -423,10 +423,10 @@ private:
             handledScvf.resize(element.subEntities(1), false);
 
         int scvfCounter = 0;
-        for (const auto& intersection : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& intersection : intersections(fvGridGeometry().gridView(), element))
         {
             // check if intersection is on interior boundary
-            const auto isInteriorBoundary = globalFvGeometry().problem_().isInteriorBoundary(element, intersection);
+            const auto isInteriorBoundary = fvGridGeometry().problem_().isInteriorBoundary(element, intersection);
 
             if (dim < dimWorld)
                 if (handledScvf[intersection.indexInInside()])
@@ -458,7 +458,7 @@ private:
                 {
                     for (unsigned outsideScvIdx = 0; outsideScvIdx < neighborVolVarIndices[scvfCounter].size(); ++outsideScvIdx)
                     {
-                        if (neighborVolVarIndices[scvfCounter][outsideScvIdx] == globalFvGeometry().problem_().elementMapper().index(*elementPtr_))
+                        if (neighborVolVarIndices[scvfCounter][outsideScvIdx] == fvGridGeometry().problem_().elementMapper().index(*elementPtr_))
                         {
                             std::vector<IndexType> scvIndices({eIdx});
                             scvIndices.insert(scvIndices.end(), neighborVolVarIndices[scvfCounter].begin(), neighborVolVarIndices[scvfCounter].end());
@@ -518,7 +518,7 @@ private:
     // the bound element
     const Element* elementPtr_;
 
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 
     // local storage after binding an element
     std::vector<IndexType> scvIndices_;
diff --git a/dumux/discretization/cellcentered/tpfa/globalfvgeometry.hh b/dumux/discretization/cellcentered/tpfa/fvgridgeometry.hh
similarity index 96%
rename from dumux/discretization/cellcentered/tpfa/globalfvgeometry.hh
rename to dumux/discretization/cellcentered/tpfa/fvgridgeometry.hh
index 4175c9c97790e77164e83fb88d254444158cbb22..d4fc52cc19369cfa1945e02533b5823a50ee6db9 100644
--- a/dumux/discretization/cellcentered/tpfa/globalfvgeometry.hh
+++ b/dumux/discretization/cellcentered/tpfa/fvgridgeometry.hh
@@ -22,8 +22,8 @@
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element of the grid partition.
  */
-#ifndef DUMUX_DISCRETIZATION_CCTPFA_GLOBAL_FVGEOMETRY_HH
-#define DUMUX_DISCRETIZATION_CCTPFA_GLOBAL_FVGEOMETRY_HH
+#ifndef DUMUX_DISCRETIZATION_CCTPFA_FV_GRID_GEOMETRY_HH
+#define DUMUX_DISCRETIZATION_CCTPFA_FV_GRID_GEOMETRY_HH
 
 #include <dumux/common/elementmap.hh>
 #include <dumux/implicit/cellcentered/tpfa/properties.hh>
@@ -38,13 +38,13 @@ namespace Dumux
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
-class CCTpfaGlobalFVGeometry
+template<class TypeTag, bool EnableFVGridGeometryCache>
+class CCTpfaFVGridGeometry
 {};
 
 // specialization in case the FVElementGeometries are stored globally
 template<class TypeTag>
-class CCTpfaGlobalFVGeometry<TypeTag, true>
+class CCTpfaFVGridGeometry<TypeTag, true>
 {
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
@@ -65,7 +65,7 @@ class CCTpfaGlobalFVGeometry<TypeTag, true>
 
 public:
     //! Constructor
-    CCTpfaGlobalFVGeometry(const GridView& gridView)
+    CCTpfaFVGridGeometry(const GridView& gridView)
     : gridView_(gridView), elementMap_(gridView) {}
 
     //! The total number of sub control volumes
@@ -234,8 +234,8 @@ public:
      *        The local object is only functional after calling its bind/bindElement method
      *        This is a free function that will be found by means of ADL
      */
-    friend inline FVElementGeometry localView(const CCTpfaGlobalFVGeometry& global)
-    { return FVElementGeometry(global); }
+    friend inline FVElementGeometry localView(const CCTpfaFVGridGeometry& fvGridGeometry)
+    { return FVElementGeometry(fvGridGeometry); }
 
 //private:
 
@@ -297,7 +297,7 @@ private:
 
 // specialization in case the FVElementGeometries are not stored
 template<class TypeTag>
-class CCTpfaGlobalFVGeometry<TypeTag, false>
+class CCTpfaFVGridGeometry<TypeTag, false>
 {
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
@@ -315,7 +315,7 @@ class CCTpfaGlobalFVGeometry<TypeTag, false>
 
 public:
     //! Constructor
-    CCTpfaGlobalFVGeometry(const GridView& gridView)
+    CCTpfaFVGridGeometry(const GridView& gridView)
     : gridView_(gridView), elementMap_(gridView) {}
 
     //! The total number of sub control volumes
@@ -455,7 +455,7 @@ public:
      *        The local object is only functional after calling its bind/bindElement method
      *        This is a free function that will be found by means of ADL
      */
-    friend inline FVElementGeometry localView(const CCTpfaGlobalFVGeometry& global)
+    friend inline FVElementGeometry localView(const CCTpfaFVGridGeometry& global)
     { return FVElementGeometry(global); }
 
 private:
diff --git a/dumux/discretization/cellcentered/tpfa/globalfluxvariablescache.hh b/dumux/discretization/cellcentered/tpfa/globalfluxvariablescache.hh
index aba839d8eb379c9ce3568829792c3f6f324dc681..fd4e23fc9345a21ee67fa9cdf0bc740742539da6 100644
--- a/dumux/discretization/cellcentered/tpfa/globalfluxvariablescache.hh
+++ b/dumux/discretization/cellcentered/tpfa/globalfluxvariablescache.hh
@@ -65,12 +65,12 @@ public:
         // instantiate helper class to fill the caches
         FluxVariablesCacheFiller filler(problem);
 
-        const auto& globalFvGeometry = problem.model().globalFvGeometry();
-        fluxVarsCache_.resize(globalFvGeometry.numScvf());
+        const auto& fvGridGeometry = problem.model().fvGridGeometry();
+        fluxVarsCache_.resize(fvGridGeometry.numScvf());
         for (const auto& element : elements(problem.gridView()))
         {
             // Prepare the geometries within the elements of the stencil
-            auto fvGeometry = localView(globalFvGeometry);
+            auto fvGeometry = localView(fvGridGeometry);
             fvGeometry.bind(element);
 
             auto elemVolVars = localView(problem.model().curGlobalVolVars());
diff --git a/dumux/discretization/fluxstencil.hh b/dumux/discretization/fluxstencil.hh
index 780f04e07090109d85651625b9e1974feda4a115..1a9131d75ccfb47e59bed0923dcabf37932d7ef1 100644
--- a/dumux/discretization/fluxstencil.hh
+++ b/dumux/discretization/fluxstencil.hh
@@ -118,13 +118,13 @@ public:
                            const FVElementGeometry& fvGeometry,
                            const SubControlVolumeFace& scvf)
     {
-        const auto& globalFvGeometry = problem.model().globalFvGeometry();
+        const auto& fvGridGeometry = problem.model().fvGridGeometry();
 
         // return the scv (element) indices in the interaction region
-        if (globalFvGeometry.isInBoundaryInteractionVolume(scvf))
-            return globalFvGeometry.boundaryInteractionVolumeSeed(scvf).globalScvIndices();
+        if (fvGridGeometry.isInBoundaryInteractionVolume(scvf))
+            return fvGridGeometry.boundaryInteractionVolumeSeed(scvf).globalScvIndices();
         else
-            return globalFvGeometry.interactionVolumeSeed(scvf).globalScvIndices();
+            return fvGridGeometry.interactionVolumeSeed(scvf).globalScvIndices();
     }
 };
 
diff --git a/dumux/discretization/staggered/elementfluxvariablescache.hh b/dumux/discretization/staggered/elementfluxvariablescache.hh
index df74368908e4014e2806258feaab16672cb03cd1..5feb420cea47a244087e541603edce95dcf22c73 100644
--- a/dumux/discretization/staggered/elementfluxvariablescache.hh
+++ b/dumux/discretization/staggered/elementfluxvariablescache.hh
@@ -159,7 +159,7 @@ public:
         for (IndexType localIdxJ = 0; localIdxJ < numNeighbors; ++localIdxJ)
         {
             const auto& fluxVarIndicesJ = globalFluxVarsCache().problem_().model().localJacobian().assemblyMap()[globalI][localIdxJ];
-            const auto elementJ = fvGeometry.globalFvGeometry().element(neighborStencil[localIdxJ]);
+            const auto elementJ = fvGeometry.fvGridGeometry().element(neighborStencil[localIdxJ]);
 
             for (auto fluxVarIdx : fluxVarIndicesJ)
             {
diff --git a/dumux/discretization/staggered/elementvolumevariables.hh b/dumux/discretization/staggered/elementvolumevariables.hh
index 48bd0e8c9b69a25d6e9fef3f5f5b557cc11b5027..0ada499689039043105ab4dbc8ba6542af3f6e9b 100644
--- a/dumux/discretization/staggered/elementvolumevariables.hh
+++ b/dumux/discretization/staggered/elementvolumevariables.hh
@@ -135,7 +135,7 @@ public:
         // Update the volume variables of the neighboring elements
         for (auto globalJ : neighborStencil)
         {
-            const auto& elementJ = fvGeometry.globalFvGeometry().element(globalJ);
+            const auto& elementJ = fvGeometry.fvGridGeometry().element(globalJ);
             auto&& scvJ = fvGeometry.scv(globalJ);
             volumeVariables_[localIdx].update(sol[globalJ], globalVolVars().problem_(), elementJ, scvJ);
             volVarIndices_[localIdx] = scvJ.index();
diff --git a/dumux/discretization/staggered/fvelementgeometry.hh b/dumux/discretization/staggered/fvelementgeometry.hh
index 6cb4aa4fd221273423061394f701b1dd77dfa899..1806d66e596e7dbd4a06c773229daf0cebf70624 100644
--- a/dumux/discretization/staggered/fvelementgeometry.hh
+++ b/dumux/discretization/staggered/fvelementgeometry.hh
@@ -34,8 +34,8 @@ namespace Dumux
 {
 
 //! forward declaration of the global finite volume geometry
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
-class StaggeredGlobalFVGeometry;
+template<class TypeTag, bool EnableFVGridGeometryCache>
+class StaggeredFVGridGeometry;
 
 /*!
  * \ingroup ImplicitModel
@@ -43,7 +43,7 @@ class StaggeredGlobalFVGeometry;
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
+template<class TypeTag, bool EnableFVGridGeometryCache>
 class StaggeredFVElementGeometry
 {};
 
@@ -58,33 +58,33 @@ class StaggeredFVElementGeometry<TypeTag, true>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using Element = typename GridView::template Codim<0>::Entity;
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     using ScvIterator = Dumux::ScvIterator<SubControlVolume, std::vector<IndexType>, ThisType>;
     using ScvfIterator = Dumux::ScvfIterator<SubControlVolumeFace, std::vector<IndexType>, ThisType>;
 
 public:
     //! Constructor
-    StaggeredFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    StaggeredFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get an elment sub control volume with a global scv index
     //! We separate element and neighbor scvs to speed up mapping
     const SubControlVolume& scv(IndexType scvIdx) const
     {
-        return globalFvGeometry().scv(scvIdx);
+        return fvGridGeometry().scv(scvIdx);
     }
 
     //! Get an element sub control volume face with a global scvf index
     //! We separate element and neighbor scvfs to speed up mapping
     const SubControlVolumeFace& scvf(IndexType scvfIdx) const
     {
-        return globalFvGeometry().scvf(scvfIdx);
+        return fvGridGeometry().scvf(scvfIdx);
     }
 
     const SubControlVolumeFace& scvf(IndexType eIdx ,IndexType localScvfIdx) const
     {
-        return globalFvGeometry().scvf(eIdx, localScvfIdx);
+        return fvGridGeometry().scvf(eIdx, localScvfIdx);
     }
 
     //! iterator range for sub control volumes. Iterates over
@@ -107,7 +107,7 @@ public:
     friend inline Dune::IteratorRange<ScvfIterator>
     scvfs(const StaggeredFVElementGeometry& fvGeometry)
     {
-        const auto& g = fvGeometry.globalFvGeometry();
+        const auto& g = fvGeometry.fvGridGeometry();
         const auto scvIdx = fvGeometry.scvIndices_[0];
         return Dune::IteratorRange<ScvfIterator>(ScvfIterator(g.scvfIndicesOfScv(scvIdx).begin(), fvGeometry),
                                                  ScvfIterator(g.scvfIndicesOfScv(scvIdx).end(), fvGeometry));
@@ -122,7 +122,7 @@ public:
     //! number of sub control volumes in this fv element geometry
     std::size_t numScvf() const
     {
-        return globalFvGeometry().scvfIndicesOfScv(scvIndices_[0]).size();
+        return fvGridGeometry().scvfIndicesOfScv(scvIndices_[0]).size();
     }
 
     //! Binding of an element, called by the local jacobian to prepare element assembly
@@ -135,18 +135,18 @@ public:
     void bindElement(const Element& element)
     {
         elementPtr_ = &element;
-        scvIndices_ = std::vector<IndexType>({globalFvGeometry().problem_().elementMapper().index(*elementPtr_)});
+        scvIndices_ = std::vector<IndexType>({fvGridGeometry().problem_().elementMapper().index(*elementPtr_)});
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
 
     const Element* elementPtr_;
     std::vector<IndexType> scvIndices_;
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 };
 
 //! specialization in case the FVElementGeometries are not stored
@@ -160,15 +160,15 @@ class StaggeredFVElementGeometry<TypeTag, false>
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
     using Element = typename GridView::template Codim<0>::Entity;
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
 
     using ScvIterator = Dumux::ScvIterator<SubControlVolume, std::vector<IndexType>, ThisType>;
     using ScvfIterator = Dumux::ScvfIterator<SubControlVolumeFace, std::vector<IndexType>, ThisType>;
 
 public:
     //! Constructor
-    StaggeredFVElementGeometry(const GlobalFVGeometry& globalFvGeometry)
-    : globalFvGeometryPtr_(&globalFvGeometry) {}
+    StaggeredFVElementGeometry(const FVGridGeometry& fvGridGeometry)
+    : fvGridGeometryPtr_(&fvGridGeometry) {}
 
     //! Get an elment sub control volume with a global scv index
     //! We separate element and neighbor scvs to speed up mapping
@@ -228,7 +228,7 @@ public:
     void bind(const Element& element)
     {
         bindElement(element);
-        for (const auto& intersection : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& intersection : intersections(fvGridGeometry().gridView(), element))
         {
             neighborScvs_.reserve(element.subEntities(1));
             neighborScvfIndices_.reserve(element.subEntities(1));
@@ -246,23 +246,23 @@ public:
     }
 
     //! The global finite volume geometry we are a restriction of
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 private:
 
     //! create scvs and scvfs of the bound element
     void makeElementGeometries(const Element& element)
     {
-        auto eIdx = globalFvGeometry().problem_().elementMapper().index(element);
+        auto eIdx = fvGridGeometry().problem_().elementMapper().index(element);
         scvs_.emplace_back(element.geometry(), eIdx);
         scvIndices_.emplace_back(eIdx);
 
-        const auto& scvFaceIndices = globalFvGeometry().scvfIndicesOfScv(eIdx);
-        const auto& neighborVolVarIndices = globalFvGeometry().neighborVolVarIndices(eIdx);
+        const auto& scvFaceIndices = fvGridGeometry().scvfIndicesOfScv(eIdx);
+        const auto& neighborVolVarIndices = fvGridGeometry().neighborVolVarIndices(eIdx);
 
         int scvfCounter = 0;
-        for (const auto& intersection : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& intersection : intersections(fvGridGeometry().gridView(), element))
         {
             if (intersection.neighbor() || intersection.boundary())
             {
@@ -282,15 +282,15 @@ private:
     void makeNeighborGeometries(const Element& element)
     {
         // create the neighbor scv
-        auto eIdx = globalFvGeometry().problem_().elementMapper().index(element);
+        auto eIdx = fvGridGeometry().problem_().elementMapper().index(element);
         neighborScvs_.emplace_back(element.geometry(), eIdx);
         neighborScvIndices_.push_back(eIdx);
 
-        const auto& scvFaceIndices = globalFvGeometry().scvfIndicesOfScv(eIdx);
-        const auto& neighborVolVarIndices = globalFvGeometry().neighborVolVarIndices(eIdx);
+        const auto& scvFaceIndices = fvGridGeometry().scvfIndicesOfScv(eIdx);
+        const auto& neighborVolVarIndices = fvGridGeometry().neighborVolVarIndices(eIdx);
 
         int scvfCounter = 0;
-        for (const auto& intersection : intersections(globalFvGeometry().gridView(), element))
+        for (const auto& intersection : intersections(fvGridGeometry().gridView(), element))
         {
             if (intersection.neighbor())
             {
@@ -340,7 +340,7 @@ private:
     // the bound element
     const Element* elementPtr_;
 
-    const GlobalFVGeometry* globalFvGeometryPtr_;
+    const FVGridGeometry* fvGridGeometryPtr_;
 
     // local storage after binding an element
     std::vector<IndexType> scvIndices_;
diff --git a/dumux/discretization/staggered/globalfvgeometry.hh b/dumux/discretization/staggered/fvgridgeometry.hh
similarity index 96%
rename from dumux/discretization/staggered/globalfvgeometry.hh
rename to dumux/discretization/staggered/fvgridgeometry.hh
index 8d2cedeb7ba6dcfa6a971b6603ca5d58d127f52b..8fd8b53b95d5c96c2d172ca38b4420143fa82da5 100644
--- a/dumux/discretization/staggered/globalfvgeometry.hh
+++ b/dumux/discretization/staggered/fvgridgeometry.hh
@@ -37,13 +37,13 @@ namespace Dumux
  *        This builds up the sub control volumes and sub control volume faces
  *        for each element.
  */
-template<class TypeTag, bool EnableGlobalFVGeometryCache>
-class StaggeredGlobalFVGeometry
+template<class TypeTag, bool EnableFVGridGeometryCache>
+class StaggeredFVGridGeometry
 {};
 
 // specialization in case the FVElementGeometries are stored globally
 template<class TypeTag>
-class StaggeredGlobalFVGeometry<TypeTag, true>
+class StaggeredFVGridGeometry<TypeTag, true>
 {
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
@@ -67,7 +67,7 @@ class StaggeredGlobalFVGeometry<TypeTag, true>
 
 public:
     //! Constructor
-    StaggeredGlobalFVGeometry(const GridView& gridView)
+    StaggeredFVGridGeometry(const GridView& gridView)
     : gridView_(gridView), elementMap_(gridView), intersectionMapper_(gridView) {}
 
     //! The total number of sub control volumes
@@ -195,7 +195,7 @@ public:
      *        The local object is only functional after calling its bind/bindElement method
      *        This is a free function that will be found by means of ADL
      */
-    friend inline FVElementGeometry localView(const StaggeredGlobalFVGeometry& global)
+    friend inline FVElementGeometry localView(const StaggeredFVGridGeometry& global)
     { return FVElementGeometry(global); }
 
 //private:
@@ -247,7 +247,7 @@ private:
 
 // specialization in case the FVElementGeometries are not stored
 template<class TypeTag>
-class StaggeredGlobalFVGeometry<TypeTag, false>
+class StaggeredFVGridGeometry<TypeTag, false>
 {
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
@@ -261,7 +261,7 @@ class StaggeredGlobalFVGeometry<TypeTag, false>
 
 public:
     //! Constructor
-    StaggeredGlobalFVGeometry(const GridView& gridView)
+    StaggeredFVGridGeometry(const GridView& gridView)
     : gridView_(gridView), elementMap_(gridView) {}
 
     //! The total number of sub control volumes
@@ -355,7 +355,7 @@ public:
      *        The local object is only functional after calling its bind/bindElement method
      *        This is a free function that will be found by means of ADL
      */
-    friend inline FVElementGeometry localView(const StaggeredGlobalFVGeometry& global)
+    friend inline FVElementGeometry localView(const StaggeredFVGridGeometry& global)
     { return FVElementGeometry(global); }
 
 private:
diff --git a/dumux/discretization/staggered/globalfluxvariablescache.hh b/dumux/discretization/staggered/globalfluxvariablescache.hh
index 21ceda9649b94d3244deacc6a8d4aa846dc8fa3a..5e4dfd38cf687086c75fab3990c21e668ffdd51f 100644
--- a/dumux/discretization/staggered/globalfluxvariablescache.hh
+++ b/dumux/discretization/staggered/globalfluxvariablescache.hh
@@ -57,12 +57,12 @@ public:
     void update(Problem& problem)
     {
         problemPtr_ = &problem;
-        const auto& globalFvGeometry = problem.model().globalFvGeometry();
-        fluxVarsCache_.resize(globalFvGeometry.numScvf());
+        const auto& fvGridGeometry = problem.model().fvGridGeometry();
+        fluxVarsCache_.resize(fvGridGeometry.numScvf());
         for (const auto& element : elements(problem.gridView()))
         {
             // Prepare the geometries within the elements of the stencil
-            auto fvGeometry = localView(globalFvGeometry);
+            auto fvGeometry = localView(fvGridGeometry);
             fvGeometry.bind(element);
 
             auto elemVolVars = localView(problem.model().curGlobalVolVars());
diff --git a/dumux/discretization/staggered/globalvolumevariables.hh b/dumux/discretization/staggered/globalvolumevariables.hh
index 6912d7ed0a958d92c97a1269a841183c522abaee..bf6673bdaf1531f64582c505fa7122809d5774b2 100644
--- a/dumux/discretization/staggered/globalvolumevariables.hh
+++ b/dumux/discretization/staggered/globalvolumevariables.hh
@@ -75,13 +75,13 @@ public:
     {
         problemPtr_ = &problem;
 
-        auto numScv = problem.model().globalFvGeometry().numScv();
-        auto numBoundaryScvf = problem.model().globalFvGeometry().numBoundaryScvf();
+        auto numScv = problem.model().fvGridGeometry().numScv();
+        auto numBoundaryScvf = problem.model().fvGridGeometry().numBoundaryScvf();
 
         volumeVariables_.resize(numScv + numBoundaryScvf);
         for (const auto& element : elements(problem.gridView()))
         {
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/dumux/discretization/upwindscheme.hh b/dumux/discretization/upwindscheme.hh
index 94d1cdc60d745338a881f657ef2cafc862a0eeab..c00acef074983daafa6f6bcb61639e31e3b5e03e 100644
--- a/dumux/discretization/upwindscheme.hh
+++ b/dumux/discretization/upwindscheme.hh
@@ -118,7 +118,7 @@ public:
             {
                  // compute the outside flux
                 const auto outsideScvIdx = fluxVars.scvFace().outsideScvIdx(i);
-                const auto outsideElement = fluxVars.fvGeometry().globalFvGeometry().element(outsideScvIdx);
+                const auto outsideElement = fluxVars.fvGeometry().fvGridGeometry().element(outsideScvIdx);
                 const auto& flippedScvf = fluxVars.fvGeometry().flipScvf(fluxVars.scvFace().index(), i);
 
                 const auto outsideFlux = AdvectionType::flux(fluxVars.problem(),
@@ -240,7 +240,7 @@ public:
             {
                  // compute the outside flux
                 const auto outsideScvIdx = fluxVars.scvFace().outsideScvIdx(i);
-                const auto outsideElement = fluxVars.fvGeometry().globalFvGeometry().element(outsideScvIdx);
+                const auto outsideElement = fluxVars.fvGeometry().fvGridGeometry().element(outsideScvIdx);
                 const auto& flippedScvf = fluxVars.fvGeometry().flipScvf(fluxVars.scvFace().index(), i);
 
                 const auto outsideFlux = AdvectionType::flux(fluxVars.problem(),
diff --git a/dumux/freeflow/staggered/model.hh b/dumux/freeflow/staggered/model.hh
index bd88ed81f0a919c3943b5c6211ae92ef7e2c565e..4e781c517d5e588985d16a4b710acdffa4fe440e 100644
--- a/dumux/freeflow/staggered/model.hh
+++ b/dumux/freeflow/staggered/model.hh
@@ -62,7 +62,7 @@ class NavierStokesModel : public GET_PROP_TYPE(TypeTag, BaseModel)
     typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
     typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
     typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-    typedef typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry) GlobalFVGeometry;
+    typedef typename GET_PROP_TYPE(TypeTag, FVGridGeometry) FVGridGeometry;
     typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector;
     typedef typename GET_PROP_TYPE(TypeTag, JacobianAssembler) JacobianAssembler;
 
diff --git a/dumux/freeflow/staggerednc/model.hh b/dumux/freeflow/staggerednc/model.hh
index 1805487164974d27480fa8e75f2fa63464b9807a..f65194ab28971e01cc8140bc36b3dd00e16a5a5f 100644
--- a/dumux/freeflow/staggerednc/model.hh
+++ b/dumux/freeflow/staggerednc/model.hh
@@ -63,7 +63,7 @@ class NavierStokesNCModel : public NavierStokesModel<TypeTag>
     typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
     typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
     typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-    typedef typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry) GlobalFVGeometry;
+    typedef typename GET_PROP_TYPE(TypeTag, FVGridGeometry) FVGridGeometry;
     typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector;
     typedef typename GET_PROP_TYPE(TypeTag, JacobianAssembler) JacobianAssembler;
 
diff --git a/dumux/implicit/box/localjacobian.hh b/dumux/implicit/box/localjacobian.hh
index 530fae74e1df5d24dad78cd63bf6f29b49c375e3..7bc58332fd8f2139301ff9b46695df3ac3852acf 100644
--- a/dumux/implicit/box/localjacobian.hh
+++ b/dumux/implicit/box/localjacobian.hh
@@ -112,7 +112,7 @@ public:
                   SolutionVector& residual)
     {
         // prepare the volvars/fvGeometries for the case when caching is disabled
-        auto fvGeometry = localView(this->problem_().model().globalFvGeometry());
+        auto fvGeometry = localView(this->problem_().model().fvGridGeometry());
         fvGeometry.bind(element);
 
         auto curElemVolVars = localView(this->model_().curGlobalVolVars());
diff --git a/dumux/implicit/box/propertydefaults.hh b/dumux/implicit/box/propertydefaults.hh
index c95a65d75be728c9371637ccb9082bb1cd46bfe8..e680c40379564661eeb68fc9ea16dee830cce09e 100644
--- a/dumux/implicit/box/propertydefaults.hh
+++ b/dumux/implicit/box/propertydefaults.hh
@@ -33,7 +33,7 @@
 #include <dumux/discretization/box/elementfluxvariablescache.hh>
 #include <dumux/discretization/box/globalvolumevariables.hh>
 #include <dumux/discretization/box/elementvolumevariables.hh>
-#include <dumux/discretization/box/globalfvgeometry.hh>
+#include <dumux/discretization/box/fvgridgeometry.hh>
 #include <dumux/discretization/box/fvelementgeometry.hh>
 #include <dumux/porousmediumflow/implicit/fluxvariablescache.hh>
 #include <dumux/discretization/methods.hh>
@@ -61,10 +61,10 @@ SET_PROP(BoxModel, DiscretizationMethod)
 };
 
 //! Set the default for the FVElementGeometry vector
-SET_TYPE_PROP(BoxModel, GlobalFVGeometry, BoxGlobalFVGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(BoxModel, FVGridGeometry, BoxFVGridGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! Set the default for the FVElementGeometry vector
-SET_TYPE_PROP(BoxModel, FVElementGeometry, BoxFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(BoxModel, FVElementGeometry, BoxFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! The sub control volume
 SET_PROP(BoxModel, SubControlVolume)
diff --git a/dumux/implicit/cellcentered/assemblymap.hh b/dumux/implicit/cellcentered/assemblymap.hh
index 606a61d8a7b0f421cdc909d5814c2e65dbc56154..a2bb34b5e815c174f51b13778bf035e44bd1b398 100644
--- a/dumux/implicit/cellcentered/assemblymap.hh
+++ b/dumux/implicit/cellcentered/assemblymap.hh
@@ -78,7 +78,7 @@ public:
             // We are looking for the elements I, for which this element J is in the flux stencil
             auto globalJ = problem.elementMapper().index(element);
 
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             // obtain the data of J in elements I
diff --git a/dumux/implicit/cellcentered/localjacobian.hh b/dumux/implicit/cellcentered/localjacobian.hh
index 414fc98d6707af7cc67b22ee76d9ddc10bcaa1ad..11e3114eaf18dd822d52880380880c2d7573a2c9 100644
--- a/dumux/implicit/cellcentered/localjacobian.hh
+++ b/dumux/implicit/cellcentered/localjacobian.hh
@@ -125,7 +125,7 @@ public:
         const bool isGhost = (element.partitionType() == Dune::GhostEntity);
 
         // prepare the volvars/fvGeometries in case caching is disabled
-        auto fvGeometry = localView(this->model_().globalFvGeometry());
+        auto fvGeometry = localView(this->model_().fvGridGeometry());
         fvGeometry.bind(element);
 
         auto curElemVolVars = localView(this->model_().curGlobalVolVars());
@@ -217,7 +217,7 @@ protected:
         unsigned int j = 0;
         for (const auto& dataJ : assemblyMap_[globalI_])
         {
-            auto elementJ = fvGeometry.globalFvGeometry().element(dataJ.globalJ);
+            auto elementJ = fvGeometry.fvGridGeometry().element(dataJ.globalJ);
             neighborElements.push_back(elementJ);
 
             for (auto scvfIdx : dataJ.scvfsJ)
@@ -397,7 +397,7 @@ protected:
         {
             auto&& scvJ = fvGeometry.scv(globalJ);
             auto& curVolVarsJ = getCurVolVars(curElemVolVars, scvJ);
-            const auto& elementJ = fvGeometry.globalFvGeometry().element(globalJ);
+            const auto& elementJ = fvGeometry.fvGridGeometry().element(globalJ);
             auto& curSol = this->model_().curSol();
 
             // save a copy of the original privars and volvars
diff --git a/dumux/implicit/cellcentered/mpfa/generalassemblymap.hh b/dumux/implicit/cellcentered/mpfa/generalassemblymap.hh
index c69911e08de49ca1dc55e01f785ea6bc8f3421e7..f0813505f28c6f1ef35d34ec85fdda2a5f17a0f9 100644
--- a/dumux/implicit/cellcentered/mpfa/generalassemblymap.hh
+++ b/dumux/implicit/cellcentered/mpfa/generalassemblymap.hh
@@ -76,7 +76,7 @@ public:
             // We are looking for the elements I, for which this element J is in the flux stencil
             auto globalJ = problem.elementMapper().index(element);
 
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             // obtain the data of J in elements I
diff --git a/dumux/implicit/cellcentered/mpfa/propertydefaults.hh b/dumux/implicit/cellcentered/mpfa/propertydefaults.hh
index 0f0a0dbc26d5b7728dc8aa0605630c2f8dfca79d..3c39f209b4594edde0fefade6d35eae42e05fe9c 100644
--- a/dumux/implicit/cellcentered/mpfa/propertydefaults.hh
+++ b/dumux/implicit/cellcentered/mpfa/propertydefaults.hh
@@ -31,7 +31,7 @@
 #include <dumux/porousmediumflow/implicit/fluxvariablescache.hh>
 #include <dumux/discretization/methods.hh>
 #include <dumux/discretization/cellcentered/mpfa/methods.hh>
-#include <dumux/discretization/cellcentered/mpfa/globalfvgeometry.hh>
+#include <dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh>
 #include <dumux/discretization/cellcentered/mpfa/globalvolumevariables.hh>
 #include <dumux/discretization/cellcentered/mpfa/globalfluxvariablescache.hh>
 #include <dumux/discretization/cellcentered/mpfa/fvelementgeometry.hh>
@@ -80,7 +80,7 @@ SET_TYPE_PROP(CCMpfaModel, BoundaryInteractionVolume, typename GET_PROP_TYPE(Typ
 SET_TYPE_PROP(CCMpfaModel, GlobalInteractionVolumeSeeds, CCMpfaGlobalInteractionVolumeSeeds<TypeTag>);
 
 //! Set the default for the global finite volume geometry
-SET_TYPE_PROP(CCMpfaModel, GlobalFVGeometry, CCMpfaGlobalFVGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(CCMpfaModel, FVGridGeometry, CCMpfaFVGridGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! The global current volume variables vector class
 SET_TYPE_PROP(CCMpfaModel, GlobalVolumeVariables, Dumux::CCMpfaGlobalVolumeVariables<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalVolumeVariablesCache)>);
@@ -89,7 +89,7 @@ SET_TYPE_PROP(CCMpfaModel, GlobalVolumeVariables, Dumux::CCMpfaGlobalVolumeVaria
 SET_TYPE_PROP(CCMpfaModel, GlobalFluxVariablesCache, CCMpfaGlobalFluxVariablesCache<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFluxVariablesCache)>);
 
 //! Set the default for the local finite volume geometry
-SET_TYPE_PROP(CCMpfaModel, FVElementGeometry, CCMpfaFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(CCMpfaModel, FVElementGeometry, CCMpfaFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! The global previous volume variables vector class
 SET_TYPE_PROP(CCMpfaModel, ElementVolumeVariables, Dumux::CCMpfaElementVolumeVariables<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalVolumeVariablesCache)>);
diff --git a/dumux/implicit/cellcentered/tpfa/propertydefaults.hh b/dumux/implicit/cellcentered/tpfa/propertydefaults.hh
index 1422045377a834e5b1d48d561026c5d65093a619..73fba7ee448540a762f2c090e2f9d22a67d55f6a 100644
--- a/dumux/implicit/cellcentered/tpfa/propertydefaults.hh
+++ b/dumux/implicit/cellcentered/tpfa/propertydefaults.hh
@@ -29,7 +29,7 @@
 
 #include <dumux/implicit/propertydefaults.hh>
 #include <dumux/porousmediumflow/implicit/fluxvariablescache.hh>
-#include <dumux/discretization/cellcentered/tpfa/globalfvgeometry.hh>
+#include <dumux/discretization/cellcentered/tpfa/fvgridgeometry.hh>
 #include <dumux/discretization/cellcentered/tpfa/globalfluxvariablescache.hh>
 #include <dumux/discretization/cellcentered/tpfa/fvelementgeometry.hh>
 #include <dumux/discretization/cellcentered/tpfa/elementvolumevariables.hh>
@@ -51,13 +51,13 @@ SET_PROP(CCTpfaModel, DiscretizationMethod)
 };
 
 //! Set the default for the global finite volume geometry
-SET_TYPE_PROP(CCTpfaModel, GlobalFVGeometry, CCTpfaGlobalFVGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(CCTpfaModel, FVGridGeometry, CCTpfaFVGridGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! The global flux variables cache vector class
 SET_TYPE_PROP(CCTpfaModel, GlobalFluxVariablesCache, Dumux::CCTpfaGlobalFluxVariablesCache<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFluxVariablesCache)>);
 
 //! Set the default for the local finite volume geometry
-SET_TYPE_PROP(CCTpfaModel, FVElementGeometry, CCTpfaFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(CCTpfaModel, FVElementGeometry, CCTpfaFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! The global previous volume variables vector class
 SET_TYPE_PROP(CCTpfaModel, ElementVolumeVariables, Dumux::CCTpfaElementVolumeVariables<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalVolumeVariablesCache)>);
diff --git a/dumux/implicit/localresidual.hh b/dumux/implicit/localresidual.hh
index 2d8bae3ec0c27d2b38fc9c0c161f18cdb9907581..c86f3aff1580fed9ae31ed060c3647366f0f82d4 100644
--- a/dumux/implicit/localresidual.hh
+++ b/dumux/implicit/localresidual.hh
@@ -98,7 +98,7 @@ public:
     void eval(const Element &element)
     {
         // make sure FVElementGeometry and volume variables are bound to the element
-        auto fvGeometry = localView(problem().model().globalFvGeometry());
+        auto fvGeometry = localView(problem().model().fvGridGeometry());
         fvGeometry.bind(element);
 
         auto curElemVolVars = localView(problem().model().curGlobalVolVars());
@@ -128,7 +128,7 @@ public:
     void evalStorage(const Element &element)
     {
         // make sure FVElementGeometry and volume variables are bound to the element
-        auto fvGeometry = localView(problem().model().globalFvGeometry());
+        auto fvGeometry = localView(problem().model().fvGridGeometry());
         fvGeometry.bindElement(element);
 
         auto curElemVolVars = localView(problem().model().curGlobalVolVars());
diff --git a/dumux/implicit/model.hh b/dumux/implicit/model.hh
index 06752f4ecf4cccadc0eca86cc49b017b55f2000f..0eff0e83097833747175d41dfd677062afeee5f5 100644
--- a/dumux/implicit/model.hh
+++ b/dumux/implicit/model.hh
@@ -77,7 +77,7 @@ class ImplicitModel
         dim = GridView::dimension
     };
 
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
     using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
     using LocalJacobian = typename GET_PROP_TYPE(TypeTag, LocalJacobian);
     using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual);
@@ -113,8 +113,8 @@ public:
 
         updateBoundaryIndices_();
 
-        globalFvGeometryPtr_ = std::make_shared<GlobalFVGeometry>(problem.gridView());
-        globalFvGeometryPtr_->update(problem);
+        fvGridGeometryPtr_ = std::make_shared<FVGridGeometry>(problem.gridView());
+        fvGridGeometryPtr_->update(problem);
 
         int numDofs = asImp_().numDofs();
         uCur_.resize(numDofs);
@@ -410,7 +410,7 @@ public:
             updateBoundaryIndices_();
 
             // update the fv geometry
-            globalFvGeometryPtr_->update(problem_());
+            fvGridGeometryPtr_->update(problem_());
 
             // resize and update the volVars with the initial solution
             curGlobalVolVars_.update(problem_(), curSol());
@@ -654,8 +654,8 @@ public:
     const GlobalVolumeVariables& prevGlobalVolVars() const
     { return prevGlobalVolVars_; }
 
-    const GlobalFVGeometry& globalFvGeometry() const
-    { return *globalFvGeometryPtr_; }
+    const FVGridGeometry& fvGridGeometry() const
+    { return *fvGridGeometryPtr_; }
 
 protected:
 
@@ -813,7 +813,7 @@ protected:
     GlobalFluxVariablesCache globalfluxVarsCache_;
 
     // the finite volume element geometries
-    std::shared_ptr<GlobalFVGeometry> globalFvGeometryPtr_;
+    std::shared_ptr<FVGridGeometry> fvGridGeometryPtr_;
 
 private:
     /*!
diff --git a/dumux/implicit/properties.hh b/dumux/implicit/properties.hh
index af294c60315c05106efaf6b4727a62796b5b8455..87b8cf07e1840ac4cbd7780a53651f180417eeb1 100644
--- a/dumux/implicit/properties.hh
+++ b/dumux/implicit/properties.hh
@@ -61,8 +61,8 @@ NEW_PROP_TAG(LocalJacobian); //!< The type of the local jacobian operator
 NEW_PROP_TAG(SubControlVolume);//!< The type of the sub control volume
 NEW_PROP_TAG(SubControlVolumeFace); //!< The type of the sub control volume face
 NEW_PROP_TAG(FVElementGeometry); //!< The type of the local finite volume geometry (iterators over scvs, scvfs)
-NEW_PROP_TAG(GlobalFVGeometry); //!< The type of the global finite volume geometry
-NEW_PROP_TAG(EnableGlobalFVGeometryCache); //! specifies if geometric data is be saved (faster, but more memory consuming)
+NEW_PROP_TAG(FVGridGeometry); //!< The type of the global finite volume geometry
+NEW_PROP_TAG(EnableFVGridGeometryCache); //! specifies if geometric data is be saved (faster, but more memory consuming)
 
 NEW_PROP_TAG(JacobianAssembler); //!< Assembles the global jacobian matrix
 NEW_PROP_TAG(JacobianMatrix); //!< Type of the global jacobian matrix
diff --git a/dumux/implicit/propertydefaults.hh b/dumux/implicit/propertydefaults.hh
index dfd0645fe9d5ee40cb7c8d6a11841f52222a8957..0cb162d8e0b324d105ea2228bb86bf92a49ced6b 100644
--- a/dumux/implicit/propertydefaults.hh
+++ b/dumux/implicit/propertydefaults.hh
@@ -167,7 +167,7 @@ SET_BOOL_PROP(ImplicitBase, ImplicitEnableJacobianRecycling, false);
 SET_BOOL_PROP(ImplicitBase, ImplicitEnablePartialReassemble, false);
 
 //! We do not store the FVGeometry by default
-SET_BOOL_PROP(ImplicitBase, EnableGlobalFVGeometryCache, false);
+SET_BOOL_PROP(ImplicitBase, EnableFVGridGeometryCache, false);
 
 //! We do not store the volume variables by default
 SET_BOOL_PROP(ImplicitBase, EnableGlobalVolumeVariablesCache, false);
diff --git a/dumux/implicit/staggered/assembler.hh b/dumux/implicit/staggered/assembler.hh
index 83e3d878fc097bbdbd2032b7978783be7ee9fae1..30a84437f48a4d034775c40d66aa360913032387 100644
--- a/dumux/implicit/staggered/assembler.hh
+++ b/dumux/implicit/staggered/assembler.hh
@@ -146,7 +146,7 @@ private:
             for (auto&& faceGlobalJ : assemblyMap(cellCenterIdx, faceIdx, ccGlobalI))
                 occupationPatternA12.add(ccGlobalI, faceGlobalJ);
 
-            auto fvGeometry = localView(this->problem_().model().globalFvGeometry());
+            auto fvGeometry = localView(this->problem_().model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             // loop over sub control faces
diff --git a/dumux/implicit/staggered/assemblymap.hh b/dumux/implicit/staggered/assemblymap.hh
index 1fc9fc008636910cce5305ece94253c3c9455e18..45331e432b4a90986a1eb1e197e625b90f069f33 100644
--- a/dumux/implicit/staggered/assemblymap.hh
+++ b/dumux/implicit/staggered/assemblymap.hh
@@ -66,7 +66,7 @@ public:
     {
         const auto numDofsCC = problem.model().numCellCenterDofs();
         const auto numDofsFace = problem.model().numFaceDofs();
-        const auto numBoundaryFacets = problem.model().globalFvGeometry().numBoundaryScvf();
+        const auto numBoundaryFacets = problem.model().fvGridGeometry().numBoundaryScvf();
         cellCenterToCellCenterMap_.resize(numDofsCC);
         cellCenterToFaceMap_.resize(numDofsCC);
         faceToCellCenterMap_.resize(2*numDofsFace - numBoundaryFacets);
@@ -81,7 +81,7 @@ public:
         for(auto&& element: elements(problem.gridView()))
         {
             // restrict the FvGeometry locally and bind to the element
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             // loop over sub control faces
diff --git a/dumux/implicit/staggered/localjacobian.hh b/dumux/implicit/staggered/localjacobian.hh
index 983fb36cc09fd56fd98ef0f8bb9c43644d5f8e4f..571956299ea6e831480d678783ee65904b5c301c 100644
--- a/dumux/implicit/staggered/localjacobian.hh
+++ b/dumux/implicit/staggered/localjacobian.hh
@@ -150,7 +150,7 @@ public:
             DUNE_THROW(Dune::NotImplemented, "Support for ghost cells not implemented");
 
         // prepare the volvars/fvGeometries in case caching is disabled
-        auto fvGeometry = localView(this->model_().globalFvGeometry());
+        auto fvGeometry = localView(this->model_().fvGridGeometry());
         fvGeometry.bind(element);
 
         auto curElemVolVars = localView(this->model_().curGlobalVolVars());
@@ -270,7 +270,7 @@ protected:
         {
             // get the volVars of the element with respect to which we are going to build the derivative
             auto&& scvJ = fvGeometry.scv(globalJ);
-            const auto elementJ = fvGeometry.globalFvGeometry().element(globalJ);
+            const auto elementJ = fvGeometry.fvGridGeometry().element(globalJ);
             auto& curVolVars = getCurVolVars(curElemVolVars, scvJ);
             VolumeVariables origVolVars(curVolVars);
 
@@ -373,7 +373,7 @@ protected:
             {
                 // get the volVars of the element with respect to which we are going to build the derivative
                 auto&& scvJ = fvGeometry.scv(globalJ);
-                const auto elementJ = fvGeometry.globalFvGeometry().element(globalJ);
+                const auto elementJ = fvGeometry.fvGridGeometry().element(globalJ);
                 auto& curVolVars = getCurVolVars(curElemVolVars, scvJ);
                 VolumeVariables origVolVars(curVolVars);
 
diff --git a/dumux/implicit/staggered/localresidual.hh b/dumux/implicit/staggered/localresidual.hh
index a576541462fe5336627fa6193252094a979a6379..fe799358cfd1741ef83e9b1f376366afa70b6a1a 100644
--- a/dumux/implicit/staggered/localresidual.hh
+++ b/dumux/implicit/staggered/localresidual.hh
@@ -114,7 +114,7 @@ public:
     void eval(const Element &element)
     {
         // make sure FVElementGeometry and volume variables are bound to the element
-        auto fvGeometry = localView(this->problem().model().globalFvGeometry());
+        auto fvGeometry = localView(this->problem().model().fvGridGeometry());
         fvGeometry.bind(element);
 
         auto curElemVolVars = localView(problem().model().curGlobalVolVars());
diff --git a/dumux/implicit/staggered/model.hh b/dumux/implicit/staggered/model.hh
index 9d93c876b8c2a30d616ecc448c545770041288c6..e59dbaab1590ee9a864f04ce07f730903390c346 100644
--- a/dumux/implicit/staggered/model.hh
+++ b/dumux/implicit/staggered/model.hh
@@ -61,7 +61,7 @@ class StaggeredBaseModel : public ImplicitModel<TypeTag>
     friend typename GET_PROP_TYPE(TypeTag, LocalJacobian);
     using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
     using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector);
     using JacobianAssembler = typename GET_PROP_TYPE(TypeTag, JacobianAssembler);
 
@@ -106,8 +106,8 @@ public:
 
         this->updateBoundaryIndices_();
 
-        this->globalFvGeometryPtr_ = std::make_shared<GlobalFVGeometry>(problem.gridView());
-        this->globalFvGeometryPtr_->update(problem);
+        this->fvGridGeometryPtr_ = std::make_shared<FVGridGeometry>(problem.gridView());
+        this->fvGridGeometryPtr_->update(problem);
 
         this->uCur_[cellCenterIdx].resize(asImp_().numCellCenterDofs());
         this->uCur_[faceIdx].resize(asImp_().numFaceDofs());
@@ -247,7 +247,7 @@ public:
         for (const auto& element : elements(this->gridView_()))
         {
             // deal with the current element, bind FVGeometry to it
-            auto fvGeometry = localView(this->globalFvGeometry());
+            auto fvGeometry = localView(this->fvGridGeometry());
             fvGeometry.bindElement(element);
 
             // loop over sub control volumes
@@ -377,7 +377,7 @@ public:
 //             (*rank)[eIdx] = this->gridView_().comm().rank();
 //
 //             // get the local fv geometry
-//             auto fvGeometry = localView(this->globalFvGeometry());
+//             auto fvGeometry = localView(this->fvGridGeometry());
 //             fvGeometry.bindElement(element);
 //
 //             auto elemVolVars = localView(this->curGlobalVolVars());
@@ -532,7 +532,7 @@ public:
      */
     size_t numFaceDofs() const
     {
-        return this->globalFvGeometryPtr_->numIntersections();
+        return this->fvGridGeometryPtr_->numIntersections();
     }
 
     const GlobalFaceVariables& curGlobalFaceVars() const
diff --git a/dumux/implicit/staggered/propertydefaults.hh b/dumux/implicit/staggered/propertydefaults.hh
index 6bf84478217abba79b1c1d88938c8770e1ec2808..b1dc5044a9c3fc1800217f696484d76b2e3b794e 100644
--- a/dumux/implicit/staggered/propertydefaults.hh
+++ b/dumux/implicit/staggered/propertydefaults.hh
@@ -28,7 +28,7 @@
 #define DUMUX_STAGGERED_PROPERTY_DEFAULTS_HH
 
 #include <dumux/implicit/propertydefaults.hh>
-#include <dumux/discretization/staggered/globalfvgeometry.hh>
+#include <dumux/discretization/staggered/fvgridgeometry.hh>
 #include <dumux/discretization/staggered/fvelementgeometry.hh>
 #include <dumux/implicit/staggered/properties.hh>
 #include <dumux/discretization/methods.hh>
@@ -78,10 +78,10 @@ SET_TYPE_PROP(StaggeredModel, BaseModel, StaggeredBaseModel<TypeTag>);
 
 
 //! Set the default for the global finite volume geometry
-SET_TYPE_PROP(StaggeredModel, GlobalFVGeometry, StaggeredGlobalFVGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(StaggeredModel, FVGridGeometry, StaggeredFVGridGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! Set the default for the local finite volume geometry
-SET_TYPE_PROP(StaggeredModel, FVElementGeometry, StaggeredFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableGlobalFVGeometryCache)>);
+SET_TYPE_PROP(StaggeredModel, FVElementGeometry, StaggeredFVElementGeometry<TypeTag, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>);
 
 //! The sub control volume
 SET_PROP(StaggeredModel, SubControlVolume)
diff --git a/dumux/io/staggeredvtkoutputmodule.hh b/dumux/io/staggeredvtkoutputmodule.hh
index 194701d5cfc6a74f41a4450e3f5bd6412386d107..4d8fcec2d24d7140e97f670c4e247cc0b312bffb 100644
--- a/dumux/io/staggeredvtkoutputmodule.hh
+++ b/dumux/io/staggeredvtkoutputmodule.hh
@@ -192,7 +192,7 @@ private:
 
         for(auto&& element : elements(this->problem().gridView()))
         {
-            auto fvGeometry = localView(this->problem().model().globalFvGeometry());
+            auto fvGeometry = localView(this->problem().model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for(auto && scvf : scvfs(fvGeometry))
             {
diff --git a/dumux/io/vtkoutputmodulebase.hh b/dumux/io/vtkoutputmodulebase.hh
index c5c605a092596045216444fa33ee784172dae716..2974a7b10979cbbc38b27982d4684d170f400065 100644
--- a/dumux/io/vtkoutputmodulebase.hh
+++ b/dumux/io/vtkoutputmodulebase.hh
@@ -217,7 +217,7 @@ public:
                             = asImp_().getPriVarData_(eIdxGlobal, priVarVectorDataInfo_[i].pvIdx[j]);
             }
 
-            auto fvGeometry = localView(problem_.model().globalFvGeometry());
+            auto fvGeometry = localView(problem_.model().fvGridGeometry());
             auto elemVolVars = localView(problem_.model().curGlobalVolVars());
 
             // If velocity output is enabled we need to bind to the whole stencil
diff --git a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh
index aabd93f3f6a877d961739073a0c912c7afb6ae75..a8ed791ae2e2e6d6907998d60f2a91e14efb72c1 100644
--- a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh
+++ b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanager.hh
@@ -487,8 +487,8 @@ public:
         auto& data = pointSourceData_[id];
         auto bulkPriVars = data.interpolateBulk(bulkProblem().model().curSol());
 
-        const auto element = bulkProblem().model().globalFvGeometry().element(data.bulkElementIdx());
-        auto fvGeometry = localView(bulkProblem().model().globalFvGeometry());
+        const auto element = bulkProblem().model().fvGridGeometry().element(data.bulkElementIdx());
+        auto fvGeometry = localView(bulkProblem().model().fvGridGeometry());
         fvGeometry.bindElement(element);
 
         BulkVolumeVariables volVars;
@@ -504,8 +504,8 @@ public:
     LowDimVolumeVariables lowDimVolVars(unsigned int id) const
     {
         const auto& data = pointSourceData_[id];
-        const auto element = lowDimProblem().model().globalFvGeometry().element(data.lowDimElementIdx());
-        auto fvGeometry = localView(lowDimProblem().model().globalFvGeometry());
+        const auto element = lowDimProblem().model().fvGridGeometry().element(data.lowDimElementIdx());
+        auto fvGeometry = localView(lowDimProblem().model().fvGridGeometry());
         fvGeometry.bindElement(element);
 
         const auto& curSol = lowDimProblem().model().curSol();
diff --git a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh
index 6b3a52b57550ec38d95f20bf3063bf7c9d518f4f..030eec9cfbe4cd1bb151fbd714e7b1b09e5adba7 100644
--- a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh
+++ b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh
@@ -419,8 +419,8 @@ public:
         auto& data = pointSourceData_[id];
         auto bulkPriVars = data.interpolateBulk(bulkProblem().model().curSol());
 
-        const auto element = bulkProblem().model().globalFvGeometry().element(data.bulkElementIdx());
-        auto fvGeometry = localView(bulkProblem().model().globalFvGeometry());
+        const auto element = bulkProblem().model().fvGridGeometry().element(data.bulkElementIdx());
+        auto fvGeometry = localView(bulkProblem().model().fvGridGeometry());
         fvGeometry.bindElement(element);
 
         BulkVolumeVariables volVars;
@@ -438,8 +438,8 @@ public:
         auto& data = pointSourceData_[id];
         auto lowDimPriVars = data.interpolateLowDim(lowDimProblem().model().curSol());
 
-        const auto element = lowDimProblem().model().globalFvGeometry().element(data.lowDimElementIdx());
-        auto fvGeometry = localView(lowDimProblem().model().globalFvGeometry());
+        const auto element = lowDimProblem().model().fvGridGeometry().element(data.lowDimElementIdx());
+        auto fvGeometry = localView(lowDimProblem().model().fvGridGeometry());
         fvGeometry.bindElement(element);
 
         LowDimVolumeVariables volVars;
diff --git a/dumux/mixeddimension/facet/mpfa/couplingmanager.hh b/dumux/mixeddimension/facet/mpfa/couplingmanager.hh
index 6b6d65b0b0203f4ea1e902b47366a4659906ef3d..f5b8a66a648e64a5339ce367e4b21676f413fba6 100644
--- a/dumux/mixeddimension/facet/mpfa/couplingmanager.hh
+++ b/dumux/mixeddimension/facet/mpfa/couplingmanager.hh
@@ -200,9 +200,9 @@ public:
         // of the first element, the necessary quantities for all the scvfs will be in there,
         // as the scvfs in the other elements are the "flipped" scvfs of the ones in the first element
         const auto& firstPair = couplingData.elementScvfList[0];
-        const auto firstBulkElement = bulkProblem().model().globalFvGeometry().element(firstPair.first);
+        const auto firstBulkElement = bulkProblem().model().fvGridGeometry().element(firstPair.first);
 
-        auto bulkFvGeometry = localView(bulkProblem().model().globalFvGeometry());
+        auto bulkFvGeometry = localView(bulkProblem().model().fvGridGeometry());
         bulkFvGeometry.bind(firstBulkElement);
 
         auto bulkElemVolVars = localView(bulkProblem().model().curGlobalVolVars());
@@ -214,7 +214,7 @@ public:
         BulkPrimaryVariables flux(0.0);
         for (const auto& pair : couplingData.elementScvfList)
         {
-            const auto bulkElement = bulkProblem().model().globalFvGeometry().element(pair.first);
+            const auto bulkElement = bulkProblem().model().fvGridGeometry().element(pair.first);
             for (auto scvfIdx : pair.second)
                 flux += bulkLocalResidual_.computeFlux(bulkElement,
                                                        bulkFvGeometry,
@@ -236,8 +236,8 @@ public:
         const auto& scvfCouplingData = couplingMapper_.getBulkCouplingData(element).getScvfCouplingData(scvf);
 
         assert(scvfCouplingData.first && "no coupled facet element found for given scvf!");
-        const auto lowDimElement = lowDimProblem().model().globalFvGeometry().element(scvfCouplingData.second);
-        auto lowDimFvGeometry = localView(lowDimProblem().model().globalFvGeometry());
+        const auto lowDimElement = lowDimProblem().model().fvGridGeometry().element(scvfCouplingData.second);
+        auto lowDimFvGeometry = localView(lowDimProblem().model().fvGridGeometry());
         lowDimFvGeometry.bindElement(lowDimElement);
 
         const auto& lowDimCurSol = lowDimProblem().model().curSol();
diff --git a/dumux/mixeddimension/facet/mpfa/couplingmapper.hh b/dumux/mixeddimension/facet/mpfa/couplingmapper.hh
index 83168983a741f74feea4fe70303a0fc4c98d953e..e91b7682451da3d59448f1e713f851f29a537b8b 100644
--- a/dumux/mixeddimension/facet/mpfa/couplingmapper.hh
+++ b/dumux/mixeddimension/facet/mpfa/couplingmapper.hh
@@ -153,8 +153,8 @@ public:
                 {
                     bulkCouplingData_[bulkElementIdx].isCoupled = true;
 
-                    const auto bulkElement = bulkProblem_().model().globalFvGeometry().element(bulkElementIdx);
-                    auto bulkFvGeometry = localView(bulkProblem_().model().globalFvGeometry());
+                    const auto bulkElement = bulkProblem_().model().fvGridGeometry().element(bulkElementIdx);
+                    auto bulkFvGeometry = localView(bulkProblem_().model().fvGridGeometry());
                     bulkFvGeometry.bindElement(bulkElement);
 
                     // find the scvfs in the bulk element that "touch" the facet element
@@ -179,10 +179,10 @@ public:
                             // also, insert scvf stencil to the coupling stencil of the low dim element
                             const auto scvfStencil = [&] ()
                             {
-                                if (bulkProblem_().model().globalFvGeometry().isInBoundaryInteractionVolume(scvf))
-                                    return bulkProblem_().model().globalFvGeometry().boundaryInteractionVolumeSeed(scvf).globalScvIndices();
+                                if (bulkProblem_().model().fvGridGeometry().isInBoundaryInteractionVolume(scvf))
+                                    return bulkProblem_().model().fvGridGeometry().boundaryInteractionVolumeSeed(scvf).globalScvIndices();
                                 else
-                                    return bulkProblem_().model().globalFvGeometry().interactionVolumeSeed(scvf).globalScvIndices();
+                                    return bulkProblem_().model().fvGridGeometry().interactionVolumeSeed(scvf).globalScvIndices();
                             } ();
 
                             auto& lowDimCouplingStencil = lowDimCouplingData_[lowDimElementGlobalIdx].couplingStencil;
diff --git a/dumux/mixeddimension/facet/mpfa/interiorboundarydata.hh b/dumux/mixeddimension/facet/mpfa/interiorboundarydata.hh
index d3de8e60abe91bad72c7f3dfabf13c4fe3998bde..43d75d32d1331a4a975d49f7548e5e30d5bd262a 100644
--- a/dumux/mixeddimension/facet/mpfa/interiorboundarydata.hh
+++ b/dumux/mixeddimension/facet/mpfa/interiorboundarydata.hh
@@ -139,7 +139,7 @@ public:
     //! returns the volume variables for interior dirichlet boundaries
     LowDimVolumeVariables facetVolVars(const FVElementGeometry& fvGeometry) const
     {
-        return problem_().couplingManager().lowDimVolVars(problem_().model().globalFvGeometry().element(elementIndex()),
+        return problem_().couplingManager().lowDimVolVars(problem_().model().fvGridGeometry().element(elementIndex()),
                                                           fvGeometry,
                                                           fvGeometry.scvf(scvfIndex()));
     }
@@ -148,7 +148,7 @@ public:
     LowDimVolumeVariables facetVolVars(const FVElementGeometry& fvGeometry, const SubControlVolumeFace& scvf) const
     {
         assert(scvf.index() == scvfIndex() && "calling facet volume variables for an scvf other than the bound one");
-        return problem_().couplingManager().lowDimVolVars(problem_().model().globalFvGeometry().element(elementIndex()),
+        return problem_().couplingManager().lowDimVolVars(problem_().model().fvGridGeometry().element(elementIndex()),
                                                           fvGeometry,
                                                           scvf);
     }
@@ -161,15 +161,15 @@ public:
         const auto& couplingMapper = problem_().couplingManager().couplingMapper();
 
         // get coupling data for this scvf
-        const auto element = problem_().model().globalFvGeometry().element(elementIndex());
+        const auto element = problem_().model().fvGridGeometry().element(elementIndex());
         const auto& scvfCouplingData = couplingMapper.getBulkCouplingData(element).getScvfCouplingData(fvGeometry.scvf(scvfIndex()));
 
         // obtain data necessary to fully instantiate the complete coupled facet data
         assert(scvfCouplingData.first && "no coupled facet element found for given scvf!");
         const auto& lowDimProblem = problem_().couplingManager().lowDimProblem();
 
-        auto lowDimElement = lowDimProblem.model().globalFvGeometry().element(scvfCouplingData.second);
-        auto lowDimFvGeometry = localView(lowDimProblem.model().globalFvGeometry());
+        auto lowDimElement = lowDimProblem.model().fvGridGeometry().element(scvfCouplingData.second);
+        auto lowDimFvGeometry = localView(lowDimProblem.model().fvGridGeometry());
         lowDimFvGeometry.bindElement(lowDimElement);
 
         LowDimVolumeVariables lowDimVolVars;
diff --git a/dumux/mixeddimension/integrationpointsource.hh b/dumux/mixeddimension/integrationpointsource.hh
index 86866d746a24a033984f33c9a0632a81066a26ad..74682cbef40b508db54d159f6d6042fa9abec546 100644
--- a/dumux/mixeddimension/integrationpointsource.hh
+++ b/dumux/mixeddimension/integrationpointsource.hh
@@ -142,7 +142,7 @@ public:
                 {
                     // check in which subcontrolvolume(s) we are
                     const auto element = boundingBoxTree.entity(eIdx);
-                    auto fvGeometry = localView(problem.model().globalFvGeometry());
+                    auto fvGeometry = localView(problem.model().fvGridGeometry());
                     fvGeometry.bindElement(element);
                     const auto globalPos = source.position();
                     // loop over all sub control volumes and check if the point source is inside
diff --git a/dumux/mixeddimension/subproblemlocaljacobian.hh b/dumux/mixeddimension/subproblemlocaljacobian.hh
index a18584867ebe5fa261495a105b03e8410de74afa..c284c6b40822a9c992c69670d0500583bc2d00bf 100644
--- a/dumux/mixeddimension/subproblemlocaljacobian.hh
+++ b/dumux/mixeddimension/subproblemlocaljacobian.hh
@@ -141,7 +141,7 @@ public:
                   SolutionVector& residual)
     {
         // prepare the volvars/fvGeometries in case caching is disabled
-        auto fvGeometry = localView(this->model_().globalFvGeometry());
+        auto fvGeometry = localView(this->model_().fvGridGeometry());
         fvGeometry.bind(element);
 
         auto curElemVolVars = localView(this->model_().curGlobalVolVars());
@@ -333,7 +333,7 @@ protected:
 
         for (auto globalJ : couplingStencil)
         {
-            const auto otherElement = otherProblem_().model().globalFvGeometry().element(globalJ);
+            const auto otherElement = otherProblem_().model().fvGridGeometry().element(globalJ);
             const auto originalResidual = globalProblem_().couplingManager().evalCouplingResidual(element,
                                                                                                   fvGeometry,
                                                                                                   curElemVolVars,
diff --git a/dumux/porousmediumflow/2p2c/implicit/model.hh b/dumux/porousmediumflow/2p2c/implicit/model.hh
index a1bc9e00d79b1c992be9fae4bac9a29c41b76833..4c43a718935a1e1c828482d83895a78c7f9a96c9 100644
--- a/dumux/porousmediumflow/2p2c/implicit/model.hh
+++ b/dumux/porousmediumflow/2p2c/implicit/model.hh
@@ -204,7 +204,7 @@ public:
         for (const auto& element : elements(this->problem_().gridView()))
         {
             // make sure FVElementGeometry & vol vars are bound to the element
-            auto fvGeometry = localView(this->globalFvGeometry());
+            auto fvGeometry = localView(this->fvGridGeometry());
             fvGeometry.bindElement(element);
 
             if (switchFlag_)
diff --git a/dumux/porousmediumflow/2pnc/implicit/model.hh b/dumux/porousmediumflow/2pnc/implicit/model.hh
index b92e92a9d091c8fdee20d35ff66fbed31437f325..5d73c5f30a015e40f404d9e952c55dbae1f8c7fc 100644
--- a/dumux/porousmediumflow/2pnc/implicit/model.hh
+++ b/dumux/porousmediumflow/2pnc/implicit/model.hh
@@ -233,7 +233,7 @@ public:
         for (const auto& element : elements(this->problem_().gridView()))
         {
             // make sure FVElementGeometry & vol vars are bound to the element
-            auto fvGeometry = localView(this->globalFvGeometry());
+            auto fvGeometry = localView(this->fvGridGeometry());
             fvGeometry.bindElement(element);
 
             if (switchFlag_)
diff --git a/dumux/porousmediumflow/2pncmin/implicit/model.hh b/dumux/porousmediumflow/2pncmin/implicit/model.hh
index b9d7159df826aee05361f95adc459d9d1b0cef4c..fe9dd8a0472aee05d776db97005313bbfaff23cd 100644
--- a/dumux/porousmediumflow/2pncmin/implicit/model.hh
+++ b/dumux/porousmediumflow/2pncmin/implicit/model.hh
@@ -224,7 +224,7 @@ public:
         for (const auto& element : elements(this->problem_().gridView()))
         {
             // make sure FVElementGeometry & vol vars are bound to the element
-            auto fvGeometry = localView(this->globalFvGeometry());
+            auto fvGeometry = localView(this->fvGridGeometry());
             fvGeometry.bindElement(element);
 
             if (switchFlag_)
diff --git a/dumux/porousmediumflow/3p3c/implicit/model.hh b/dumux/porousmediumflow/3p3c/implicit/model.hh
index 63bb7080d2d0b7abf4277fef1972a6ba5a82c281..a6553ff5d9f4e7b7e20f4a31cfb13bf06ed7811c 100644
--- a/dumux/porousmediumflow/3p3c/implicit/model.hh
+++ b/dumux/porousmediumflow/3p3c/implicit/model.hh
@@ -206,7 +206,7 @@ public:
         for (const auto& element : elements(this->problem_().gridView()))
         {
             // make sure FVElementGeometry & vol vars are bound to the element
-            auto fvGeometry = localView(this->globalFvGeometry());
+            auto fvGeometry = localView(this->fvGridGeometry());
             fvGeometry.bindElement(element);
 
             if (switchFlag_)
diff --git a/dumux/porousmediumflow/compositional/primaryvariableswitch.hh b/dumux/porousmediumflow/compositional/primaryvariableswitch.hh
index 64bd67763f8ba455065e567e1208d202d20b43c0..32647cd96d713eb13d5760ba4ed47339c6f6b0c8 100644
--- a/dumux/porousmediumflow/compositional/primaryvariableswitch.hh
+++ b/dumux/porousmediumflow/compositional/primaryvariableswitch.hh
@@ -83,7 +83,7 @@ public:
         for (const auto& element : elements(problem.gridView()))
         {
             // make sure FVElementGeometry is bound to the element
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(problem.model().curGlobalVolVars());
@@ -128,7 +128,7 @@ public:
         for (const auto& element : elements(problem.gridView()))
         {
             // make sure FVElementGeometry is bound to the element
-            auto fvGeometry = localView(problem.model().globalFvGeometry());
+            auto fvGeometry = localView(problem.model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             const auto eIdx = problem.elementMapper().index(element);
diff --git a/dumux/porousmediumflow/richards/implicit/newtoncontroller.hh b/dumux/porousmediumflow/richards/implicit/newtoncontroller.hh
index 04e3a18fb76a39d05470d0ced2122214491de31b..fe27c82c90735386eee0211a1343f883ccf6abb1 100644
--- a/dumux/porousmediumflow/richards/implicit/newtoncontroller.hh
+++ b/dumux/porousmediumflow/richards/implicit/newtoncontroller.hh
@@ -91,7 +91,7 @@ public:
             const auto gridView = this->problem_().gridView();
             for (const auto& element : elements(gridView))
             {
-                auto fvGeometry = localView(this->model_().globalFvGeometry());
+                auto fvGeometry = localView(this->model_().fvGridGeometry());
                 fvGeometry.bindElement(element);
 
                 for (auto&& scv : scvs(fvGeometry))
diff --git a/test/discretization/box/test_boxfvgeometry.cc b/test/discretization/box/test_boxfvgeometry.cc
index 929e8e33c75fb6974559c792ec494adb16b3ec2e..b40cc5508d0c6e5d12006aee5a3555f2220d0a66 100644
--- a/test/discretization/box/test_boxfvgeometry.cc
+++ b/test/discretization/box/test_boxfvgeometry.cc
@@ -99,7 +99,7 @@ int main (int argc, char *argv[]) try
     using GlobalPosition = Dune::FieldVector<Scalar, dimworld>;
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
 
     // make a grid
@@ -111,7 +111,7 @@ int main (int argc, char *argv[]) try
 
     Problem problem(leafGridView);
 
-    GlobalFVGeometry global(leafGridView);
+    FVGridGeometry global(leafGridView);
     global.update(problem);
 
     // iterate over elements. For every element get fv geometry and loop over scvs and scvfaces
diff --git a/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc b/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc
index e6f5a1fa7beed65d0d9ac72fa34392c4c4f91b57..349b045b476f4feb39cfa0b428306367b0dc1b3c 100644
--- a/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc
+++ b/test/discretization/cellcentered/tpfa/test_tpfafvgeometry.cc
@@ -94,7 +94,7 @@ int main (int argc, char *argv[]) try
     using GlobalPosition = Dune::FieldVector<Scalar, dimworld>;
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
 
     // make a grid
@@ -106,7 +106,7 @@ int main (int argc, char *argv[]) try
 
     Problem problem(leafGridView);
 
-    GlobalFVGeometry global(leafGridView);
+    FVGridGeometry global(leafGridView);
     global.update(problem);
 
     // iterate over elements. For every element get fv geometry and loop over scvs and scvfaces
diff --git a/test/discretization/staggered/test_staggered.cc b/test/discretization/staggered/test_staggered.cc
index 6e26dcd3cb4a743117717528526d3fd8a8cff06b..6c3e3e28533e99f22e43f49d9909d6a222dcd485 100644
--- a/test/discretization/staggered/test_staggered.cc
+++ b/test/discretization/staggered/test_staggered.cc
@@ -33,7 +33,7 @@
 #include <dune/grid/common/mcmgmapper.hh>
 
 #include <dumux/implicit/staggered/properties.hh>
-#include <dumux/discretization/staggered/globalfvgeometry.hh>
+#include <dumux/discretization/staggered/fvgridgeometry.hh>
 #include <dumux/discretization/staggered/fvelementgeometry.hh>
 // #include <dumux/discretization/staggered/subcontrolvolume.hh>
 #include <dumux/discretization/staggered/freeflow/subcontrolvolumeface.hh>
@@ -65,7 +65,7 @@ SET_TYPE_PROP(TestFVGeometry, Grid, Dune::YaspGrid<2>);
 
 SET_TYPE_PROP(TestFVGeometry, Problem, Dumux::MockProblem<TypeTag>);
 
-SET_BOOL_PROP(TestFVGeometry, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(TestFVGeometry, EnableFVGridGeometryCache, true);
 }
 
 }
@@ -96,7 +96,7 @@ int main (int argc, char *argv[]) try
     using GlobalPosition = Dune::FieldVector<Scalar, dimworld>;
     using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
     using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
-    using GlobalFVGeometry = typename GET_PROP_TYPE(TypeTag, GlobalFVGeometry);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
 
     // make a grid
@@ -108,7 +108,7 @@ int main (int argc, char *argv[]) try
 
     Problem problem(leafGridView);
 
-    GlobalFVGeometry global(leafGridView);
+    FVGridGeometry global(leafGridView);
     global.update(problem);
 
     std::cout << "Abbreviatons:\n"
diff --git a/test/freeflow/staggered/channeltestproblem.hh b/test/freeflow/staggered/channeltestproblem.hh
index 327f028090d3c79e4b2e762a07574f1b0aff6634..bdb9399edc0cfe944dc1f5843d8c69011557a3cf 100644
--- a/test/freeflow/staggered/channeltestproblem.hh
+++ b/test/freeflow/staggered/channeltestproblem.hh
@@ -69,7 +69,7 @@ SET_TYPE_PROP(ChannelTestProblem, Grid, Dune::YaspGrid<2>);
 // Set the problem property
 SET_TYPE_PROP(ChannelTestProblem, Problem, Dumux::ChannelTestProblem<TypeTag> );
 
-SET_BOOL_PROP(ChannelTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(ChannelTestProblem, EnableFVGridGeometryCache, true);
 
 SET_BOOL_PROP(ChannelTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(ChannelTestProblem, EnableGlobalVolumeVariablesCache, true);
diff --git a/test/freeflow/staggered/closedsystemtestproblem.hh b/test/freeflow/staggered/closedsystemtestproblem.hh
index 0dd74e48bd531f31d72863e4eb05cb95aed35e46..4c0adf6bf36bb22ec2dd39cfbd9d9c29408e50c2 100644
--- a/test/freeflow/staggered/closedsystemtestproblem.hh
+++ b/test/freeflow/staggered/closedsystemtestproblem.hh
@@ -61,7 +61,7 @@ SET_TYPE_PROP(ClosedSystemTestProblem, Grid, Dune::YaspGrid<2>);
 // Set the problem property
 SET_TYPE_PROP(ClosedSystemTestProblem, Problem, Dumux::ClosedSystemTestProblem<TypeTag> );
 
-SET_BOOL_PROP(ClosedSystemTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(ClosedSystemTestProblem, EnableFVGridGeometryCache, true);
 
 SET_BOOL_PROP(ClosedSystemTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(ClosedSystemTestProblem, EnableGlobalVolumeVariablesCache, true);
diff --git a/test/freeflow/staggered/doneatestproblem.hh b/test/freeflow/staggered/doneatestproblem.hh
index 49fe61b7767368e27e4c1053f967b5772f4d44c4..ba22ea2b507d174444be45c8317a629f537f1e55 100644
--- a/test/freeflow/staggered/doneatestproblem.hh
+++ b/test/freeflow/staggered/doneatestproblem.hh
@@ -64,7 +64,7 @@ SET_TYPE_PROP(DoneaTestProblem, Grid, Dune::YaspGrid<2>);
 // Set the problem property
 SET_TYPE_PROP(DoneaTestProblem, Problem, Dumux::DoneaTestProblem<TypeTag> );
 
-SET_BOOL_PROP(DoneaTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(DoneaTestProblem, EnableFVGridGeometryCache, true);
 
 SET_BOOL_PROP(DoneaTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(DoneaTestProblem, EnableGlobalVolumeVariablesCache, true);
@@ -299,7 +299,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for (auto&& scv : scvs(fvGeometry))
             {
@@ -345,7 +345,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/test/freeflow/staggered/kovasznaytestproblem.hh b/test/freeflow/staggered/kovasznaytestproblem.hh
index 5f6deb256fad76f2b765c790d906c3a55e5b742c..03f7b6290dfa492da6f16347da31566086722f2c 100644
--- a/test/freeflow/staggered/kovasznaytestproblem.hh
+++ b/test/freeflow/staggered/kovasznaytestproblem.hh
@@ -65,7 +65,7 @@ SET_TYPE_PROP(KovasznayTestProblem, Grid, Dune::YaspGrid<2, Dune::EquidistantOff
 // Set the problem property
 SET_TYPE_PROP(KovasznayTestProblem, Problem, Dumux::KovasznayTestProblem<TypeTag> );
 
-SET_BOOL_PROP(KovasznayTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(KovasznayTestProblem, EnableFVGridGeometryCache, true);
 
 SET_BOOL_PROP(KovasznayTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(KovasznayTestProblem, EnableGlobalVolumeVariablesCache, true);
@@ -308,7 +308,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for (auto&& scv : scvs(fvGeometry))
             {
@@ -354,7 +354,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/test/freeflow/staggerednc/channeltestproblem.hh b/test/freeflow/staggerednc/channeltestproblem.hh
index 481692bc99ef8c89fbe22e8d6c22b9d2c72e3f4d..f0dfab82aba0a41e447a483f8d26b251f960679d 100644
--- a/test/freeflow/staggerednc/channeltestproblem.hh
+++ b/test/freeflow/staggerednc/channeltestproblem.hh
@@ -74,7 +74,7 @@ SET_TYPE_PROP(ChannelNCTestProblem, Grid, Dune::YaspGrid<2>);
 // Set the problem property
 SET_TYPE_PROP(ChannelNCTestProblem, Problem, Dumux::ChannelNCTestProblem<TypeTag> );
 
-SET_BOOL_PROP(ChannelNCTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(ChannelNCTestProblem, EnableFVGridGeometryCache, true);
 
 SET_BOOL_PROP(ChannelNCTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(ChannelNCTestProblem, EnableGlobalVolumeVariablesCache, true);
@@ -311,7 +311,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for (auto&& scv : scvs(fvGeometry))
             {
diff --git a/test/freeflow/staggerednc/densityflowproblem.hh b/test/freeflow/staggerednc/densityflowproblem.hh
index 8143c2891a58c555668c7b6e291410a90b0a1c03..fb43203f87681284fecab3eb66f7054f603b1c84 100644
--- a/test/freeflow/staggerednc/densityflowproblem.hh
+++ b/test/freeflow/staggerednc/densityflowproblem.hh
@@ -69,7 +69,7 @@ SET_TYPE_PROP(DensityDrivenFlowProblem, Grid, Dune::YaspGrid<2>);
 // Set the problem property
 SET_TYPE_PROP(DensityDrivenFlowProblem, Problem, Dumux::DensityDrivenFlowProblem<TypeTag> );
 
-SET_BOOL_PROP(DensityDrivenFlowProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(DensityDrivenFlowProblem, EnableFVGridGeometryCache, true);
 
 SET_BOOL_PROP(DensityDrivenFlowProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(DensityDrivenFlowProblem, EnableGlobalVolumeVariablesCache, true);
@@ -277,7 +277,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for (auto&& scv : scvs(fvGeometry))
             {
diff --git a/test/mixeddimension/embedded/1p2c_richards2c/richardstestproblem.hh b/test/mixeddimension/embedded/1p2c_richards2c/richardstestproblem.hh
index b8787e408dea74494316654874aa4731e78507d6..4700f973260c1aef1bf500129e83810ffb94b4e0 100644
--- a/test/mixeddimension/embedded/1p2c_richards2c/richardstestproblem.hh
+++ b/test/mixeddimension/embedded/1p2c_richards2c/richardstestproblem.hh
@@ -53,7 +53,7 @@ NEW_TYPE_TAG(RichardsTestCCProblem, INHERITS_FROM(CCTpfaModel, RichardsTestProbl
 //SET_TYPE_PROP(RichardsTestProblem, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<double, 3> >);
 SET_TYPE_PROP(RichardsTestProblem, Grid, Dune::UGGrid<3>);
 
-SET_BOOL_PROP(RichardsTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(RichardsTestProblem, EnableFVGridGeometryCache, true);
 SET_BOOL_PROP(RichardsTestProblem, EnableGlobalVolumeVariablesCache, true);
 SET_BOOL_PROP(RichardsTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(RichardsTestProblem, SolutionDependentAdvection, false);
@@ -266,7 +266,7 @@ public:
         {
             for (const auto& element : elements(this->gridView()))
             {
-                auto fvGeometry = localView(this->model().globalFvGeometry());
+                auto fvGeometry = localView(this->model().fvGridGeometry());
                 fvGeometry.bindElement(element);
 
                 auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/mixeddimension/embedded/1p2c_richards2c/rootsystemtestproblem.hh b/test/mixeddimension/embedded/1p2c_richards2c/rootsystemtestproblem.hh
index 40ee2464d658585ee587604111083e18ccffb3ae..576aac08936776e6b25c5f3791dabe07df2c9673 100644
--- a/test/mixeddimension/embedded/1p2c_richards2c/rootsystemtestproblem.hh
+++ b/test/mixeddimension/embedded/1p2c_richards2c/rootsystemtestproblem.hh
@@ -60,7 +60,7 @@ SET_PROP(RootsystemTestProblem, FluidSystem)
 // Set the grid type
 SET_TYPE_PROP(RootsystemTestProblem, Grid, Dune::FoamGrid<1, 3>);
 
-SET_BOOL_PROP(RootsystemTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(RootsystemTestProblem, EnableFVGridGeometryCache, true);
 SET_BOOL_PROP(RootsystemTestProblem, EnableGlobalVolumeVariablesCache, true);
 SET_BOOL_PROP(RootsystemTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(RootsystemTestProblem, SolutionDependentAdvection, false);
@@ -348,7 +348,7 @@ public:
         {
             for (const auto& element : elements(this->gridView()))
             {
-                auto fvGeometry = localView(this->model().globalFvGeometry());
+                auto fvGeometry = localView(this->model().fvGridGeometry());
                 fvGeometry.bindElement(element);
 
                 auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/mixeddimension/embedded/1p2c_richards2c/rositestproblem.hh b/test/mixeddimension/embedded/1p2c_richards2c/rositestproblem.hh
index 8859c6b927086cc8a707426cdafb773e9667432e..602eed2c22ba9c085fdf354702b971f634b1b074 100644
--- a/test/mixeddimension/embedded/1p2c_richards2c/rositestproblem.hh
+++ b/test/mixeddimension/embedded/1p2c_richards2c/rositestproblem.hh
@@ -126,7 +126,7 @@ public:
         // low dim elements
         for (const auto& element : elements(this->lowDimProblem().gridView()))
         {
-            auto fvGeometry = localView(this->lowDimProblem().model().globalFvGeometry());
+            auto fvGeometry = localView(this->lowDimProblem().model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(this->lowDimProblem().model().curGlobalVolVars());
@@ -143,7 +143,7 @@ public:
         // bulk elements
         for (const auto& element : elements(this->bulkProblem().gridView()))
         {
-            auto fvGeometry = localView(this->bulkProblem().model().globalFvGeometry());
+            auto fvGeometry = localView(this->bulkProblem().model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(this->bulkProblem().model().curGlobalVolVars());
@@ -172,7 +172,7 @@ public:
         // low dim elements
         for (const auto& element : elements(this->lowDimProblem().gridView()))
         {
-            auto fvGeometry = localView(this->lowDimProblem().model().globalFvGeometry());
+            auto fvGeometry = localView(this->lowDimProblem().model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(this->lowDimProblem().model().curGlobalVolVars());
@@ -197,7 +197,7 @@ public:
         // bulk elements
         for (const auto& element : elements(this->bulkProblem().gridView()))
         {
-            auto fvGeometry = localView(this->bulkProblem().model().globalFvGeometry());
+            auto fvGeometry = localView(this->bulkProblem().model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(this->bulkProblem().model().curGlobalVolVars());
diff --git a/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh b/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh
index 4dc05791b06f169dc19bd30025e74fb0ce0490fc..94008c33294c58e0f877e7199489108af8255da6 100644
--- a/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh
+++ b/test/mixeddimension/embedded/1p_1p/bloodflowproblem.hh
@@ -133,7 +133,7 @@ public:
         exactPressure_.resize(this->model().numDofs());
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
@@ -304,7 +304,7 @@ public:
         {
             for (const auto& element : elements(this->gridView()))
             {
-                auto fvGeometry = localView(this->model().globalFvGeometry());
+                auto fvGeometry = localView(this->model().fvGridGeometry());
                 fvGeometry.bindElement(element);
 
                 auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/mixeddimension/embedded/1p_1p/tissueproblem.hh b/test/mixeddimension/embedded/1p_1p/tissueproblem.hh
index f663847a9f87ce7894d8fb2c481528cf6a1838f2..184ff676e60908be789ffeddbf7ff8eb56a470c3 100644
--- a/test/mixeddimension/embedded/1p_1p/tissueproblem.hh
+++ b/test/mixeddimension/embedded/1p_1p/tissueproblem.hh
@@ -53,7 +53,7 @@ NEW_TYPE_TAG(TissueCCProblem, INHERITS_FROM(CCTpfaModel, TissueProblem));
 // Set the grid type
 SET_TYPE_PROP(TissueProblem, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 3> >);
 
-SET_BOOL_PROP(TissueProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(TissueProblem, EnableFVGridGeometryCache, true);
 SET_BOOL_PROP(TissueProblem, EnableGlobalVolumeVariablesCache, true);
 SET_BOOL_PROP(TissueProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(TissueProblem, SolutionDependentAdvection, false);
@@ -142,7 +142,7 @@ public:
         exactPressure_.resize(this->model().numDofs());
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
@@ -308,7 +308,7 @@ public:
         {
             for (const auto& element : elements(this->gridView()))
             {
-                auto fvGeometry = localView(this->model().globalFvGeometry());
+                auto fvGeometry = localView(this->model().fvGridGeometry());
                 fvGeometry.bindElement(element);
 
                 auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/mixeddimension/embedded/1p_richards/richardstestproblem.hh b/test/mixeddimension/embedded/1p_richards/richardstestproblem.hh
index d8a1b4d5b796ea6daaab9c28cd569c4c9c03ef7c..cf87613d1273639bcbdb9f5b11f7405f6121fbf6 100644
--- a/test/mixeddimension/embedded/1p_richards/richardstestproblem.hh
+++ b/test/mixeddimension/embedded/1p_richards/richardstestproblem.hh
@@ -62,7 +62,7 @@ SET_TYPE_PROP(RichardsTestProblem, Grid, Dune::YaspGrid<3, Dune::EquidistantOffs
 //SET_TYPE_PROP(RichardsTestProblem, Grid, Dune::UGGrid<3>);
 //SET_TYPE_PROP(RichardsTestProblem, Grid, Dune::ALUGrid<3, 3, Dune::cube, Dune::conforming>);
 
-SET_BOOL_PROP(RichardsTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(RichardsTestProblem, EnableFVGridGeometryCache, true);
 SET_BOOL_PROP(RichardsTestProblem, EnableGlobalVolumeVariablesCache, true);
 SET_BOOL_PROP(RichardsTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(RichardsTestProblem, SolutionDependentAdvection, false);
@@ -244,7 +244,7 @@ public:
         {
             for (const auto& element : elements(this->gridView()))
             {
-                auto fvGeometry = localView(this->model().globalFvGeometry());
+                auto fvGeometry = localView(this->model().fvGridGeometry());
                 fvGeometry.bindElement(element);
 
                 auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh b/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh
index 5ed1fb529330a351b1ba8da9f46b20688fe5c324..1ccde43f9b79189ee4307fc4baf722a992b67de7 100644
--- a/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh
+++ b/test/mixeddimension/embedded/1p_richards/rootsystemtestproblem.hh
@@ -59,7 +59,7 @@ public:
 // Set the grid type
 SET_TYPE_PROP(RootsystemTestProblem, Grid, Dune::FoamGrid<1, 3>);
 
-SET_BOOL_PROP(RootsystemTestProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(RootsystemTestProblem, EnableFVGridGeometryCache, true);
 SET_BOOL_PROP(RootsystemTestProblem, EnableGlobalVolumeVariablesCache, true);
 SET_BOOL_PROP(RootsystemTestProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(RootsystemTestProblem, SolutionDependentAdvection, false);
@@ -317,7 +317,7 @@ public:
         {
             for (const auto& element : elements(this->gridView()))
             {
-                auto fvGeometry = localView(this->model().globalFvGeometry());
+                auto fvGeometry = localView(this->model().fvGridGeometry());
                 fvGeometry.bindElement(element);
 
                 auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/porousmediumflow/1p/implicit/1pniconductionproblem.hh b/test/porousmediumflow/1p/implicit/1pniconductionproblem.hh
index 70959c2c831b3808a495f7f58dfc514416ec2c4c..3198893b99678b147773d65ee1730854d982982b 100644
--- a/test/porousmediumflow/1p/implicit/1pniconductionproblem.hh
+++ b/test/porousmediumflow/1p/implicit/1pniconductionproblem.hh
@@ -160,7 +160,7 @@ public:
         const auto someElemSol = this->model().elementSolution(someElement, this->model().curSol());
         const auto someInitSol = initial_(someElement.geometry().center());
 
-        auto someFvGeometry = localView(this->model().globalFvGeometry());
+        auto someFvGeometry = localView(this->model().fvGridGeometry());
         someFvGeometry.bindElement(someElement);
         const auto someScv = *(scvs(someFvGeometry).begin());
 
@@ -180,7 +180,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/test/porousmediumflow/1p/implicit/1pniconvectionproblem.hh b/test/porousmediumflow/1p/implicit/1pniconvectionproblem.hh
index f05548162fcb46bda6e8ea35a45bd9e4df4ba96e..ffdefa6481ff44473fd493e1d7f65fe56d6d17bf 100644
--- a/test/porousmediumflow/1p/implicit/1pniconvectionproblem.hh
+++ b/test/porousmediumflow/1p/implicit/1pniconvectionproblem.hh
@@ -172,7 +172,7 @@ public:
         const auto someElement = *(elements(this->gridView()).begin());
         const auto someElemSol = this->model().elementSolution(someElement, this->model().curSol());
 
-        auto someFvGeometry = localView(this->model().globalFvGeometry());
+        auto someFvGeometry = localView(this->model().fvGridGeometry());
         someFvGeometry.bindElement(someElement);
         const auto someScv = *(scvs(someFvGeometry).begin());
 
@@ -195,7 +195,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for (auto&& scv : scvs(fvGeometry))
             {
diff --git a/test/porousmediumflow/1p/implicit/fractureproblem.hh b/test/porousmediumflow/1p/implicit/fractureproblem.hh
index e28acf4c487fbda3cabc3ed7c9493eefaff75657..62b0db658bc827dee60436768c95b05403fc81c8 100644
--- a/test/porousmediumflow/1p/implicit/fractureproblem.hh
+++ b/test/porousmediumflow/1p/implicit/fractureproblem.hh
@@ -49,7 +49,7 @@ NEW_TYPE_TAG(FractureBoxProblem, INHERITS_FROM(BoxModel, FractureProblem));
 NEW_TYPE_TAG(FractureCCProblem, INHERITS_FROM(CCTpfaModel, FractureProblem));
 NEW_TYPE_TAG(FractureCCMpfaProblem, INHERITS_FROM(CCMpfaModel, FractureProblem));
 
-SET_BOOL_PROP(FractureCCProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(FractureCCProblem, EnableFVGridGeometryCache, true);
 SET_BOOL_PROP(FractureCCProblem, EnableGlobalVolumeVariablesCache, true);
 SET_BOOL_PROP(FractureCCProblem, EnableGlobalFluxVariablesCache, true);
 
diff --git a/test/porousmediumflow/1p2c/implicit/1p2cniconductionproblem.hh b/test/porousmediumflow/1p2c/implicit/1p2cniconductionproblem.hh
index eff5938a7916e68da9ee853a2cde39c40d8415c1..75b8f67a3ab5ce3e0a214c1511c59493475b86da 100644
--- a/test/porousmediumflow/1p2c/implicit/1p2cniconductionproblem.hh
+++ b/test/porousmediumflow/1p2c/implicit/1p2cniconductionproblem.hh
@@ -176,7 +176,7 @@ public:
         const auto someElemSol = this->model().elementSolution(someElement, this->model().curSol());
         const auto someInitSol = initial_(someElement.geometry().center());
 
-        auto someFvGeometry = localView(this->model().globalFvGeometry());
+        auto someFvGeometry = localView(this->model().fvGridGeometry());
         someFvGeometry.bindElement(someElement);
         const auto someScv = *(scvs(someFvGeometry).begin());
 
@@ -196,7 +196,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/test/porousmediumflow/1p2c/implicit/1p2cniconvectionproblem.hh b/test/porousmediumflow/1p2c/implicit/1p2cniconvectionproblem.hh
index bbd4777fe1d337059369502bdb27bec440e8e0ce..929e80f89d7535c301b4900047e874816f82b338 100644
--- a/test/porousmediumflow/1p2c/implicit/1p2cniconvectionproblem.hh
+++ b/test/porousmediumflow/1p2c/implicit/1p2cniconvectionproblem.hh
@@ -184,7 +184,7 @@ public:
         const auto someElement = *(elements(this->gridView()).begin());
         const auto someElemSol = this->model().elementSolution(someElement, this->model().curSol());
 
-        auto someFvGeometry = localView(this->model().globalFvGeometry());
+        auto someFvGeometry = localView(this->model().fvGridGeometry());
         someFvGeometry.bindElement(someElement);
         const auto someScv = *(scvs(someFvGeometry).begin());
 
@@ -207,7 +207,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for (auto&& scv : scvs(fvGeometry))
             {
diff --git a/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh b/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
index ebe07fc92fb3c66f90ce9e6c86f0011329697a35..87315d80a3fd1d6c11860050c61b72bceac1ea6b 100644
--- a/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
+++ b/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
@@ -305,7 +305,7 @@ public:
         for (const auto& element : elements(this->gridView()))
         {
             int eIdx = this->elementMapper().index(element);
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/test/porousmediumflow/2p/implicit/fractureproblem.hh b/test/porousmediumflow/2p/implicit/fractureproblem.hh
index f60b6bea32a330f9134a53b86e427ec050e4699c..d3de2f357ab3437c1191279cd325d1edfa96ccd9 100644
--- a/test/porousmediumflow/2p/implicit/fractureproblem.hh
+++ b/test/porousmediumflow/2p/implicit/fractureproblem.hh
@@ -48,7 +48,7 @@ NEW_TYPE_TAG(FractureBoxProblem, INHERITS_FROM(BoxModel, FractureProblem));
 NEW_TYPE_TAG(FractureCCProblem, INHERITS_FROM(CCTpfaModel, FractureProblem));
 NEW_TYPE_TAG(FractureCCMpfaProblem, INHERITS_FROM(CCMpfaModel, FractureProblem));
 
-SET_BOOL_PROP(FractureProblem, EnableGlobalFVGeometryCache, true);
+SET_BOOL_PROP(FractureProblem, EnableFVGridGeometryCache, true);
 SET_BOOL_PROP(FractureProblem, EnableGlobalVolumeVariablesCache, true);
 SET_BOOL_PROP(FractureProblem, EnableGlobalFluxVariablesCache, true);
 SET_BOOL_PROP(FractureProblem, SolutionDependentAdvection, false);
diff --git a/test/porousmediumflow/2p/implicit/lensproblem.hh b/test/porousmediumflow/2p/implicit/lensproblem.hh
index babb81109d5c4e597319a6f876545c6a78768361..4897635d0d484a834e518056746f9bf2ef1eab65 100644
--- a/test/porousmediumflow/2p/implicit/lensproblem.hh
+++ b/test/porousmediumflow/2p/implicit/lensproblem.hh
@@ -427,7 +427,7 @@ private:
 
         for (const auto& element : elements(this->gridView(), Dune::Partitions::interior))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh b/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh
index cc4fad9e8ba2ea43f67f59ba89e0193c71d0c7fc..18d6aaacee9b0b623ed71ef501fc373b46fd3a08 100644
--- a/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh
+++ b/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh
@@ -268,7 +268,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(this->model().curGlobalVolVars());
diff --git a/test/porousmediumflow/3p/implicit/3pniconductionproblem.hh b/test/porousmediumflow/3p/implicit/3pniconductionproblem.hh
index 77c9eb68ea09316aa0d461d184e34f871c923ba6..2ebb373e23d5834c65bb62e03375e6463a54fa44 100644
--- a/test/porousmediumflow/3p/implicit/3pniconductionproblem.hh
+++ b/test/porousmediumflow/3p/implicit/3pniconductionproblem.hh
@@ -175,7 +175,7 @@ public:
         const auto someElemSol = this->model().elementSolution(someElement, this->model().curSol());
         const auto someInitSol = initialAtPos(someElement.geometry().center());
 
-        auto someFvGeometry = localView(this->model().globalFvGeometry());
+        auto someFvGeometry = localView(this->model().fvGridGeometry());
         someFvGeometry.bindElement(someElement);
         const auto someScv = *(scvs(someFvGeometry).begin());
 
@@ -195,7 +195,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             for (auto&& scv : scvs(fvGeometry))
diff --git a/test/porousmediumflow/3p/implicit/3pniconvectionproblem.hh b/test/porousmediumflow/3p/implicit/3pniconvectionproblem.hh
index 8ad9231143d6e1975a028cfb17fbf42e2245915a..a88a062336ec26032fd1099d331964d341191be9 100644
--- a/test/porousmediumflow/3p/implicit/3pniconvectionproblem.hh
+++ b/test/porousmediumflow/3p/implicit/3pniconvectionproblem.hh
@@ -185,7 +185,7 @@ public:
         const auto someElemSol = this->model().elementSolution(someElement, this->model().curSol());
         const auto someInitSol = initialAtPos(someElement.geometry().center());
 
-        auto someFvGeometry = localView(this->model().globalFvGeometry());
+        auto someFvGeometry = localView(this->model().fvGridGeometry());
         someFvGeometry.bindElement(someElement);
         const auto someScv = *(scvs(someFvGeometry).begin());
 
@@ -208,7 +208,7 @@ public:
 
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
             for (auto&& scv : scvs(fvGeometry))
             {
diff --git a/test/porousmediumflow/richardsnc/implicit/richardswelltracerproblem.hh b/test/porousmediumflow/richardsnc/implicit/richardswelltracerproblem.hh
index 38f3cc2bcbdd5ac7f8e1ce5c2c59554d51848421..5252fc5fe21cf811d5851103b9f535e895a801a4 100644
--- a/test/porousmediumflow/richardsnc/implicit/richardswelltracerproblem.hh
+++ b/test/porousmediumflow/richardsnc/implicit/richardswelltracerproblem.hh
@@ -147,7 +147,7 @@ public:
         // bulk elements
         for (const auto& element : elements(this->gridView()))
         {
-            auto fvGeometry = localView(this->model().globalFvGeometry());
+            auto fvGeometry = localView(this->model().fvGridGeometry());
             fvGeometry.bindElement(element);
 
             auto elemVolVars = localView(this->model().curGlobalVolVars());