diff --git a/mbtrack2/impedance/resistive_wall.py b/mbtrack2/impedance/resistive_wall.py index c6186d34534d2a7b1bf6e9337fc293f82488a5b1..5c7d0dbe7b780bc6dafa51a903e86fa9b1bbd7dd 100644 --- a/mbtrack2/impedance/resistive_wall.py +++ b/mbtrack2/impedance/resistive_wall.py @@ -172,8 +172,8 @@ class CircularResistiveWall(WakeField): idx2 = time == 0 idx3 = np.logical_not(np.logical_or(idx1, idx2)) idx4 = np.isclose(0, time, atol=atol) - factor = 4 * self.Z0 * c / (np.pi * self.radius**2) * self.length - wl[idx2] = 0.25 * factor + factor = self.Z0 * c / (3 * np.pi * self.radius**2) * self.length + wl[idx2] = 3 * factor wl[idx3] = self.__LongWakeExact(time[idx3], factor) wl[idx4] *= 0.5 else: @@ -220,8 +220,8 @@ class CircularResistiveWall(WakeField): if exact == True: idx2 = time == 0 idx3 = np.logical_not(np.logical_or(idx1, idx2)) - factor = ((8 * self.Z0 * c**2 * self.t0) / (np.pi * self.radius**4) * - self.length) + factor = ( (self.Z0 * c**2 * self.t0) / (3 * np.pi * self.radius**4) * + self.length ) wt[idx3] = self.__TransWakeExact(time[idx3], factor) else: idx2 = np.logical_not(idx1) @@ -229,7 +229,7 @@ class CircularResistiveWall(WakeField): return wt def __LongWakeExact(self, t, factor): - wl = np.real(factor / 12 * ( 4 * np.exp(-1 * t / self.t0) + wl = np.real( factor * ( 4 * np.exp(-1 * t / self.t0) * np.cos(np.sqrt(3) * t / self.t0) + wofz(1j * np.sqrt(2 * t / self.t0)) - wofz(np.exp(1j * np.pi / 6) * np.sqrt(2 * t / self.t0)) @@ -237,7 +237,7 @@ class CircularResistiveWall(WakeField): return wl def __TransWakeExact(self, t, factor): - wt = np.real(factor / 24 * ( 2 * np.exp(-1 * t / self.t0) + wt = np.real( factor * ( 2 * np.exp(-1 * t / self.t0) * ( np.sqrt(3) * np.sin(np.sqrt(3) * t / self.t0) - np.cos(np.sqrt(3) * t / self.t0) ) + wofz(1j * np.sqrt(2 * t / self.t0))