diff --git a/pytential/qbx/__init__.py b/pytential/qbx/__init__.py index 3e4e1026b..e3459ff70 100644 --- a/pytential/qbx/__init__.py +++ b/pytential/qbx/__init__.py @@ -30,6 +30,8 @@ from pytential.source import LayerPotentialSourceBase from sumpy.expansion import DefaultExpansionFactory as DefaultExpansionFactoryBase +from functools import partial + import logging logger = logging.getLogger(__name__) @@ -49,7 +51,12 @@ class DefaultExpansionFactory(DefaultExpansionFactoryBase): """A expansion factory to create QBX local, local and multipole expansions """ def get_qbx_local_expansion_class(self, kernel): - return self.get_local_expansion_class(kernel) + local_expn_class = self.get_local_expansion_class(kernel) + from sumpy.expansion.m2l import NonFFTM2LTranslationClassFactory + factory = NonFFTM2LTranslationClassFactory() + m2l_translation = factory.get_m2l_translation_class(kernel, + local_expn_class)() + return partial(local_expn_class, m2l_translation=m2l_translation) class _not_provided: # noqa: N801