Project-4/python_scripts/test_burn_in.py
2023-12-03 13:31:30 +01:00

69 lines
1.6 KiB
Python

from pathlib import Path
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import linregress
def plot_phase_transition(indir, outdir):
files = [
"no_burn_in.txt",
"burn_in.txt",
]
labels = [
"Without burn-in time",
"With burn-in time",
]
figure1, ax1 = plt.subplots()
figure2, ax2 = plt.subplots()
figure3, ax3 = plt.subplots()
figure4, ax4 = plt.subplots()
for file, label in zip(files, labels):
t = []
e = []
m = []
CV = []
X = []
with open(Path(indir, file)) as f:
lines = f.readlines()
for line in lines:
l = line.strip().split(",")
t.append(float(l[0]))
e.append(float(l[1]))
m.append(float(l[2]))
CV.append(float(l[3]))
X.append(float(l[4]))
ax1.plot(t, e, label=label)
ax2.plot(t, m, label=label)
ax3.plot(t, CV, label=label)
ax4.plot(t, X, label=label)
figure1.legend()
figure2.legend()
figure3.legend()
figure4.legend()
figure1.savefig(Path(outdir, "energy.pdf"))
figure2.savefig(Path(outdir, "magnetization.pdf"))
figure3.savefig(Path(outdir, "heat_capacity.pdf"))
figure4.savefig(Path(outdir, "susceptibility.pdf"))
plt.close(figure1)
plt.close(figure2)
plt.close(figure3)
plt.close(figure4)
if __name__ == "__main__":
plot_phase_transition(
"output/test_burn_in_time/",
"../latex/images/test_burn_in",
)