From 0e62186132462fe6a3886e0ec7fa434f34fd1e47 Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Wed, 28 Nov 2018 00:33:33 +0100
Subject: [PATCH] Revert "[veloutput] Remove numDofs function"

This reverts commit 17e2a139adcd46fa007c10a8cf026d2410c3504a.
---
 dumux/io/vtkoutputmodule.hh | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/dumux/io/vtkoutputmodule.hh b/dumux/io/vtkoutputmodule.hh
index 916226f3ac..94b74580ba 100644
--- a/dumux/io/vtkoutputmodule.hh
+++ b/dumux/io/vtkoutputmodule.hh
@@ -81,6 +81,7 @@ class VtkOutputModule
     using VolVarsVector = Dune::FieldVector<Scalar, dimWorld>;
 
     static constexpr bool isBox = FVGridGeometry::discMethod == DiscretizationMethod::box;
+    static constexpr int dofCodim = isBox ? dim : 0;
 
     struct VolVarScalarDataInfo { std::function<Scalar(const VV&)> get; std::string name; };
     struct VolVarVectorDataInfo { std::function<VolVarsVector(const VV&)> get; std::string name; };
@@ -277,7 +278,7 @@ private:
             || addProcessRank)
         {
             const auto numCells = fvGridGeometry().gridView().size(0);
-            const auto numDofs = fvGridGeometry().numDofs();
+            const auto numDofs = numDofs_();
 
             // get fields for all volume variables
             if (!volVarScalarDataInfo_.empty())
@@ -456,7 +457,7 @@ private:
             || addProcessRank)
         {
             const auto numCells = fvGridGeometry().gridView().size(0);
-            const auto numDofs = fvGridGeometry().numDofs();
+            const auto numDofs = numDofs_();
 
             // get fields for all volume variables
             if (!volVarScalarDataInfo_.empty())
@@ -598,6 +599,9 @@ private:
     template<class Vector, typename std::enable_if_t<!IsIndexable<decltype(std::declval<Vector>()[0])>::value, int> = 0>
     std::size_t getNumberOfComponents_(const Vector& v) { return 1; }
 
+    //! return the number of dofs, we only support vertex and cell data
+    std::size_t numDofs_() const { return dofCodim == dim ? fvGridGeometry().vertexMapper().size() : fvGridGeometry().elementMapper().size(); }
+
     const GridVariables& gridVariables_;
     const SolutionVector& sol_;
 
-- 
GitLab