From 7a8619b0707fef5615489ce7eef07399381d99ed Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Thu, 18 Feb 2021 20:37:24 +0100
Subject: [PATCH] [MaL] Replace KelvinVectorDimensions with constexpr

---
 MathLib/KelvinVector.h | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/MathLib/KelvinVector.h b/MathLib/KelvinVector.h
index 6c31d6321a6..30d603b258e 100644
--- a/MathLib/KelvinVector.h
+++ b/MathLib/KelvinVector.h
@@ -20,20 +20,20 @@ namespace MathLib
 namespace KelvinVector
 {
 /// Kelvin vector dimensions for given displacement dimension.
-template <int DisplacementDim>
-struct KelvinVectorDimensions;
-
-template <>
-struct KelvinVectorDimensions<2>
-{
-    static int const value = 4;
-};
-
-template <>
-struct KelvinVectorDimensions<3>
+constexpr int kelvin_vector_dimensions(int const displacement_dim)
 {
-    static int const value = 6;
-};
+    if (displacement_dim == 2)
+    {
+        return 4;
+    }
+    else if (displacement_dim == 3)
+    {
+        return 6;
+    }
+    OGS_FATAL(
+        "Cannot convert displacement dimension {} to kelvin vector dimension.",
+        displacement_dim);
+}
 
 //
 // Kelvin vector and matrix templates for given displacement dimension.
-- 
GitLab