Skip to content

Commit fed0d48

Browse files
committed
Use the fact that helmholtz k is real for better codegen
1 parent effa57d commit fed0d48

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

sumpy/kernel.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,10 @@ def __init__(self, dim, helmholtz_k_name="k",
519519
scaling = var("I")/4
520520
elif dim == 3:
521521
r = pymbolic_real_norm_2(make_sym_vector("d", dim))
522+
if allow_evanescent:
523+
expr = var("exp")(var("I")*k*r)/r
524+
else:
525+
expr = (var("cos")(k*r) + var("I")*var("sin")(k*r))/r
522526
expr = var("exp")(var("I")*k*r)/r
523527
scaling = 1/(4*var("pi"))
524528
else:

0 commit comments

Comments
 (0)