From 672f334a8d896a6f591e01c282df3661acf4be55 Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Tue, 14 May 2019 12:19:50 +0200
Subject: [PATCH] [veloutput] Get types from GridVolVars directly

---
 dumux/porousmediumflow/velocityoutput.hh | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/dumux/porousmediumflow/velocityoutput.hh b/dumux/porousmediumflow/velocityoutput.hh
index 930157ecd9..ecd8fb3ed6 100644
--- a/dumux/porousmediumflow/velocityoutput.hh
+++ b/dumux/porousmediumflow/velocityoutput.hh
@@ -57,11 +57,6 @@ class PorousMediumFlowVelocityOutput : public VelocityOutput<GridVariables>
     using FluidSystem = typename VolumeVariables::FluidSystem;
     using Scalar = typename GridVariables::Scalar;
 
-    // TODO should be possible to get this
-    using Problem = typename std::decay_t<decltype(std::declval<GridVolumeVariables>().problem())>;
-    using BoundaryTypes = typename std::decay_t<decltype(std::declval<GridVolumeVariables>().problem()
-                                                         .boundaryTypes(std::declval<Element>(), std::declval<SubControlVolumeFace>()))>;
-
     static constexpr int dim = GridView::dimension;
     static constexpr int dimWorld = GridView::dimensionworld;
     static constexpr bool isBox = FVGridGeometry::discMethod == DiscretizationMethod::box;
@@ -70,6 +65,9 @@ class PorousMediumFlowVelocityOutput : public VelocityOutput<GridVariables>
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
     using ReferenceElements = Dune::ReferenceElements<typename GridView::ctype, dim>;
 
+    using Problem = typename GridVolumeVariables::Problem;
+    using BoundaryTypes = typename Problem::Traits::BoundaryTypes;
+
 public:
     using VelocityVector = typename ParentType::VelocityVector;
 
-- 
GitLab