From faf41fb0c2b3c6a85ac83dc175c9e17699cb689d Mon Sep 17 00:00:00 2001
From: gubaidulinvadim <gubaidulinvadim@gmail.com>
Date: Sun, 28 Jul 2024 17:45:54 +0200
Subject: [PATCH] use numpy.expm1 instead of np.exp for calculation of EM field
 of a round beam.

---
 mbtrack2/tracking/emfields.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mbtrack2/tracking/emfields.py b/mbtrack2/tracking/emfields.py
index 3780ebb..a451471 100644
--- a/mbtrack2/tracking/emfields.py
+++ b/mbtrack2/tracking/emfields.py
@@ -104,8 +104,8 @@ def efieldn_gauss_round(x, y, sig_x, sig_y):
     """
     r_squared = x*x + y*y
     sig_r = sig_x
-    amplitude = (1 - np.exp(-r_squared /
-                            (2*sig_r*sig_r))) / (2*pi*epsilon_0*r_squared)
+    amplitude = -np.expm1(-r_squared /
+                          (2*sig_r*sig_r)) / (2*pi*epsilon_0*r_squared)
     return x * amplitude, y * amplitude
 
 
-- 
GitLab