diff --git a/python/dune/codegen/blockstructured/accumulation.py b/python/dune/codegen/blockstructured/accumulation.py index dc987cb6435e21adbf79d222dab910491264268f..69e7c901029f8cf0fe051b0fd00830a5bdd449b7 100644 --- a/python/dune/codegen/blockstructured/accumulation.py +++ b/python/dune/codegen/blockstructured/accumulation.py @@ -1,3 +1,4 @@ +from dune.codegen.blockstructured.tools import sub_element_inames from dune.codegen.generation import accumulation_mixin, instruction from dune.codegen.loopy.target import dtype_floatingpoint from dune.codegen.options import get_form_option @@ -66,7 +67,8 @@ def generate_accumulation_instruction(expr, visitor): if visitor.trial_info: lfs_inames = lfs_inames + visitor.trial_info.inames - assignee = prim.Subscript(prim.Variable(accumvar_alias), tuple(prim.Variable(i) for i in lfs_inames)) + assignee = prim.Subscript(prim.Variable(accumvar_alias), + tuple(prim.Variable(i) for i in sub_element_inames() + lfs_inames)) expr_with_weight = prim.Product((expr, prim.Call(prim.Variable(accumvar + '.weight'), ())))