From f4e187836b64da2e1609a5fd2b8bfff12f155c88 Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Wed, 3 Apr 2019 13:46:25 -0500
Subject: [PATCH] Fix Helmholtz

---
 sumpy/expansion/__init__.py | 7 +++++--
 sumpy/tools.py              | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/sumpy/expansion/__init__.py b/sumpy/expansion/__init__.py
index e116d828..8eb16434 100644
--- a/sumpy/expansion/__init__.py
+++ b/sumpy/expansion/__init__.py
@@ -611,7 +611,9 @@ def process_pde(pde):
             new_eq[k] = v * multiplier**sum(k.mi)
             if i == 0:
                 val = new_eq[k]
-            new_eq[k] /= val
+            new_eq[k] /= sym.sympify(val)
+            if isinstance(new_eq[k], sym.Integer):
+                new_eq[k] = int(new_eq[k])
         eqs.append(new_eq)
     return PDE(pde.dim, eqs=eqs), multiplier
 
@@ -663,7 +665,8 @@ class HelmholtzExpansionTermsWrangler(LinearRecurrenceBasedExpansionTermsWrangle
 
     def get_pdes(self, **kwargs):
         w = make_pde_syms(self.dim, 1)
-        return (w.laplacian() + w), 0, 1
+        k = sym.Symbol(self.helmholtz_k_name)
+        return (w.laplacian() + k**2 * w), 0, 1
 
     def _get_reduced_coeffs(self, nullspace):
         idx = []
diff --git a/sumpy/tools.py b/sumpy/tools.py
index c5103c34..e734d7dc 100644
--- a/sumpy/tools.py
+++ b/sumpy/tools.py
@@ -746,7 +746,7 @@ def nth_root_assume_positive(expr, n):
     """
     expr = sym.sympify(expr)
     if expr.is_Pow:
-        return expr.base ** (expr.exp / n)
+        return expr.base ** (expr.exp / sym.Integer(n))
     else:
         return expr ** (sym.Integer(1)/n)
 
-- 
GitLab