From 281bc3d2758dfa30c78ab7bfa23e437b6f6d66d9 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 8 Oct 2023 17:47:01 -0500 Subject: [PATCH] Fix M2L with preprocessing but no FFT --- sumpy/e2e.py | 7 ++++++- sumpy/expansion/m2l.py | 3 --- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sumpy/e2e.py b/sumpy/e2e.py index 0e218024c..e2e1218f7 100644 --- a/sumpy/e2e.py +++ b/sumpy/e2e.py @@ -332,7 +332,12 @@ def get_translation_loopy_insns(self, result_dtype): [sym.Symbol(f"data{i}") for i in range(m2l_translation_classes_dependent_ndata)] - ncoeff_src = len(self.src_expansion) + m2l_translation = self.tgt_expansion.m2l_translation + if m2l_translation.use_preprocessing: + ncoeff_src = m2l_translation.preprocess_multipole_nexprs( + self.tgt_expansion, self.src_expansion) + else: + ncoeff_src = len(self.src_expansion) src_coeff_exprs = [sym.Symbol(f"src_coeffs{i}") for i in range(ncoeff_src)] diff --git a/sumpy/expansion/m2l.py b/sumpy/expansion/m2l.py index 9a75f8ea6..43beee582 100644 --- a/sumpy/expansion/m2l.py +++ b/sumpy/expansion/m2l.py @@ -713,9 +713,6 @@ def loopy_translate(self, tgt_expansion, src_expansion): domains.append( f"{{[icoeff_src]: icoeff_tgt<=icoeff_src<{ncoeff_src} }}") - expr = src_coeffs[icoeff_tgt] \ - * translation_classes_dependent_data[icoeff_tgt] - insns = [ lp.Assignment( assignee=tgt_coeffs[icoeff_tgt],