Merge branch 'janitaws/latex-setup' of github.uio.no:FYS3150-G2-2023/Project-3 into janitaws/latex-setup

This commit is contained in:
Cory Balaton 2023-10-22 14:32:53 +02:00
commit f37385dc87
No known key found for this signature in database
GPG Key ID: 3E5FCEBFD80F432B
13 changed files with 136 additions and 28 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,19 @@
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import seaborn as sns
sns.set_theme()
params = {
"font.family": "Serif",
"font.serif": "Roman",
"text.usetex": True,
"axes.titlesize": "large",
"axes.labelsize": "large",
"xtick.labelsize": "large",
"ytick.labelsize": "large",
"legend.fontsize": "medium"
}
plt.rcParams.update(params)
def main(): def main():
files = [ files = [
@ -29,10 +43,10 @@ def main():
plt.xlabel(r"x $(\mu m)$") plt.xlabel(r"x $(\mu m)$")
plt.ylabel(r"y $(\mu m)$") plt.ylabel(r"y $(\mu m)$")
plt.title(r"2 particles with and without interactions.") # plt.title(r"2 particles with and without interactions.")
# plt.legend() plt.legend(loc="upper right")
# plt.show() plt.savefig("../latex/images/plot_2_particles_xy.pdf", bbox_inches="tight")
plt.savefig("../latex/images/plot_2_particles_xy.pdf") plt.show()
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -1,5 +1,19 @@
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import seaborn as sns
sns.set_theme()
params = {
"font.family": "Serif",
"font.serif": "Roman",
"text.usetex": True,
"axes.titlesize": "large",
"axes.labelsize": "large",
"xtick.labelsize": "large",
"ytick.labelsize": "large",
"legend.fontsize": "medium"
}
plt.rcParams.update(params)
def main(): def main():
files = [ files = [

View File

@ -1,6 +1,28 @@
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme()
params = {
"font.family": "Serif",
"font.serif": "Roman",
"text.usetex": True,
"axes.titlesize": "large",
"axes.labelsize": "large",
"xtick.labelsize": "large",
"ytick.labelsize": "large",
"legend.fontsize": "medium"
}
plt.rcParams.update(params)
def main(): def main():
colors = [
"lightskyblue",
"deepskyblue",
"salmon",
"tomato",
"mediumaquamarine",
"mediumseagreen"
]
with open("output/time_dependent_potential/res.txt") as f: with open("output/time_dependent_potential/res.txt") as f:
lines = f.readlines() lines = f.readlines()
x = [] x = []
@ -14,17 +36,22 @@ def main():
y2.append(float(l[2])) y2.append(float(l[2]))
y3.append(float(l[3])) y3.append(float(l[3]))
plt.plot(x,y1,label=f"amplitude: 0.1") fig, ax = plt.subplots()
plt.plot(x,y2,label=f"amplitude: 0.4") ax.plot(x, y1, label=r"$f_{1} = 0.1$", color=colors[0])
plt.plot(x,y3,label=f"amplitude: 0.7") ax.plot(x, y2, label=r"$f_{2} = 0.4$", color=colors[2])
ax.plot(x, y3, label=r"$f_{3} = 0.7$", color=colors[4])
ax.set_xlabel(r"Frequency $\omega_V$ (MHz)")
ax.set_xlim((0, 2.8))
ax.set_ylabel(r"Fraction of particles left")
ax.set_ylim((-0.1, 1.1))
# plt.title(r"The fraction of particles left in the Penning trap "
# "after 500 microseconds for different amplitudes and frequencies")
ax.legend(loc="upper right")
plt.xlabel(r"$\omega_V$ (MHz)")
plt.ylabel(r"Fraction of particles left")
plt.title(r"The fraction of particles left in the Penning trap "
"after 500 microseconds for different amplitudes and frequencies")
plt.legend()
# plt.show() # plt.show()
plt.savefig("../latex/images/particles_left.pdf") fig.savefig("../latex/images/particles_left.pdf", bbox_inches="tight")
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View File

@ -1,5 +1,19 @@
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import seaborn as sns
sns.set_theme()
params = {
"font.family": "Serif",
"font.serif": "Roman",
"text.usetex": True,
"axes.titlesize": "large",
"axes.labelsize": "large",
"xtick.labelsize": "large",
"ytick.labelsize": "large",
"legend.fontsize": "medium"
}
plt.rcParams.update(params)
def main(): def main():
directories = { directories = {
@ -44,9 +58,9 @@ def main():
axs1[i].legend() axs1[i].legend()
axs1[i].set_title(title) axs1[i].set_title(title)
# plt.show()
fig1.savefig("../latex/images/phase_space_2_particles_x.pdf") fig1.savefig("../latex/images/phase_space_2_particles_x.pdf")
fig2.savefig("../latex/images/phase_space_2_particles_z.pdf") fig2.savefig("../latex/images/phase_space_2_particles_z.pdf")
plt.show()
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -1,5 +1,19 @@
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import seaborn as sns
sns.set_theme()
params = {
"font.family": "Serif",
"font.serif": "Roman",
"text.usetex": True,
"axes.titlesize": "large",
"axes.labelsize": "large",
"xtick.labelsize": "large",
"ytick.labelsize": "large",
"legend.fontsize": "medium"
}
plt.rcParams.update(params)
def main(): def main():
directories = { directories = {
@ -22,7 +36,7 @@ def main():
"Relative error for the RK4 method", "Relative error for the RK4 method",
"Relative error for the forward Euler method" "Relative error for the forward Euler method"
] ]
fig1, axs1 = plt.subplots(2,1) fig1, axs1 = plt.subplots(2,1, sharex=True)
for i, (dir, title) in enumerate(zip(directories, titles)): for i, (dir, title) in enumerate(zip(directories, titles)):
max_err = [] max_err = []
for label, file in zip(labels, files): for label, file in zip(labels, files):
@ -33,17 +47,17 @@ def main():
max_err.append(max(r)) max_err.append(max(r))
axs1[i].plot(t, r, label=label) axs1[i].plot(t, r, label=label)
axs1[i].set(xlabel=r"t $(\mu s)$", ylabel = r"relative_error $(\mu m)$") axs1[i].set(ylabel = r"relative_error $(\mu m)$") # xlabel=r"t $(\mu s)$",
axs1[1].set_xlabel(r"t $(\mu s)$")
axs1[i].legend() axs1[i].legend()
axs1[i].set_title(title) # axs1[i].set_title(title)
conv_rate = 1/3 * sum([np.log10(max_err[i+1]/max_err[i])/np.log10(.5) for i in range(3)]) conv_rate = 1/3 * sum([np.log10(max_err[i+1]/max_err[i])/np.log10(.5) for i in range(3)])
print(conv_rate) print(conv_rate)
plt.show()
# fig1.savefig("../latex/images/phase_space_2_particles_x.pdf") # fig1.savefig("../latex/images/phase_space_2_particles_x.pdf")
plt.show()
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -1,5 +1,19 @@
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import seaborn as sns
sns.set_theme()
params = {
"font.family": "Serif",
"font.serif": "Roman",
"text.usetex": True,
"axes.titlesize": "large",
"axes.labelsize": "large",
"xtick.labelsize": "large",
"ytick.labelsize": "large",
"legend.fontsize": "medium"
}
plt.rcParams.update(params)
def z(t): def z(t):
V_0 = 25.*9.64852558 * 10**4 V_0 = 25.*9.64852558 * 10**4
@ -9,6 +23,14 @@ def z(t):
return 20.*np.cos(w_z*t) return 20.*np.cos(w_z*t)
def main(): def main():
colors = [
"lightskyblue",
"deepskyblue",
"salmon",
"tomato",
"mediumaquamarine",
"mediumseagreen"
]
filename = "output/simulate_single_particle/particle_0_r.txt" filename = "output/simulate_single_particle/particle_0_r.txt"
r = t = [] r = t = []
with open(filename) as f: with open(filename) as f:
@ -16,14 +38,17 @@ def main():
t = np.linspace(0, 50, len(lines)) t = np.linspace(0, 50, len(lines))
r = np.array([list(map(float, line.strip().split(","))) for line in lines]) r = np.array([list(map(float, line.strip().split(","))) for line in lines])
plt.plot(t, r[:, 2], label="approximation") fig, ax = plt.subplots()
plt.plot(t, z(t), label="analytical") ax.plot(t, r[:, 2], label="approximation", color=colors[3])
plt.xlabel(r"time $(\mu s)$") ax.plot(t, z(t), label="analytical", color=colors[5], linestyle="dotted")
plt.ylabel(r"z $(\mu m)$") ax.set_xlabel(r"Time $(\mu s)$")
plt.title(r"Movement of a single particle in the x direction") ax.set_xlim((-5, 55))
plt.legend() ax.set_ylabel(r"z $(\mu m)$")
# plt.savefig("../latex/images/single_particle.pdf") ax.set_ylim((-25, 25))
plt.show() # plt.title(r"Movement of a single particle in the x direction")
ax.legend(loc="upper right")
fig.savefig("../latex/images/single_particle.pdf", bbox_inches="tight")
# plt.show()
if __name__ == "__main__": if __name__ == "__main__":