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