Fixed isf for 2d case

This commit is contained in:
Sebastian Kloth 2024-01-31 11:32:29 +01:00
parent 4394f70530
commit f5cf453d61

View File

@ -219,13 +219,13 @@ def isf(
return np.sinc(distance * q / np.pi).mean()
elif axis == "xy" or axis == "yx":
distance = (displacements[:, [0, 1]]**2).sum(axis=1) ** 0.5
return np.real(jn(0, distance * q / np.pi)).mean()
return np.real(jn(0, distance * q)).mean()
elif axis == "xz" or axis == "zx":
distance = (displacements[:, [0, 2]]**2).sum(axis=1) ** 0.5
return np.real(jn(0, distance * q / np.pi)).mean()
return np.real(jn(0, distance * q)).mean()
elif axis == "yz" or axis == "zy":
distance = (displacements[:, [1, 2]]**2).sum(axis=1) ** 0.5
return np.real(jn(0, distance * q / np.pi)).mean()
return np.real(jn(0, distance * q)).mean()
elif axis == "x":
distance = np.abs(displacements[:, 0])
return np.mean(np.cos(np.abs(q * distance)))