From 7cf3197b8378fa16739f3c740bd80e9ead04765d Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Tue, 20 Aug 2019 08:59:57 -0500
Subject: [PATCH] Fix biharmonic kernel expressions

---
 sumpy/kernel.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sumpy/kernel.py b/sumpy/kernel.py
index 99222f68..aebaa9fe 100644
--- a/sumpy/kernel.py
+++ b/sumpy/kernel.py
@@ -431,13 +431,14 @@ class BiharmonicKernel(ExpressionKernel):
     init_arg_names = ("dim",)
 
     def __init__(self, dim=None):
+        # See https://arxiv.org/abs/1202.1811
         r = pymbolic_real_norm_2(make_sym_vector("d", dim))
         if dim == 2:
-            expr = r**2 * var("log")(r)
-            scaling = 1/(8*var("pi"))
+            expr = r**2 * (var("log")(r) - 1)
+            scaling = -1/(8*var("pi"))
         elif dim == 3:
             expr = r
-            scaling = 1  # FIXME: Unknown
+            scaling = 1/(8*var("pi"))
         else:
             raise RuntimeError("unsupported dimensionality")
 
-- 
GitLab