Skip to content
Snippets Groups Projects
Commit 99864a47 authored by Alexis GAMELIN's avatar Alexis GAMELIN
Browse files

Merge branch 'fix-quadrupolar_wake' into 'develop'

[Fix] Quadrupolar wake potential sign

See merge request !22
parents 44ed32fd 950e49c7
No related branches found
No related tags found
2 merge requests!280.8.0,!22[Fix] Quadrupolar wake potential sign
...@@ -273,7 +273,7 @@ class WakePotential(Element): ...@@ -273,7 +273,7 @@ class WakePotential(Element):
profile0 = np.interp(tau0, self.tau, self.rho, 0, 0) profile0 = np.interp(tau0, self.tau, self.rho, 0, 0)
if wake_type == "Wlong" or wake_type == "Wxquad" or wake_type == "Wyquad" or wake_type == "Wxcst" or wake_type == "Wycst": if wake_type == "Wlong" or wake_type == "Wxcst" or wake_type == "Wycst":
Wp = signal.convolve(profile0, W0 * -1, mode='same') * dtau0 Wp = signal.convolve(profile0, W0 * -1, mode='same') * dtau0
elif wake_type == "Wxdip": elif wake_type == "Wxdip":
dipole0 = self.dipole_moment(bunch, "x", tau0) dipole0 = self.dipole_moment(bunch, "x", tau0)
...@@ -281,6 +281,8 @@ class WakePotential(Element): ...@@ -281,6 +281,8 @@ class WakePotential(Element):
elif wake_type == "Wydip": elif wake_type == "Wydip":
dipole0 = self.dipole_moment(bunch, "y", tau0) dipole0 = self.dipole_moment(bunch, "y", tau0)
Wp = signal.convolve(profile0 * dipole0, W0, mode='same') * dtau0 Wp = signal.convolve(profile0 * dipole0, W0, mode='same') * dtau0
elif wake_type == "Wxquad" or wake_type == "Wyquad":
Wp = signal.convolve(profile0, W0, mode='same') * dtau0
else: else:
raise ValueError("This type of wake is not taken into account.") raise ValueError("This type of wake is not taken into account.")
...@@ -387,7 +389,7 @@ class WakePotential(Element): ...@@ -387,7 +389,7 @@ class WakePotential(Element):
if plot_wake_function is True: if plot_wake_function is True:
W0 = getattr(self, "W0_" + wake_type) W0 = getattr(self, "W0_" + wake_type)
W0_rescaled = W0 / max(W0) * max(np.abs(Wp)) W0_rescaled = W0 / max(np.abs(W0)) * max(np.abs(Wp))
ax.plot(tau0 * 1e12, ax.plot(tau0 * 1e12,
W0_rescaled * 1e-12, W0_rescaled * 1e-12,
label=r"$W_{function}$ (a.u.)") label=r"$W_{function}$ (a.u.)")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment