From 4d859e3d8eb00f1e509a2a55df5289ef63c518d2 Mon Sep 17 00:00:00 2001
From: Max Kahnt <max.kahnt@fu-berlin.de>
Date: Sun, 1 Oct 2017 21:41:05 +0200
Subject: [PATCH] Provide FieldTraits that are missing in the core modules.

---
 dune/matrix-vector/traits/CMakeLists.txt |  5 +++--
 dune/matrix-vector/traits/fieldtraits.hh | 22 ++++++++++++++++++++++
 2 files changed, 25 insertions(+), 2 deletions(-)
 create mode 100644 dune/matrix-vector/traits/fieldtraits.hh

diff --git a/dune/matrix-vector/traits/CMakeLists.txt b/dune/matrix-vector/traits/CMakeLists.txt
index 1efde8c..fceabef 100644
--- a/dune/matrix-vector/traits/CMakeLists.txt
+++ b/dune/matrix-vector/traits/CMakeLists.txt
@@ -1,7 +1,8 @@
 #install headers
 install(FILES
-  scalartraits.hh
+  fieldtraits.hh
   matrixtraits.hh
-  vectortraits.hh
+  scalartraits.hh
   utilities.hh
+  vectortraits.hh
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/matrix-vector/traits)
diff --git a/dune/matrix-vector/traits/fieldtraits.hh b/dune/matrix-vector/traits/fieldtraits.hh
new file mode 100644
index 0000000..b3bd743
--- /dev/null
+++ b/dune/matrix-vector/traits/fieldtraits.hh
@@ -0,0 +1,22 @@
+#ifndef DUNE_MATRIX_VECTOR_TRAITS_FIELDTRAITS_HH
+#define DUNE_MATRIX_VECTOR_TRAITS_FIELDTRAITS_HH
+
+#include <dune/common/typetraits.hh>
+#include <dune/istl/scaledidmatrix.hh>
+
+/**
+ * \file
+ * Add FieldTraits that are not in the core modules.
+ */
+
+namespace Dune {
+
+template <class K, int n>
+struct FieldTraits<ScaledIdentityMatrix<K, n>> {
+  using field_type = field_t<K>;
+  using real_type = real_t<K>;
+};
+
+} // end namespace Dune
+
+#endif // DUNE_MATRIX_VECTOR_TRAITS_FIELDTRAITS_HH
-- 
GitLab