diff --git a/dumux/io/vtkoutputmodule.hh b/dumux/io/vtkoutputmodule.hh index 17a5620261049045d903f4d2fe369381fb759b6c..813f880fb25664d0c5f44026ff6b205d2fbe093f 100644 --- a/dumux/io/vtkoutputmodule.hh +++ b/dumux/io/vtkoutputmodule.hh @@ -85,6 +85,7 @@ class VtkOutputModule using VelocityVector = 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; }; @@ -270,7 +271,7 @@ private: || addProcessRank) { const auto numCells = gridGeom_.gridView().size(0); - const auto numDofs = gridGeom_.numDofs(); + const auto numDofs = numDofs_(); // get fields for all volume variables if (!volVarScalarDataInfo_.empty()) @@ -443,7 +444,7 @@ private: || addProcessRank) { const auto numCells = gridGeom_.gridView().size(0); - const auto numDofs = gridGeom_.numDofs(); + const auto numDofs = numDofs_(); // get fields for all volume variables if (!volVarScalarDataInfo_.empty()) @@ -585,6 +586,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 + std::size_t numDofs_() const { return gridGeom_.gridView().size(dofCodim); } + const Problem& problem_; const FVGridGeometry& gridGeom_; const GridVariables& gridVariables_;