From 6582ef61df7b35417a4cc0759d26d00584f06026 Mon Sep 17 00:00:00 2001
From: hanchuan <>
Date: Tue, 18 May 2021 19:14:43 +0200
Subject: [PATCH] [course][cleanup] Deprecate old NumEqVector Property

---
 exercises/exercise-basic/injection2p2cproblem.hh             | 3 ++-
 exercises/exercise-basic/injection2pniproblem.hh             | 3 ++-
 exercises/exercise-basic/injection2pproblem.hh               | 3 ++-
 exercises/exercise-biomineralization/biominproblem.hh        | 3 ++-
 .../exercise-coupling-ff-pm/interface/freeflowsubproblem.hh  | 3 ++-
 .../interface/porousmediumsubproblem.hh                      | 3 ++-
 .../exercise-coupling-ff-pm/models/freeflowsubproblem.hh     | 3 ++-
 .../exercise-coupling-ff-pm/models/porousmediumsubproblem.hh | 3 ++-
 .../exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh | 3 ++-
 .../turbulence/porousmediumsubproblem.hh                     | 3 ++-
 exercises/exercise-fluidsystem/2p2cproblem.hh                | 3 ++-
 exercises/exercise-fluidsystem/2pproblem.hh                  | 3 ++-
 exercises/exercise-fractures/fractureproblem.hh              | 5 +++--
 exercises/exercise-fractures/matrixproblem.hh                | 3 ++-
 exercises/exercise-grids/problem.hh                          | 3 ++-
 exercises/exercise-properties/mylocalresidual.hh             | 3 ++-
 exercises/exercise-properties/problem.hh                     | 3 ++-
 exercises/exercise-runtimeparams/problem.hh                  | 3 ++-
 exercises/solution/exercise-basic/injection2pniproblem.hh    | 3 ++-
 .../solution/exercise-biomineralization/biominproblem.hh     | 3 ++-
 .../exercise-coupling-ff-pm/interface/freeflowsubproblem.hh  | 3 ++-
 .../interface/porousmediumsubproblem.hh                      | 3 ++-
 .../exercise-coupling-ff-pm/models/freeflowsubproblem.hh     | 3 ++-
 .../exercise-coupling-ff-pm/models/porousmediumsubproblem.hh | 3 ++-
 .../exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh | 3 ++-
 .../turbulence/porousmediumsubproblem.hh                     | 3 ++-
 exercises/solution/exercise-fluidsystem/2p2cproblem.hh       | 3 ++-
 exercises/solution/exercise-fluidsystem/2pproblem.hh         | 3 ++-
 exercises/solution/exercise-fractures/fractureproblem.hh     | 5 +++--
 exercises/solution/exercise-fractures/matrixproblem.hh       | 3 ++-
 exercises/solution/exercise-grids/problem.hh                 | 3 ++-
 exercises/solution/exercise-properties/mylocalresidual.hh    | 3 ++-
 exercises/solution/exercise-properties/problem.hh            | 3 ++-
 exercises/solution/exercise-runtimeparams/problem.hh         | 3 ++-
 34 files changed, 70 insertions(+), 36 deletions(-)

diff --git a/exercises/exercise-basic/injection2p2cproblem.hh b/exercises/exercise-basic/injection2p2cproblem.hh
index 7a4fb23d..1a4a0ee9 100644
--- a/exercises/exercise-basic/injection2p2cproblem.hh
+++ b/exercises/exercise-basic/injection2p2cproblem.hh
@@ -27,6 +27,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/material/binarycoefficients/h2o_n2.hh>
 
@@ -65,7 +66,7 @@ class Injection2p2cProblem : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
diff --git a/exercises/exercise-basic/injection2pniproblem.hh b/exercises/exercise-basic/injection2pniproblem.hh
index a1f45b86..50508fca 100644
--- a/exercises/exercise-basic/injection2pniproblem.hh
+++ b/exercises/exercise-basic/injection2pniproblem.hh
@@ -27,6 +27,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 
 namespace Dumux {
@@ -64,7 +65,7 @@ class Injection2PNIProblem : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
diff --git a/exercises/exercise-basic/injection2pproblem.hh b/exercises/exercise-basic/injection2pproblem.hh
index ba30b0a5..154519bc 100644
--- a/exercises/exercise-basic/injection2pproblem.hh
+++ b/exercises/exercise-basic/injection2pproblem.hh
@@ -27,6 +27,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 
 namespace Dumux {
@@ -64,7 +65,7 @@ class Injection2PProblem : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
diff --git a/exercises/exercise-biomineralization/biominproblem.hh b/exercises/exercise-biomineralization/biominproblem.hh
index da6e8dae..943a941e 100644
--- a/exercises/exercise-biomineralization/biominproblem.hh
+++ b/exercises/exercise-biomineralization/biominproblem.hh
@@ -26,6 +26,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 
 // TODO: dumux-course-task
@@ -60,7 +61,7 @@ class BioMinProblem : public PorousMediumFlowProblem<TypeTag>
     };
 
     using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimension>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView;
     using Element = typename GridView::template Codim<0>::Entity;
     using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
diff --git a/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
index be5f6cee..2233530c 100644
--- a/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
@@ -26,6 +26,7 @@
 #include <dumux/freeflow/navierstokes/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -52,7 +53,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag>
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
 
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
 
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
diff --git a/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
index 17d64e9f..08388c79 100644
--- a/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
@@ -27,6 +27,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -40,7 +41,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag>
     using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView;
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
diff --git a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
index f1d54c43..203f75ed 100644
--- a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
@@ -27,6 +27,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 
 #include <dumux/freeflow/navierstokes/problem.hh>
 
@@ -59,7 +60,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag>
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
 
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
     using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>;
diff --git a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
index 534e24cc..242e629a 100644
--- a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
@@ -27,6 +27,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/io/gnuplotinterface.hh>
 
 #include <dumux/porousmediumflow/problem.hh>
@@ -44,7 +45,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag>
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using SubControlVolume = typename FVElementGeometry::SubControlVolume;
diff --git a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
index 8d639f55..e71d3400 100644
--- a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
@@ -26,6 +26,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
 
 // TODO: dumux-course-task 3.A
@@ -60,7 +61,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag>
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
 
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
     using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>;
diff --git a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
index 54568faa..51029968 100644
--- a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
@@ -28,6 +28,7 @@
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
 
 namespace Dumux {
@@ -42,7 +43,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag>
     using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView;
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
diff --git a/exercises/exercise-fluidsystem/2p2cproblem.hh b/exercises/exercise-fluidsystem/2p2cproblem.hh
index 5a43a26c..48d43b2d 100644
--- a/exercises/exercise-fluidsystem/2p2cproblem.hh
+++ b/exercises/exercise-fluidsystem/2p2cproblem.hh
@@ -28,6 +28,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -57,7 +58,7 @@ class ExerciseFluidsystemProblemTwoPTwoC : public PorousMediumFlowProblem<TypeTa
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
 public:
     ExerciseFluidsystemProblemTwoPTwoC(std::shared_ptr<const FVGridGeometry> fvGridGeometry)
diff --git a/exercises/exercise-fluidsystem/2pproblem.hh b/exercises/exercise-fluidsystem/2pproblem.hh
index 4786b3e7..c80d471d 100644
--- a/exercises/exercise-fluidsystem/2pproblem.hh
+++ b/exercises/exercise-fluidsystem/2pproblem.hh
@@ -28,6 +28,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/numeqvector.hh>
 
 // The water component
 #include <dumux/material/components/tabulatedcomponent.hh>
@@ -64,7 +65,7 @@ class ExerciseFluidsystemProblemTwoP : public PorousMediumFlowProblem<TypeTag>
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
     using FluidState = GetPropType<TypeTag, Properties::FluidState>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum {
         waterPressureIdx = Indices::pressureIdx,
diff --git a/exercises/exercise-fractures/fractureproblem.hh b/exercises/exercise-fractures/fractureproblem.hh
index b4b3687c..141ee88f 100644
--- a/exercises/exercise-fractures/fractureproblem.hh
+++ b/exercises/exercise-fractures/fractureproblem.hh
@@ -30,6 +30,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -46,10 +47,10 @@ class FractureSubProblem : public PorousMediumFlowProblem<TypeTag>
 
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
     using GridVariables = GetPropType<TypeTag, Properties::GridVariables>;
-    using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView;
     using PrimaryVariables = typename GridVariables::PrimaryVariables;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
+    using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView;
     using Scalar = typename GridVariables::Scalar;
 
     using FVGridGeometry = typename GridVariables::GridGeometry;
diff --git a/exercises/exercise-fractures/matrixproblem.hh b/exercises/exercise-fractures/matrixproblem.hh
index ca9c07c7..1da40a74 100644
--- a/exercises/exercise-fractures/matrixproblem.hh
+++ b/exercises/exercise-fractures/matrixproblem.hh
@@ -34,6 +34,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -50,9 +51,9 @@ class MatrixSubProblem : public PorousMediumFlowProblem<TypeTag>
 
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
     using GridVariables = GetPropType<TypeTag, Properties::GridVariables>;
     using PrimaryVariables = typename GridVariables::PrimaryVariables;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using Scalar = typename GridVariables::Scalar;
 
     using FVGridGeometry = typename GridVariables::GridGeometry;
diff --git a/exercises/exercise-grids/problem.hh b/exercises/exercise-grids/problem.hh
index a187cdc8..6b03c509 100644
--- a/exercises/exercise-grids/problem.hh
+++ b/exercises/exercise-grids/problem.hh
@@ -28,6 +28,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
diff --git a/exercises/exercise-properties/mylocalresidual.hh b/exercises/exercise-properties/mylocalresidual.hh
index 8fd29550..23a3a12b 100644
--- a/exercises/exercise-properties/mylocalresidual.hh
+++ b/exercises/exercise-properties/mylocalresidual.hh
@@ -26,6 +26,7 @@
 #define DUMUX_MY_LOCAL_RESIDUAL_HH
 
 #include <dumux/common/properties.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux
 {
@@ -40,7 +41,7 @@ class MyLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidua
     using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>;
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using Problem = GetPropType<TypeTag, Properties::Problem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<GetPropType<TypeTag, Properties::PrimaryVariables>>;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
     using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView;
     using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>;
diff --git a/exercises/exercise-properties/problem.hh b/exercises/exercise-properties/problem.hh
index b71fb428..655789eb 100644
--- a/exercises/exercise-properties/problem.hh
+++ b/exercises/exercise-properties/problem.hh
@@ -26,6 +26,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -45,7 +46,7 @@ class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
     enum {
         pressureH2OIdx = Indices::pressureIdx,
diff --git a/exercises/exercise-runtimeparams/problem.hh b/exercises/exercise-runtimeparams/problem.hh
index fb8f501f..f5ebbea1 100644
--- a/exercises/exercise-runtimeparams/problem.hh
+++ b/exercises/exercise-runtimeparams/problem.hh
@@ -27,6 +27,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 
 namespace Dumux {
@@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
diff --git a/exercises/solution/exercise-basic/injection2pniproblem.hh b/exercises/solution/exercise-basic/injection2pniproblem.hh
index 783fd212..79d398d6 100644
--- a/exercises/solution/exercise-basic/injection2pniproblem.hh
+++ b/exercises/solution/exercise-basic/injection2pniproblem.hh
@@ -27,6 +27,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 
 namespace Dumux {
@@ -63,7 +64,7 @@ class Injection2PNIProblem : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
diff --git a/exercises/solution/exercise-biomineralization/biominproblem.hh b/exercises/solution/exercise-biomineralization/biominproblem.hh
index 8cd46b4c..9eddf020 100644
--- a/exercises/solution/exercise-biomineralization/biominproblem.hh
+++ b/exercises/solution/exercise-biomineralization/biominproblem.hh
@@ -26,6 +26,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 
 // TODO: dumux-course-task
@@ -62,7 +63,7 @@ class BioMinProblem : public PorousMediumFlowProblem<TypeTag>
     };
 
     using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimension>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView;
     using Element = typename GridView::template Codim<0>::Entity;
     using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
index eb0c5e3d..aecfd2f6 100644
--- a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
@@ -26,6 +26,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 
 #include <dumux/freeflow/navierstokes/problem.hh>
 
@@ -53,7 +54,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag>
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
 
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
 
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
index 8fa3b3aa..af0ae080 100644
--- a/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
@@ -27,6 +27,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -40,7 +41,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag>
     using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView;
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
diff --git a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
index 6e55501b..ebb5d879 100644
--- a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
@@ -27,6 +27,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 
 #include <dumux/freeflow/navierstokes/problem.hh>
 
@@ -59,7 +60,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag>
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
 
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
     using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>;
diff --git a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
index 43d1a3b9..ebf41037 100644
--- a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
@@ -27,6 +27,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 
 #include <dumux/io/gnuplotinterface.hh>
 #include <dumux/porousmediumflow/problem.hh>
@@ -43,7 +44,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag>
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using SubControlVolume = typename FVElementGeometry::SubControlVolume;
diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
index d6ea8143..750da1e9 100644
--- a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
@@ -32,6 +32,7 @@
 #include <dumux/common/timeloop.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
 
 namespace Dumux {
@@ -67,7 +68,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag>
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
 
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
     using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>;
diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
index 16a5606d..ba4fe99d 100644
--- a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
@@ -27,6 +27,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timeloop.hh>
+#include <dumux/common/numeqvector.hh>
 
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
@@ -42,7 +43,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag>
     using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView;
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
diff --git a/exercises/solution/exercise-fluidsystem/2p2cproblem.hh b/exercises/solution/exercise-fluidsystem/2p2cproblem.hh
index 74a6cb4d..ec47a18a 100644
--- a/exercises/solution/exercise-fluidsystem/2p2cproblem.hh
+++ b/exercises/solution/exercise-fluidsystem/2p2cproblem.hh
@@ -28,6 +28,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -57,7 +58,7 @@ class ExerciseFluidsystemProblemTwoPTwoC : public PorousMediumFlowProblem<TypeTa
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
 public:
     ExerciseFluidsystemProblemTwoPTwoC(std::shared_ptr<const FVGridGeometry> fvGridGeometry)
diff --git a/exercises/solution/exercise-fluidsystem/2pproblem.hh b/exercises/solution/exercise-fluidsystem/2pproblem.hh
index e34bc398..5afaf6f2 100644
--- a/exercises/solution/exercise-fluidsystem/2pproblem.hh
+++ b/exercises/solution/exercise-fluidsystem/2pproblem.hh
@@ -28,6 +28,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 // The water component
 #include <dumux/material/components/tabulatedcomponent.hh>
@@ -64,7 +65,7 @@ class ExerciseFluidsystemProblemTwoP : public PorousMediumFlowProblem<TypeTag>
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
     using FluidState = GetPropType<TypeTag, Properties::FluidState>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum {
         waterPressureIdx = Indices::pressureIdx,
diff --git a/exercises/solution/exercise-fractures/fractureproblem.hh b/exercises/solution/exercise-fractures/fractureproblem.hh
index 3a326f28..4422aa68 100644
--- a/exercises/solution/exercise-fractures/fractureproblem.hh
+++ b/exercises/solution/exercise-fractures/fractureproblem.hh
@@ -30,6 +30,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -46,10 +47,10 @@ class FractureSubProblem : public PorousMediumFlowProblem<TypeTag>
 
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
     using GridVariables = GetPropType<TypeTag, Properties::GridVariables>;
-    using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView;
     using PrimaryVariables = typename GridVariables::PrimaryVariables;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
+    using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView;
     using Scalar = typename GridVariables::Scalar;
 
     using FVGridGeometry = typename GridVariables::GridGeometry;
diff --git a/exercises/solution/exercise-fractures/matrixproblem.hh b/exercises/solution/exercise-fractures/matrixproblem.hh
index ef9d5a7b..58f8e6f8 100644
--- a/exercises/solution/exercise-fractures/matrixproblem.hh
+++ b/exercises/solution/exercise-fractures/matrixproblem.hh
@@ -34,6 +34,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -50,9 +51,9 @@ class MatrixSubProblem : public PorousMediumFlowProblem<TypeTag>
 
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
     using GridVariables = GetPropType<TypeTag, Properties::GridVariables>;
     using PrimaryVariables = typename GridVariables::PrimaryVariables;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using Scalar = typename GridVariables::Scalar;
 
     using FVGridGeometry = typename GridVariables::GridGeometry;
diff --git a/exercises/solution/exercise-grids/problem.hh b/exercises/solution/exercise-grids/problem.hh
index 1cd5cc45..368d246f 100644
--- a/exercises/solution/exercise-grids/problem.hh
+++ b/exercises/solution/exercise-grids/problem.hh
@@ -28,6 +28,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
diff --git a/exercises/solution/exercise-properties/mylocalresidual.hh b/exercises/solution/exercise-properties/mylocalresidual.hh
index 7d1d824f..02a4b50c 100644
--- a/exercises/solution/exercise-properties/mylocalresidual.hh
+++ b/exercises/solution/exercise-properties/mylocalresidual.hh
@@ -26,6 +26,7 @@
 #define DUMUX_MY_LOCAL_RESIDUAL_HH
 
 #include <dumux/common/properties.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux
 {
@@ -40,7 +41,7 @@ class MyLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidua
     using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>;
     using Scalar = GetPropType<TypeTag, Properties::Scalar>;
     using Problem = GetPropType<TypeTag, Properties::Problem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<GetPropType<TypeTag, Properties::PrimaryVariables>>;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
     using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView;
     using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>;
diff --git a/exercises/solution/exercise-properties/problem.hh b/exercises/solution/exercise-properties/problem.hh
index ec2b921d..62ba692a 100644
--- a/exercises/solution/exercise-properties/problem.hh
+++ b/exercises/solution/exercise-properties/problem.hh
@@ -27,6 +27,7 @@
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 
 namespace Dumux {
 
@@ -46,7 +47,7 @@ class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>;
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
     using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
     enum {
         pressureH2OIdx = Indices::pressureIdx,
diff --git a/exercises/solution/exercise-runtimeparams/problem.hh b/exercises/solution/exercise-runtimeparams/problem.hh
index 85aba7c1..78fae4c3 100644
--- a/exercises/solution/exercise-runtimeparams/problem.hh
+++ b/exercises/solution/exercise-runtimeparams/problem.hh
@@ -27,6 +27,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/common/boundarytypes.hh>
+#include <dumux/common/numeqvector.hh>
 #include <dumux/porousmediumflow/problem.hh>
 
 namespace Dumux {
@@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag>
     using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
-    using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>;
+    using NumEqVector = Dumux::NumEqVector<PrimaryVariables>;
 
     enum { dimWorld = GridView::dimensionworld };
     using Element = typename GridView::template Codim<0>::Entity;
-- 
GitLab