From 5cf4a4967ab401069239636c0576951570501841 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de>
Date: Fri, 19 Aug 2016 16:00:02 +0200
Subject: [PATCH] [WIP] Rename lops

---
 python/dune/perftool/compile.py              |  1 +
 python/dune/perftool/pdelab/driver.py        | 11 +++++++++--
 python/dune/perftool/pdelab/localoperator.py |  9 +++++----
 python/dune/perftool/pdelab/parameter.py     |  4 ++--
 4 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/python/dune/perftool/compile.py b/python/dune/perftool/compile.py
index 452aec89..a40a1782 100644
--- a/python/dune/perftool/compile.py
+++ b/python/dune/perftool/compile.py
@@ -108,3 +108,4 @@ def compile_form():
 
                 from dune.perftool.pdelab.localoperator import generate_localoperator_file
                 generate_localoperator_file(kernels, filename)
+            break
diff --git a/python/dune/perftool/pdelab/driver.py b/python/dune/perftool/pdelab/driver.py
index d5840e6b..9a3ad147 100644
--- a/python/dune/perftool/pdelab/driver.py
+++ b/python/dune/perftool/pdelab/driver.py
@@ -580,7 +580,12 @@ def name_matrixbackend():
 
 @symbol
 def type_parameters():
-    return "LocalOperatorParams"
+    from dune.perftool.generation import get_global_context_value
+    data = get_global_context_value("data")
+    formdata = get_global_context_value("formdata")
+    from dune.perftool.pdelab.parameter import parameterclass_basename
+    name = parameterclass_basename(formdata, data)
+    return name
 
 
 @preamble
@@ -608,7 +613,9 @@ def typedef_localoperator(name):
     from dune.perftool.pdelab.localoperator import name_localoperator_file
     filename = name_localoperator_file(formdata, data)
     include_file(filename, filetag="driver")
-    return "using {} = LocalOperator<{}, {}>;".format(name, ugfs, vgfs)
+    from dune.perftool.pdelab.localoperator import localoperator_basename
+    lopname = localoperator_basename(formdata, data)
+    return "using {} = {}<{}, {}>;".format(name, lopname, ugfs, vgfs)
 
 
 @symbol
diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py
index cf5bf30b..dde94934 100644
--- a/python/dune/perftool/pdelab/localoperator.py
+++ b/python/dune/perftool/pdelab/localoperator.py
@@ -126,8 +126,9 @@ def name_initree_member():
 
 
 @class_basename("operator")
-def localoperator_basename():
-    return "LocalOperator"
+def localoperator_basename(formdata, data):
+    form_name = name_form(formdata, data)
+    return "LocalOperator"+form_name.capitalize()
 
 
 def class_type_from_cache(classtag):
@@ -322,11 +323,11 @@ def generate_localoperator_kernels(formdata, data):
     include_file('dune/pdelab/localoperator/pattern.hh', filetag="operatorfile")
 
     # Trigger this one once early on to avoid wrong stuff happening
-    localoperator_basename()
+    localoperator_basename(formdata, data)
     lop_template_ansatz_gfs()
     lop_template_test_gfs()
     from dune.perftool.pdelab.parameter import parameterclass_basename
-    parameterclass_basename()
+    parameterclass_basename(formdata, data)
 
     # Make sure there is always the same constructor arguments (even if parameter class is empty)
     from dune.perftool.pdelab.localoperator import name_initree_member
diff --git a/python/dune/perftool/pdelab/parameter.py b/python/dune/perftool/pdelab/parameter.py
index c4e3c548..cda24945 100644
--- a/python/dune/perftool/pdelab/parameter.py
+++ b/python/dune/perftool/pdelab/parameter.py
@@ -24,8 +24,8 @@ from dune.perftool.pdelab.localoperator import (class_type_from_cache,
 
 
 @class_basename("parameterclass")
-def parameterclass_basename():
-    lopbase = localoperator_basename()
+def parameterclass_basename(formdata, data):
+    lopbase = localoperator_basename(formdata, data)
     return "{}Params".format(lopbase)
 
 
-- 
GitLab