From 3367252025c92d45f53ab95201aae5b5c01f2180 Mon Sep 17 00:00:00 2001
From: Marcel Koch <marcel.koch@uni-muenster.de>
Date: Thu, 31 Jan 2019 10:42:22 +0100
Subject: [PATCH] adds fma mapper method to `SubstitutionMapper`

---
 CMakeLists.txt                                        | 4 ++--
 python/dune/codegen/loopy/symbolic.py                 | 1 +
 test/blockstructured/poisson/poisson_matrix_free.mini | 1 +
 test/poisson/CMakeLists.txt                           | 7 +++++++
 test/poisson/poisson_dg_quadrilateral.ufl             | 2 +-
 5 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e333cab7..c0d95314 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,8 +37,8 @@ add_subdirectory(cmake/modules)
 add_subdirectory(python)
 
 add_subdirectory(test)
-add_subdirectory(bin)
-add_subdirectory(applications)
+#add_subdirectory(bin)
+#add_subdirectory(applications)
 
 # finalize the dune project, e.g. generating config.h etc.
 finalize_dune_project(GENERATE_CONFIG_H_CMAKE)
diff --git a/python/dune/codegen/loopy/symbolic.py b/python/dune/codegen/loopy/symbolic.py
index 799c7d60..c5eef223 100644
--- a/python/dune/codegen/loopy/symbolic.py
+++ b/python/dune/codegen/loopy/symbolic.py
@@ -122,6 +122,7 @@ lp.type_inference.TypeInferenceMapper.map_vectorized_sumfact_kernel = needs_reso
 
 # FusedMultiplyAdd node
 lp.symbolic.IdentityMapper.map_fused_multiply_add = identity_map_fused_multiply_add
+lp.symbolic.SubstitutionMapper.map_fused_multiply_add = lp.symbolic.SubstitutionMapper.map_variable
 lp.symbolic.WalkMapper.map_fused_multiply_add = walk_map_fused_multiply_add
 lp.symbolic.StringifyMapper.map_fused_multiply_add = stringify_map_fused_multiply_add
 lp.symbolic.DependencyMapper.map_fused_multiply_add = dependency_map_fused_multiply_add
diff --git a/test/blockstructured/poisson/poisson_matrix_free.mini b/test/blockstructured/poisson/poisson_matrix_free.mini
index 514ab95b..16510257 100644
--- a/test/blockstructured/poisson/poisson_matrix_free.mini
+++ b/test/blockstructured/poisson/poisson_matrix_free.mini
@@ -13,6 +13,7 @@ compare_l2errorsquared = 1e-7
 
 [formcompiler.r]
 matrix_free = 1
+generate_jacobians = 0
 blockstructured = 1
 number_of_blocks = 4
 geometry_mixins = blockstructured_equidistant
diff --git a/test/poisson/CMakeLists.txt b/test/poisson/CMakeLists.txt
index 5eeae1a4..1d448bd2 100644
--- a/test/poisson/CMakeLists.txt
+++ b/test/poisson/CMakeLists.txt
@@ -81,6 +81,13 @@ dune_add_formcompiler_system_test(UFLFILE poisson_dg_quadrilateral.ufl
         INIFILE poisson_dg_axiparallel.mini
         )
 
+
+# 10. Poisson Test Case with a full permeability tensor
+dune_add_formcompiler_system_test(UFLFILE poisson_tensor_inv.ufl
+        BASENAME poisson_tensor_inv
+        INIFILE poisson_tensor_inv.mini
+        )
+
 # the reference vtk file
 add_executable(poisson_dg_ref reference_main.cc)
 set_target_properties(poisson_dg_ref PROPERTIES EXCLUDE_FROM_ALL 1)
diff --git a/test/poisson/poisson_dg_quadrilateral.ufl b/test/poisson/poisson_dg_quadrilateral.ufl
index 73878943..902069a0 100644
--- a/test/poisson/poisson_dg_quadrilateral.ufl
+++ b/test/poisson/poisson_dg_quadrilateral.ufl
@@ -1,4 +1,4 @@
-cell = "quadrilateral"
+generate_jacobian_kernelscell = "quadrilateral"
 degree = 1
 dim = 2
 
-- 
GitLab