From f10f677086419b0848b4c32bdd76894039281e71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de>
Date: Wed, 17 Aug 2016 14:14:23 +0200
Subject: [PATCH] Throw exception for nonlinear matrix-free

---
 python/dune/perftool/pdelab/driver.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/python/dune/perftool/pdelab/driver.py b/python/dune/perftool/pdelab/driver.py
index 7b57ca21..8f3fb655 100644
--- a/python/dune/perftool/pdelab/driver.py
+++ b/python/dune/perftool/pdelab/driver.py
@@ -904,17 +904,20 @@ def name_stationarynonlinearproblemsolver():
 def dune_solve():
     # Test if form is linear in ansatzfunction
     if is_linear(_form):
-        if not get_option("matrix_free"):
-            slp = name_stationarylinearproblemsolver()
-            return "{}.apply();".format(slp)
-        else:
+        if get_option("matrix_free"):
             go = name_gridoperator()
             x = name_vector()
             include_file("dune/perftool/matrixfree.hh", filetag="drive")
             return "solveMatrixFree({},{});".format(go, x)
+        else:
+            slp = name_stationarylinearproblemsolver()
+            return "{}.apply();".format(slp)
     else:
-        snp = name_stationarynonlinearproblemsolver()
-        return "{}.apply();".format(snp)
+        if get_option("matrix_free"):
+            raise NotImplementedError("Nonlinear and matrix free is not yet implemented")
+        else:
+            snp = name_stationarynonlinearproblemsolver()
+            return "{}.apply();".format(snp)
 
 
 @preamble
-- 
GitLab