modified gr2sq.py to be seepd-up for FT

This commit is contained in:
大窪 貴洋
2022-08-31 19:49:20 +09:00
parent c20ba22646
commit 58cbf1656a
+7 -2
View File
@@ -1106,13 +1106,16 @@ class Data():
self.sq["Q"] = q self.sq["Q"] = q
t = args.lmd/4/np.pi * self.sq["Q"] t = args.lmd/4/np.pi * self.sq["Q"]
self.sq["2theta"] = 2*np.arcsin(t[t < 1]) * 180/np.pi self.sq["2theta"] = 2*np.arcsin(t[t < 1]) * 180/np.pi
print("Q space: {} points".format(self.sq.shape[0]))
print(self.sq.iloc[:, 0:2])
r = np.array(self.gr["r"]) r = np.array(self.gr["r"])
dr = self.gr["r"][1] - self.gr["r"][0] dr = self.gr["r"][1] - self.gr["r"][0]
coeff = 4*np.pi*self.rho/q coeff = 4*np.pi*self.rho/q
mat = q.reshape(-1, 1) * r
for pair in self.pairs: for pair in self.pairs:
print(f"FT: {pair} ...") print(f"FT: {pair} ...")
gr = np.array(self.gr[pair]) gr = np.array(self.gr[pair])
y = r * (gr - 1) * np.sin(q.reshape(-1, 1) * r) * dr y = r * (gr - 1) * np.sin(mat) * dr
y = coeff * np.sum(y, axis=1) y = coeff * np.sum(y, axis=1)
self.sq[pair] = y self.sq[pair] = y
@@ -1162,7 +1165,9 @@ class Data():
else: else:
x = self.sq["Q"] x = self.sq["Q"]
label = "$Q/{\\rm \\AA^{-1}}$" label = "$Q/{\\rm \\AA^{-1}}$"
ax.plot(x, self.sq["XRD"]) ax.plot(x, self.sq["ND"])
# d = np.loadtxt("fort.sq")
# ax.plot(d[:, 0], d[:, -1])
ax.set_xlabel(label) ax.set_xlabel(label)
base, _ = os.path.splitext(self.grfile) base, _ = os.path.splitext(self.grfile)
fig.savefig(f"{base}.png") fig.savefig(f"{base}.png")