From 2fec207eb8c7ba64897ba51266a959bb1a40bdfe Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Fri, 17 Dec 2021 17:21:37 +0100
Subject: [PATCH] [extrusion] Add isRotationalExtrusion helper to extrusion
 header

---
 dumux/discretization/extrusion.hh                    | 12 ++++++++++++
 .../freeflow/navierstokes/momentum/localresidual.hh  | 10 +---------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/dumux/discretization/extrusion.hh b/dumux/discretization/extrusion.hh
index 8832fa5fef..791c76f73e 100644
--- a/dumux/discretization/extrusion.hh
+++ b/dumux/discretization/extrusion.hh
@@ -176,6 +176,18 @@ public:
 template<class T>
 using Extrusion_t = typename Extrusion<T>::type;
 
+/*!
+ * \brief Convenience trait to check whether the extrusion is rotational
+ */
+template<class T>
+inline constexpr bool isRotationalExtrusion = false;
+
+/*!
+ * \brief Convenience trait to check whether the extrusion is rotational
+ */
+template<int radialAxis>
+inline constexpr bool isRotationalExtrusion<RotationalExtrusion<radialAxis>> = true;
+
 } // end namespace Dumux
 
 #endif
diff --git a/dumux/freeflow/navierstokes/momentum/localresidual.hh b/dumux/freeflow/navierstokes/momentum/localresidual.hh
index dcff6dd43c..bc1264e058 100644
--- a/dumux/freeflow/navierstokes/momentum/localresidual.hh
+++ b/dumux/freeflow/navierstokes/momentum/localresidual.hh
@@ -33,14 +33,6 @@
 
 namespace Dumux {
 
-namespace Impl {
-template<class T>
-static constexpr bool isRotationalExtrusion = false;
-
-template<int radialAxis>
-static constexpr bool isRotationalExtrusion<RotationalExtrusion<radialAxis>> = true;
-} // end namespace Impl
-
 /*!
  * \ingroup NavierStokesModel
  * \brief Element-wise calculation of the Navier-Stokes residual for models using the staggered discretization
@@ -129,7 +121,7 @@ public:
         // Axisymmetric problems in 2D feature an extra source terms arising from the transformation to cylindrical coordinates.
         // See Ferziger/Peric: Computational methods for fluid dynamics chapter 8.
         // https://doi.org/10.1007/978-3-540-68228-8 (page 301)
-        if constexpr (dim == 2 && Impl::isRotationalExtrusion<Extrusion>)
+        if constexpr (dim == 2 && isRotationalExtrusion<Extrusion>)
         {
             if (scv.dofAxis() == Extrusion::radialAxis)
             {
-- 
GitLab