diff --git a/python/dune/perftool/sumfact/symbolic.py b/python/dune/perftool/sumfact/symbolic.py index 9cdd01749da1afe67fd47c30acdbee33fc4e2b2f..90818e301475406ec4a85bb8a7e0f4a76434d4d5 100644 --- a/python/dune/perftool/sumfact/symbolic.py +++ b/python/dune/perftool/sumfact/symbolic.py @@ -471,14 +471,18 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable) def vec_index(self, sf): quad_inames = quadrature_inames() - index = [] - i = 0 sliced = 0 - for d in range(world_dimension()): - if self.matrix_sequence[d].face is None: + if len(sf.matrix_sequence) == local_dimension(): + for d in range(local_dimension()): if self.matrix_sequence[d].slice_size: - sliced = prim.Variable(quad_inames[i]) - i = i + 1 + sliced = prim.Variable(quad_inames[d]) + else: + i = 0 + for d in range(world_dimension()): + if self.matrix_sequence[d].face is None: + if self.matrix_sequence[d].slice_size: + sliced = prim.Variable(quad_inames[i]) + i = i + 1 return self.horizontal_index(sf) + prim.Remainder(sliced, self.vertical_width)