Skip to content
Snippets Groups Projects
Commit 3da16eda authored by Marcel Koch's avatar Marcel Koch
Browse files

use custom to_global only for volume integrals

parent 0eeb1a7d
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,8 @@ from dune.perftool.pdelab.restriction import restricted_name
from dune.perftool.generation import (get_backend,
temporary_variable,
instruction)
instruction,
get_global_context_value)
from dune.perftool.tools import get_pymbolic_basename
from dune.perftool.options import (get_form_option,
option_switch, get_option)
......@@ -375,8 +376,18 @@ def apply_constant_to_global_transformation(name, local):
def to_global(local):
macro = name_point_in_macro(local)
name = macro + "_global"
if get_form_option("constant_transformation_matrix"):
apply_constant_to_global_transformation(name, prim.Variable(macro))
it = get_global_context_value("integral_type")
if it == 'cell':
if get_form_option("constant_transformation_matrix"):
apply_constant_to_global_transformation(name, prim.Variable(macro))
else:
apply_default_to_global_transformation(name, prim.Variable(macro))
elif it == 'exterior_facet' or it == 'interior_facet':
from dune.perftool.pdelab.geometry import apply_to_global_transformation
apply_to_global_transformation(name, prim.Variable(macro))
else:
apply_default_to_global_transformation(name, prim.Variable(macro))
raise NotImplementedError
return prim.Variable(name)
......@@ -507,7 +507,7 @@ def define_element_corners(name):
iname = "i_corner"
domain(iname, n_corners)
from dune.perftool.generation import instruction
instruction(code="{0}[{1}] = {2}.corner({3});".format(name, iname, name_cell_geometry(Restriction.NONE), iname),
instruction(code="{0}[{1}] = {2}.corner({3});".format(name, iname, name_geometry(), iname),
assignees=frozenset({name}),
within_inames=frozenset({iname}), within_inames_is_final=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment