diff --git a/python/dune/perftool/blockstructured/geometry.py b/python/dune/perftool/blockstructured/geometry.py index 5851214554f7744f43051a9738074df683919ca8..951ada695f3c8d29d78cbf8992d2fe7172470083 100644 --- a/python/dune/perftool/blockstructured/geometry.py +++ b/python/dune/perftool/blockstructured/geometry.py @@ -1,10 +1,10 @@ -from dune.perftool.generation import (backend, +from dune.perftool.generation import (get_backend, temporary_variable, instruction) from dune.perftool.tools import get_pymbolic_basename -from dune.perftool.options import get_option +from dune.perftool.options import (get_option, + option_switch) from dune.perftool.pdelab.geometry import (name_jacobian_determinant, - name_jacobian_inverse_transposed, local_dimension, apply_to_global_transformation, name_facet_jacobian_determinant) @@ -20,8 +20,9 @@ def pymbolic_jacobian_determinant(): # scale Jacobian according to the order of the blockstructure def pymbolic_jacobian_inverse_transposed(i, j, restriction): + name_jit = get_backend(interface="name_jit", selector=option_switch("constant_transformation_matrix"))(restriction) return prim.Product((get_option("number_of_blocks"), - prim.Subscript(prim.Variable(name_jacobian_inverse_transposed(restriction)), (j, i)))) + prim.Subscript(prim.Variable(name_jit), (j, i)))) # scale determinant according to the order of the blockstructure