diff --git a/docs/animate__100__particles_8py.html b/docs/animate__100__particles_8py.html new file mode 100644 index 0000000..dc312cc --- /dev/null +++ b/docs/animate__100__particles_8py.html @@ -0,0 +1,216 @@ + + + + + + + +Penning Trap Simulation: src/scripts/animate_100_particles.py File Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
animate_100_particles.py File Reference
+
+
+ +

Animate 100 particles. +More...

+ +

Go to the source code of this file.

+ + + + + + + + +

+Functions

def animate_100_particles.get_data (files)
 
def animate_100_particles.update (num, lines, arr)
 
def animate_100_particles.animate ()
 
+

Detailed Description

+

Animate 100 particles.

+
Author
Cory Alexander Balaton (coryab)
+
+Janita Ovidie Sandtrøen Willumsen (janitaws)
+
Version
1.0
+
Bug:
No known bugs
+ +

Definition in file animate_100_particles.py.

+

Function Documentation

+ +

◆ animate()

+ +
+
+ + + + + + + +
def animate_100_particles.animate ()
+
+ +

Definition at line 41 of file animate_100_particles.py.

+ +
+
+ +

◆ get_data()

+ +
+
+ + + + + + + + +
def animate_100_particles.get_data ( files)
+
+ +

Definition at line 18 of file animate_100_particles.py.

+ +
+
+ +

◆ update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
def animate_100_particles.update ( num,
 lines,
 arr 
)
+
+ +

Definition at line 35 of file animate_100_particles.py.

+ +
+
+
+
+ + + + diff --git a/docs/animate__100__particles_8py_source.html b/docs/animate__100__particles_8py_source.html index 6367e48..d99bdbd 100644 --- a/docs/animate__100__particles_8py_source.html +++ b/docs/animate__100__particles_8py_source.html @@ -101,83 +101,84 @@ $(document).ready(function(){initNavTree('animate__100__particles_8py_source.htm
animate_100_particles.py
-
1import matplotlib.pyplot as plt
-
2import numpy as np
-
3from matplotlib import animation
-
4from mpl_toolkits.mplot3d import Axes3D
-
5
-
6
-
7def get_data(files):
-
8 res = []
-
9 for file in files:
-
10 arr = [[], [], []]
-
11 with open(file, encoding="utf8") as f:
-
12 lines = f.readlines()
-
13
-
14 for line in lines:
-
15 xi, yi, zi = map(float, line.strip().split(","))
-
16 arr[0].append(xi)
-
17 arr[1].append(yi)
-
18 arr[2].append(zi)
-
19 res.append(arr)
-
20
-
21 return np.array(res)
-
22
-
23
-
24def update(num, lines, arr):
-
25 for line, a in zip(lines, arr):
-
26 line.set_data(a[:2, num - 1 : num])
-
27 line.set_3d_properties(a[2, num])
-
28
-
29
-
30def animate():
-
31 plt.style.use("dark_background")
-
32 fig = plt.figure()
-
33 ax = fig.add_subplot(projection="3d")
+Go to the documentation of this file.
1
+
11
+
12import matplotlib.pyplot as plt
+
13import numpy as np
+
14from matplotlib import animation
+
15from mpl_toolkits.mplot3d import Axes3D
+
16
+
17
+
18def get_data(files):
+
19 res = []
+
20 for file in files:
+
21 arr = [[], [], []]
+
22 with open(file, encoding="utf8") as f:
+
23 lines = f.readlines()
+
24
+
25 for line in lines:
+
26 xi, yi, zi = map(float, line.strip().split(","))
+
27 arr[0].append(xi)
+
28 arr[1].append(yi)
+
29 arr[2].append(zi)
+
30 res.append(arr)
+
31
+
32 return np.array(res)
+
33
34
-
35 arr = get_data([f"output/simulate_100_particles/particle_{i}_r.txt" for i in range(100)])
-
36
-
37 arr = arr[:, :, ::10]
-
38
-
39 N = len(arr[0][0])
+
35def update(num, lines, arr):
+
36 for line, a in zip(lines, arr):
+
37 line.set_data(a[:2, num - 1 : num])
+
38 line.set_3d_properties(a[2, num])
+
39
40
-
41 lines = [ax.plot(*a[:, 1], "o")[0] for a in arr]
-
42
-
43 ax.set_title("100 particles inside a Penning trap")
-
44 plt.figtext(
-
45 0.5,
-
46 0.01,
-
47 "100 randomly generated particles "
-
48 "evolving over a time of 50 microseconds.",
-
49 fontsize=12,
-
50 horizontalalignment="center",
-
51 )
-
52
-
53 ax.set_xlim3d([-500.0, 500.0])
-
54 ax.set_xlabel("X (micrometers)")
-
55
-
56 ax.set_ylim3d([-500.0, 500.0])
-
57 ax.set_ylabel("Y (micrometers)")
-
58
-
59 ax.set_zlim3d([-500.0, 500.0])
-
60 ax.set_zlabel("Z (micrometers)")
-
61
-
62 ani = animation.FuncAnimation(
-
63 fig, update, N, fargs=(lines, arr), interval=1, blit=False
-
64 )
-
65
-
66 # ani.save("../images/100_particles.gif", writer=animation.FFMpegFileWriter(fps=50))
-
67 plt.show()
-
68
+
41def animate():
+
42 plt.style.use("dark_background")
+
43 fig = plt.figure()
+
44 ax = fig.add_subplot(projection="3d")
+
45
+
46 arr = get_data([f"output/simulate_100_particles/particle_{i}_r.txt" for i in range(100)])
+
47
+
48 arr = arr[:, :, ::40]
+
49
+
50 N = len(arr[0][0])
+
51
+
52 lines = [ax.plot(*a[:, 1], "o")[0] for a in arr]
+
53
+
54 ax.set_title("100 particles inside a Penning trap")
+
55 plt.figtext(
+
56 0.5,
+
57 0.01,
+
58 "100 randomly generated particles "
+
59 "evolving over a time of 50 microseconds.",
+
60 fontsize=12,
+
61 horizontalalignment="center",
+
62 )
+
63
+
64 ax.set_xlim3d([-500.0, 500.0])
+
65 ax.set_xlabel("X (micrometers)")
+
66
+
67 ax.set_ylim3d([-500.0, 500.0])
+
68 ax.set_ylabel("Y (micrometers)")
69
-
70if __name__ == "__main__":
-
71 animate()
+
70 ax.set_zlim3d([-500.0, 500.0])
+
71 ax.set_zlabel("Z (micrometers)")
+
72
+
73 ani = animation.FuncAnimation(
+
74 fig, update, N, fargs=(lines, arr), interval=1, blit=False
+
75 )
+
76
+
77 ani.save("../images/100_particles.gif", writer=animation.FFMpegFileWriter(fps=50))
+
78
+
79
+
80if __name__ == "__main__":
+
81 animate()
diff --git a/docs/bug.html b/docs/bug.html index 561a815..4d780bc 100644 --- a/docs/bug.html +++ b/docs/bug.html @@ -102,6 +102,8 @@ $(document).ready(function(){initNavTree('bug.html',''); initResizable(); });
+
File animate_100_particles.py
+
No known bugs
File constants.hpp
No known bugs
File frequency_narrow_sweeps_long.cpp
@@ -116,6 +118,18 @@ $(document).ready(function(){initNavTree('bug.html',''); initResizable(); });
No known bugs
File PenningTrap.hpp
No known bugs
+
File plot_2_particles.py
+
No known bugs
+
File plot_3d.py
+
No known bugs
+
File plot_particles_left.py
+
No known bugs
+
File plot_phase_space.py
+
No known bugs
+
File plot_relative_error.py
+
No known bugs
+
File plot_single_particle.py
+
No known bugs
File test_suite.cpp
No known bugs
File typedefs.hpp
diff --git a/docs/dir_634e799a3947388232110823971192a8.html b/docs/dir_634e799a3947388232110823971192a8.html index 95b55e3..6e5a151 100644 --- a/docs/dir_634e799a3947388232110823971192a8.html +++ b/docs/dir_634e799a3947388232110823971192a8.html @@ -104,19 +104,26 @@ $(document).ready(function(){initNavTree('dir_634e799a3947388232110823971192a8.h - + + - + + - + + - + + - + + - + + - + +

Files

file  animate_100_particles.py [code]
file  animate_100_particles.py [code]
 Animate 100 particles.
 
file  plot_2_particles.py [code]
file  plot_2_particles.py [code]
 Plot 2 particles with and without particle interactions in the xy-plane.
 
file  plot_3d.py [code]
file  plot_3d.py [code]
 Plot 2 particles with and without particle interactions in 3D.
 
file  plot_particles_left.py [code]
file  plot_particles_left.py [code]
 Plot how many particles are left after 500 microseconds using different angular frequencies.
 
file  plot_phase_space.py [code]
file  plot_phase_space.py [code]
 Plot the phase space for 2 particles in the x and z direction, with and without particle interactions.
 
file  plot_relative_error.py [code]
file  plot_relative_error.py [code]
 Plot the relative error for forward Euler and RK4 method.
 
file  plot_single_particle.py [code]
file  plot_single_particle.py [code]
 Plot the approximation and analytical solution for one particle in the z axis.
 
diff --git a/docs/dir_634e799a3947388232110823971192a8.js b/docs/dir_634e799a3947388232110823971192a8.js index f6030ae..e1f93d8 100644 --- a/docs/dir_634e799a3947388232110823971192a8.js +++ b/docs/dir_634e799a3947388232110823971192a8.js @@ -1,10 +1,10 @@ var dir_634e799a3947388232110823971192a8 = [ - [ "animate_100_particles.py", "animate__100__particles_8py_source.html", null ], - [ "plot_2_particles.py", "plot__2__particles_8py_source.html", null ], - [ "plot_3d.py", "plot__3d_8py_source.html", null ], - [ "plot_particles_left.py", "plot__particles__left_8py_source.html", null ], - [ "plot_phase_space.py", "plot__phase__space_8py_source.html", null ], - [ "plot_relative_error.py", "plot__relative__error_8py_source.html", null ], - [ "plot_single_particle.py", "plot__single__particle_8py_source.html", null ] + [ "animate_100_particles.py", "animate__100__particles_8py.html", null ], + [ "plot_2_particles.py", "plot__2__particles_8py.html", null ], + [ "plot_3d.py", "plot__3d_8py.html", null ], + [ "plot_particles_left.py", "plot__particles__left_8py.html", null ], + [ "plot_phase_space.py", "plot__phase__space_8py.html", null ], + [ "plot_relative_error.py", "plot__relative__error_8py.html", null ], + [ "plot_single_particle.py", "plot__single__particle_8py.html", null ] ]; \ No newline at end of file diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 22ec43b..ef64c5f 100644 --- a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -102,6 +102,11 @@ $(document).ready(function(){initNavTree('dir_68267d1309a1af8e8297ef4c3efbcdba.h
+ + + +

+Directories

directory  scripts
 
diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js index f3209f1..702a957 100644 --- a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js +++ b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -1,5 +1,6 @@ var dir_68267d1309a1af8e8297ef4c3efbcdba = [ + [ "scripts", "dir_634e799a3947388232110823971192a8.html", "dir_634e799a3947388232110823971192a8" ], [ "frequency_narrow_sweeps_long.cpp", "frequency__narrow__sweeps__long_8cpp.html", "frequency__narrow__sweeps__long_8cpp" ], [ "main.cpp", "main_8cpp.html", "main_8cpp" ], [ "Particle.cpp", "Particle_8cpp.html", null ], diff --git a/docs/files.html b/docs/files.html index 7537f24..e40fb96 100644 --- a/docs/files.html +++ b/docs/files.html @@ -102,7 +102,7 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); });
Here is a list of all documented files with brief descriptions:
-
[detail level 12]

Files

file  frequency_narrow_sweeps_long.cpp [code]
+
[detail level 123]
@@ -110,12 +110,20 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); }); - - - - - - + + + + + + + + + + + + + +
  include
 constants.hppLibrary of constants
 Particle.hppA class that holds the properties of a particle
 typedefs.hppUseful typedefs for cleaner code
 utils.hppFunction prototypes and macros that are useful
  src
 frequency_narrow_sweeps_long.cppSweep of the frequencies from 1.1 to 1.7 using a small time step
 main.cppThe main program for this project
 Particle.cppThe implementation of the Particle class
 PenningTrap.cppThe implementation of the PenningTrap class
 test_suite.cppThe test suite for the project
 utils.cppImplementation of the utils
  scripts
 animate_100_particles.pyAnimate 100 particles
 plot_2_particles.pyPlot 2 particles with and without particle interactions in the xy-plane
 plot_3d.pyPlot 2 particles with and without particle interactions in 3D
 plot_particles_left.pyPlot how many particles are left after 500 microseconds using different angular frequencies
 plot_phase_space.pyPlot the phase space for 2 particles in the x and z direction, with and without particle interactions
 plot_relative_error.pyPlot the relative error for forward Euler and RK4 method
 plot_single_particle.pyPlot the approximation and analytical solution for one particle in the z axis
 frequency_narrow_sweeps_long.cppSweep of the frequencies from 1.1 to 1.7 using a small time step
 main.cppThe main program for this project
 Particle.cppThe implementation of the Particle class
 PenningTrap.cppThe implementation of the PenningTrap class
 test_suite.cppThe test suite for the project
 utils.cppImplementation of the utils
diff --git a/docs/namespaceplot__3d.html b/docs/namespaceplot__3d.html new file mode 100644 index 0000000..508e8b0 --- /dev/null +++ b/docs/namespaceplot__3d.html @@ -0,0 +1,177 @@ + + + + + + + +Penning Trap Simulation: plot_3d Namespace Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
plot_3d Namespace Reference
+
+
+ + + + +

+Functions

def main ()
 
+ + + +

+Variables

dict params
 
+

Detailed Description

+
 @package plot_3d

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
def plot_3d.main ()
+
+ +

Definition at line 22 of file plot_3d.py.

+ +
+
+

Variable Documentation

+ +

◆ params

+ +
+
+ + + + +
dict plot_3d.params
+
+Initial value:
1= {
+
2 "font.family": "Serif",
+
3 "font.serif": "Roman",
+
4 "text.usetex": True,
+
5 "axes.titlesize": "large",
+
6 "axes.labelsize": "large",
+
7 "xtick.labelsize": "large",
+
8 "ytick.labelsize": "large",
+
9 "legend.fontsize": "medium",
+
10 "figure.autolayout": True
+
11}
+
+

Definition at line 9 of file plot_3d.py.

+ +
+
+
+
+ + + + diff --git a/docs/namespaces.html b/docs/namespaces.html new file mode 100644 index 0000000..82851f0 --- /dev/null +++ b/docs/namespaces.html @@ -0,0 +1,118 @@ + + + + + + + +Penning Trap Simulation: Namespace List + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Namespace List
+
+
+
Here is a list of all documented namespaces with brief descriptions:
+ + +
 Nplot_3d
+
+
+
+ + + + diff --git a/docs/namespaces_dup.js b/docs/namespaces_dup.js new file mode 100644 index 0000000..6787057 --- /dev/null +++ b/docs/namespaces_dup.js @@ -0,0 +1,4 @@ +var namespaces_dup = +[ + [ "plot_3d", "namespaceplot__3d.html", null ] +]; \ No newline at end of file diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index 1a1652f..e8420ad 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -1,13 +1,15 @@ var NAVTREEINDEX0 = { -"Particle_8cpp.html":[7,0,1,2], -"Particle_8cpp_source.html":[7,0,1,2], +"Particle_8cpp.html":[7,0,1,3], +"Particle_8cpp_source.html":[7,0,1,3], "Particle_8hpp.html":[7,0,0,1], "Particle_8hpp_source.html":[7,0,0,1], -"PenningTrap_8cpp.html":[7,0,1,3], -"PenningTrap_8cpp_source.html":[7,0,1,3], +"PenningTrap_8cpp.html":[7,0,1,4], +"PenningTrap_8cpp_source.html":[7,0,1,4], "PenningTrap_8hpp.html":[7,0,0,2], "PenningTrap_8hpp_source.html":[7,0,0,2], +"animate__100__particles_8py.html":[7,0,1,0,0], +"animate__100__particles_8py_source.html":[7,0,1,0,0], "annotated.html":[6,0], "bug.html":[5], "classParticle.html":[6,0,0], @@ -61,13 +63,14 @@ var NAVTREEINDEX0 = "constants_8hpp.html#af40a326b23c68a27cebe60f16634a2cb":[7,0,0,0,4], "constants_8hpp.html#af7602a3a314957137ad1cd719aa23789":[7,0,0,0,0], "constants_8hpp_source.html":[7,0,0,0], +"dir_634e799a3947388232110823971192a8.html":[7,0,1,0], "dir_68267d1309a1af8e8297ef4c3efbcdba.html":[7,0,1], "dir_d44c64559bbebec7f509842c48db8b23.html":[7,0,0], "files.html":[7,0], -"frequency__narrow__sweeps__long_8cpp.html":[7,0,1,0], -"frequency__narrow__sweeps__long_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea":[7,0,1,0,0], -"frequency__narrow__sweeps__long_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb":[7,0,1,0,1], -"frequency__narrow__sweeps__long_8cpp_source.html":[7,0,1,0], +"frequency__narrow__sweeps__long_8cpp.html":[7,0,1,1], +"frequency__narrow__sweeps__long_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea":[7,0,1,1,0], +"frequency__narrow__sweeps__long_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb":[7,0,1,1,1], +"frequency__narrow__sweeps__long_8cpp_source.html":[7,0,1,1], "functions.html":[6,2,0], "functions_func.html":[6,2,1], "functions_rela.html":[6,2,3], @@ -93,22 +96,34 @@ var NAVTREEINDEX0 = "index.html#autotoc_md7":[2,0], "index.html#autotoc_md8":[2,1], "index.html#autotoc_md9":[2,1,0], -"main_8cpp.html":[7,0,1,1], -"main_8cpp.html#a213713d6ecc02a32b588ffd179dc7513":[7,0,1,1,4], -"main_8cpp.html#a2efa69bb9d93049429ce4637075f1d30":[7,0,1,1,8], -"main_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea":[7,0,1,1,1], -"main_8cpp.html#a6b38b477c18e2f4268779751a88edab1":[7,0,1,1,3], -"main_8cpp.html#a783789519f97c6430081171cacb0ffb1":[7,0,1,1,7], -"main_8cpp.html#a8d92fb2ad085065fbd14718647551657":[7,0,1,1,0], -"main_8cpp.html#a8fdbe2d5a872e50ef5ec1263243589d6":[7,0,1,1,5], -"main_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb":[7,0,1,1,2], -"main_8cpp.html#ac67e0d59227856c4d42e7d01c75e0ad2":[7,0,1,1,6], -"main_8cpp.html#ac70b61df65f4336f57ea9b4c35250df7":[7,0,1,1,9], -"main_8cpp_source.html":[7,0,1,1], +"main_8cpp.html":[7,0,1,2], +"main_8cpp.html#a213713d6ecc02a32b588ffd179dc7513":[7,0,1,2,4], +"main_8cpp.html#a2efa69bb9d93049429ce4637075f1d30":[7,0,1,2,8], +"main_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea":[7,0,1,2,1], +"main_8cpp.html#a6b38b477c18e2f4268779751a88edab1":[7,0,1,2,3], +"main_8cpp.html#a783789519f97c6430081171cacb0ffb1":[7,0,1,2,7], +"main_8cpp.html#a8d92fb2ad085065fbd14718647551657":[7,0,1,2,0], +"main_8cpp.html#a8fdbe2d5a872e50ef5ec1263243589d6":[7,0,1,2,5], +"main_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb":[7,0,1,2,2], +"main_8cpp.html#ac67e0d59227856c4d42e7d01c75e0ad2":[7,0,1,2,6], +"main_8cpp.html#ac70b61df65f4336f57ea9b4c35250df7":[7,0,1,2,9], +"main_8cpp_source.html":[7,0,1,2], "pages.html":[], +"plot__2__particles_8py.html":[7,0,1,0,1], +"plot__2__particles_8py_source.html":[7,0,1,0,1], +"plot__3d_8py.html":[7,0,1,0,2], +"plot__3d_8py_source.html":[7,0,1,0,2], +"plot__particles__left_8py.html":[7,0,1,0,3], +"plot__particles__left_8py_source.html":[7,0,1,0,3], +"plot__phase__space_8py.html":[7,0,1,0,4], +"plot__phase__space_8py_source.html":[7,0,1,0,4], +"plot__relative__error_8py.html":[7,0,1,0,5], +"plot__relative__error_8py_source.html":[7,0,1,0,5], +"plot__single__particle_8py.html":[7,0,1,0,6], +"plot__single__particle_8py_source.html":[7,0,1,0,6], "structsimulation.html":[6,0,3], -"test__suite_8cpp.html":[7,0,1,4], -"test__suite_8cpp_source.html":[7,0,1,4], +"test__suite_8cpp.html":[7,0,1,5], +"test__suite_8cpp_source.html":[7,0,1,5], "typedefs_8hpp.html":[7,0,0,3], "typedefs_8hpp.html#a33418f31f28663b8414c8f7182998c22":[7,0,0,3,3], "typedefs_8hpp.html#a3bdfb73a02f88ae32b6128ef747c4aea":[7,0,0,3,5], @@ -116,13 +131,13 @@ var NAVTREEINDEX0 = "typedefs_8hpp.html#a784799c37b5e4fb8bf4f6368e004dec6":[7,0,0,3,4], "typedefs_8hpp.html#aec69d34220fff45de238b9e01f2686af":[7,0,0,3,1], "typedefs_8hpp_source.html":[7,0,0,3], -"utils_8cpp.html":[7,0,1,5], -"utils_8cpp.html#a58565270b643b24e3132f38c653e0199":[7,0,1,5,3], -"utils_8cpp.html#a6be6f938bcbb235ebb6a2ed9d08411b2":[7,0,1,5,0], -"utils_8cpp.html#acd2a9c7a7d5a7fe9163be8c4cc110746":[7,0,1,5,4], -"utils_8cpp.html#acf13f4e492199cb7231bfa646dbd08de":[7,0,1,5,2], -"utils_8cpp.html#aff5e07c3c1d321709b0cc38e999f427b":[7,0,1,5,1], -"utils_8cpp_source.html":[7,0,1,5], +"utils_8cpp.html":[7,0,1,6], +"utils_8cpp.html#a58565270b643b24e3132f38c653e0199":[7,0,1,6,3], +"utils_8cpp.html#a6be6f938bcbb235ebb6a2ed9d08411b2":[7,0,1,6,0], +"utils_8cpp.html#acd2a9c7a7d5a7fe9163be8c4cc110746":[7,0,1,6,4], +"utils_8cpp.html#acf13f4e492199cb7231bfa646dbd08de":[7,0,1,6,2], +"utils_8cpp.html#aff5e07c3c1d321709b0cc38e999f427b":[7,0,1,6,1], +"utils_8cpp_source.html":[7,0,1,6], "utils_8hpp.html":[7,0,0,4], "utils_8hpp.html#a2cc3a2cdb635bac3c8b02e89d4d6af38":[7,0,0,4,4], "utils_8hpp.html#a60dca3177fb9cb5256609adc7af55168":[7,0,0,4,0], diff --git a/docs/plot__2__particles_8py.html b/docs/plot__2__particles_8py.html new file mode 100644 index 0000000..48c34d9 --- /dev/null +++ b/docs/plot__2__particles_8py.html @@ -0,0 +1,189 @@ + + + + + + + +Penning Trap Simulation: src/scripts/plot_2_particles.py File Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
plot_2_particles.py File Reference
+
+
+ +

Plot 2 particles with and without particle interactions in the xy-plane. +More...

+ +

Go to the source code of this file.

+ + + + +

+Functions

def plot_2_particles.main ()
 
+ + + +

+Variables

dict plot_2_particles.params
 
+

Detailed Description

+

Plot 2 particles with and without particle interactions in the xy-plane.

+
Author
Cory Alexander Balaton (coryab)
+
+Janita Ovidie Sandtrøen Willumsen (janitaws)
+
Version
1.0
+
Bug:
No known bugs
+ +

Definition in file plot_2_particles.py.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
def plot_2_particles.main ()
+
+ +

Definition at line 30 of file plot_2_particles.py.

+ +
+
+

Variable Documentation

+ +

◆ params

+ +
+
+ + + + +
dict plot_2_particles.params
+
+Initial value:
1= {
+
2 "font.family": "Serif",
+
3 "font.serif": "Roman",
+
4 "text.usetex": True,
+
5 "axes.titlesize": "large",
+
6 "axes.labelsize": "large",
+
7 "xtick.labelsize": "large",
+
8 "ytick.labelsize": "large",
+
9 "legend.fontsize": "medium"
+
10}
+
+

Definition at line 18 of file plot_2_particles.py.

+ +
+
+
+
+ + + + diff --git a/docs/plot__2__particles_8py_source.html b/docs/plot__2__particles_8py_source.html index 648387a..f248e58 100644 --- a/docs/plot__2__particles_8py_source.html +++ b/docs/plot__2__particles_8py_source.html @@ -101,51 +101,77 @@ $(document).ready(function(){initNavTree('plot__2__particles_8py_source.html',''
plot_2_particles.py
-
1import matplotlib.pyplot as plt
-
2import numpy as np
-
3
-
4def main():
-
5 files = [
-
6 "output/simulate_2_particles/no_interaction/particle_0_r.txt",
-
7 "output/simulate_2_particles/no_interaction/particle_1_r.txt",
-
8 "output/simulate_2_particles/with_interaction/particle_0_r.txt",
-
9 "output/simulate_2_particles/with_interaction/particle_1_r.txt"
-
10 ]
-
11 labels = [
-
12 "particle 1 no interaction",
-
13 "particle 2 no interaction",
-
14 "particle 1 with interaction",
-
15 "particle 2 with interaction",
-
16 ]
-
17 colors = [
-
18 "lightskyblue",
-
19 "lightskyblue",
-
20 "salmon",
-
21 "salmon"
-
22 ]
-
23 for label, color, file in zip(labels, colors, files):
-
24 with open(file) as f:
-
25 lines = f.readlines()
-
26 t = np.linspace(0, 50, len(lines))
-
27 r = np.array([list(map(float, line.strip().split(","))) for line in lines])
-
28 plt.plot(r[:,0], r[:,1], label=label, color=color)
-
29
-
30 plt.xlabel(r"x $(\mu m)$")
-
31 plt.ylabel(r"y $(\mu m)$")
-
32 plt.title(r"2 particles with and without interactions.")
-
33 # plt.legend()
-
34 # plt.show()
-
35 plt.savefig("../latex/images/plot_2_particles_xy.pdf")
-
36
-
37
-
38if __name__ == "__main__":
-
39 main()
+Go to the documentation of this file.
1
+
12
+
13import matplotlib.pyplot as plt
+
14import numpy as np
+
15import seaborn as sns
+
16
+
17sns.set_theme()
+
18params = {
+
19 "font.family": "Serif",
+
20 "font.serif": "Roman",
+
21 "text.usetex": True,
+
22 "axes.titlesize": "large",
+
23 "axes.labelsize": "large",
+
24 "xtick.labelsize": "large",
+
25 "ytick.labelsize": "large",
+
26 "legend.fontsize": "medium"
+
27}
+
28plt.rcParams.update(params)
+
29
+
30def main():
+
31 directories = {
+
32 "output/simulate_2_particles/no_interaction/",
+
33 "output/simulate_2_particles/with_interaction/",
+
34 }
+
35 files = [
+
36 "particle_0_r.txt",
+
37 "particle_1_r.txt",
+
38 ]
+
39 outputs = [
+
40 "../latex/images/simulate_2_particles_no_interaction_xy.pdf",
+
41 "../latex/images/simulate_2_particles_interaction_xy.pdf",
+
42 ]
+
43 labels = [
+
44 r"$p_1$",
+
45 r"$p_2$",
+
46 r"$\hat{p}_1$",
+
47 r"$\hat{p}_2$",
+
48 ]
+
49 colors = [
+
50 "seagreen",
+
51 "darkred"
+
52 ]
+
53 start_pos = set()
+
54 for dir, output in zip(directories, outputs):
+
55 fig, ax = plt.subplots()
+
56 for label, color, file in zip(labels, colors, files):
+
57 with open(dir+file) as f:
+
58 lines = f.readlines()
+
59 t = np.linspace(0, 50, len(lines))
+
60 r = np.array([list(map(float, line.strip().split(","))) for line in lines])
+
61 ax.plot(r[:,0], r[:,1], label=label, color=color)
+
62 start_pos.add((r[0,0],r[0,1]))
+
63
+
64 for pos in start_pos:
+
65 ax.plot(*pos, "o", color="black")
+
66
+
67 ax.set_xlabel(r"x $(\mu m)$")
+
68 ax.set_ylabel(r"y $(\mu m)$")
+
69 ax.legend(loc="upper right")
+
70 ax.axis("equal")
+
71 fig.savefig(output, bbox_inches="tight")
+
72
+
73
+
74if __name__ == "__main__":
+
75 main()
diff --git a/docs/plot__3d_8py.html b/docs/plot__3d_8py.html new file mode 100644 index 0000000..a26c163 --- /dev/null +++ b/docs/plot__3d_8py.html @@ -0,0 +1,190 @@ + + + + + + + +Penning Trap Simulation: src/scripts/plot_3d.py File Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
plot_3d.py File Reference
+
+
+ +

Plot 2 particles with and without particle interactions in 3D. +More...

+ +

Go to the source code of this file.

+ + + + +

+Functions

def plot_3d.main ()
 
+ + + +

+Variables

dict plot_3d.params
 
+

Detailed Description

+

Plot 2 particles with and without particle interactions in 3D.

+
Author
Cory Alexander Balaton (coryab)
+
+Janita Ovidie Sandtrøen Willumsen (janitaws)
+
Version
1.0
+
Bug:
No known bugs
+ +

Definition in file plot_3d.py.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
def plot_3d.main ()
+
+ +

Definition at line 30 of file plot_3d.py.

+ +
+
+

Variable Documentation

+ +

◆ params

+ +
+
+ + + + +
dict plot_3d.params
+
+Initial value:
1= {
+
2 "font.family": "Serif",
+
3 "font.serif": "Roman",
+
4 "text.usetex": True,
+
5 "axes.titlesize": "large",
+
6 "axes.labelsize": "large",
+
7 "xtick.labelsize": "large",
+
8 "ytick.labelsize": "large",
+
9 "legend.fontsize": "medium",
+
10 "figure.autolayout": True
+
11}
+
+

Definition at line 17 of file plot_3d.py.

+ +
+
+
+
+ + + + diff --git a/docs/plot__3d_8py_source.html b/docs/plot__3d_8py_source.html index d297968..039e889 100644 --- a/docs/plot__3d_8py_source.html +++ b/docs/plot__3d_8py_source.html @@ -101,52 +101,70 @@ $(document).ready(function(){initNavTree('plot__3d_8py_source.html',''); initRes
plot_3d.py
-
1import matplotlib.pyplot as plt
-
2import numpy as np
-
3
-
4def main():
-
5 files = [
-
6 "output/simulate_2_particles/no_interaction/particle_0_r.txt",
-
7 "output/simulate_2_particles/no_interaction/particle_1_r.txt",
-
8 "output/simulate_2_particles/with_interaction/particle_0_r.txt",
-
9 "output/simulate_2_particles/with_interaction/particle_1_r.txt"
-
10 ]
-
11 labels = [
-
12 "particle 1 no interaction",
-
13 "particle 2 no interaction",
-
14 "particle 1 with interaction",
-
15 "particle 2 with interaction",
-
16 ]
-
17 colors = [
-
18 "lightskyblue",
-
19 "deepskyblue",
-
20 "salmon",
-
21 "darkred"
-
22 ]
-
23 ax = plt.figure().add_subplot(projection="3d")
-
24 for label, color, file in zip(labels, colors, files):
-
25 with open(file) as f:
-
26 lines = f.readlines()
-
27 t = np.linspace(0, 50, len(lines))
-
28 r = np.array([list(map(float, line.strip().split(","))) for line in lines])
-
29 ax.plot(r[:,0], r[:,1], r[:,2], label=label, color=color)
-
30
-
31 ax.set_xlabel(r"x $(\mu m)$")
-
32 ax.set_ylabel(r"y $(\mu m)$")
-
33 ax.set_zlabel(r"z $(\mu m)$")
-
34 plt.title(r"2 particles with and without interactions.")
-
35 plt.legend()
-
36 plt.savefig("../latex/images/3d_plot.pdf")
-
37
-
38
-
39if __name__ == "__main__":
-
40 main()
+Go to the documentation of this file.
1
+
11
+
12import matplotlib.pyplot as plt
+
13import numpy as np
+
14import seaborn as sns
+
15
+
16sns.set_theme()
+
17params = {
+
18 "font.family": "Serif",
+
19 "font.serif": "Roman",
+
20 "text.usetex": True,
+
21 "axes.titlesize": "large",
+
22 "axes.labelsize": "large",
+
23 "xtick.labelsize": "large",
+
24 "ytick.labelsize": "large",
+
25 "legend.fontsize": "medium",
+
26 "figure.autolayout": True
+
27}
+
28plt.rcParams.update(params)
+
29
+
30def main():
+
31 files = [
+
32 "output/simulate_2_particles/no_interaction/particle_0_r.txt",
+
33 "output/simulate_2_particles/no_interaction/particle_1_r.txt",
+
34 "output/simulate_2_particles/with_interaction/particle_0_r.txt",
+
35 "output/simulate_2_particles/with_interaction/particle_1_r.txt"
+
36 ]
+
37 labels = [
+
38 r"$p_1$",
+
39 r"$p_2$",
+
40 r"$\hat{p}_1$",
+
41 r"$\hat{p}_2$",
+
42 ]
+
43 colors = [
+
44 "mediumaquamarine",
+
45 "salmon",
+
46 "seagreen",
+
47 "darkred"
+
48 ]
+
49 ax = plt.figure().add_subplot(projection="3d")
+
50 for label, color, file in zip(labels, colors, files):
+
51 with open(file) as f:
+
52 lines = f.readlines()
+
53 t = np.linspace(0, 50, len(lines))
+
54 r = np.array([list(map(float, line.strip().split(","))) for line in lines])
+
55 ax.plot(r[:,0], r[:,1], r[:,2], label=label, color=color)
+
56
+
57 ax.set_xlabel(r"x $(\mu m)$")
+
58 ax.set_ylabel(r"y $(\mu m)$")
+
59 ax.set_zlabel(r"z $(\mu m)$")
+
60 ax.view_init(10,-35)
+
61
+
62 plt.legend()
+
63 plt.savefig("../latex/images/3d_plot.pdf")
+
64
+
65
+
66if __name__ == "__main__":
+
67 main()
diff --git a/docs/plot__particles__left_8py.html b/docs/plot__particles__left_8py.html new file mode 100644 index 0000000..93cc53c --- /dev/null +++ b/docs/plot__particles__left_8py.html @@ -0,0 +1,189 @@ + + + + + + + +Penning Trap Simulation: src/scripts/plot_particles_left.py File Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
plot_particles_left.py File Reference
+
+
+ +

Plot how many particles are left after 500 microseconds using different angular frequencies. +More...

+ +

Go to the source code of this file.

+ + + + +

+Functions

def plot_particles_left.main ()
 
+ + + +

+Variables

dict plot_particles_left.params
 
+

Detailed Description

+

Plot how many particles are left after 500 microseconds using different angular frequencies.

+
Author
Cory Alexander Balaton (coryab)
+
+Janita Ovidie Sandtrøen Willumsen (janitaws)
+
Version
1.0
+
Bug:
No known bugs
+ +

Definition in file plot_particles_left.py.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
def plot_particles_left.main ()
+
+ +

Definition at line 29 of file plot_particles_left.py.

+ +
+
+

Variable Documentation

+ +

◆ params

+ +
+
+ + + + +
dict plot_particles_left.params
+
+Initial value:
1= {
+
2 "font.family": "Serif",
+
3 "font.serif": "Roman",
+
4 "text.usetex": True,
+
5 "axes.titlesize": "large",
+
6 "axes.labelsize": "large",
+
7 "xtick.labelsize": "large",
+
8 "ytick.labelsize": "large",
+
9 "legend.fontsize": "medium"
+
10}
+
+

Definition at line 17 of file plot_particles_left.py.

+ +
+
+
+
+ + + + diff --git a/docs/plot__particles__left_8py_source.html b/docs/plot__particles__left_8py_source.html index 4e37019..9de8c42 100644 --- a/docs/plot__particles__left_8py_source.html +++ b/docs/plot__particles__left_8py_source.html @@ -101,80 +101,83 @@ $(document).ready(function(){initNavTree('plot__particles__left_8py_source.html'
plot_particles_left.py
-
1import matplotlib.pyplot as plt
-
2import seaborn as sns
-
3
-
4sns.set_theme()
-
5params = {
-
6 "font.family": "Serif",
-
7 "font.serif": "Roman",
-
8 "text.usetex": True,
-
9 "axes.titlesize": "large",
-
10 "axes.labelsize": "large",
-
11 "xtick.labelsize": "large",
-
12 "ytick.labelsize": "large",
-
13 "legend.fontsize": "medium"
-
14}
-
15plt.rcParams.update(params)
-
16
-
17def main():
-
18 colors = [
-
19 "lightskyblue",
-
20 "deepskyblue",
-
21 "salmon",
-
22 "tomato",
-
23 "mediumaquamarine",
-
24 "mediumseagreen"
-
25 ]
-
26 files = [
-
27 "output/time_dependent_potential/wide_sweep.txt",
-
28 "output/time_dependent_potential/narrow_sweep.txt",
-
29 "output/time_dependent_potential/narrow_sweep_interactions.txt",
-
30 ]
-
31 outputs = [
-
32 "../latex/images/wide_sweep.pdf",
-
33 "../latex/images/narrow_sweep.pdf",
-
34 "../latex/images/narrow_sweep_interactions.pdf",
-
35 ]
-
36 for file, output in zip(files, outputs):
-
37 with open(file) as f:
-
38 lines = f.readlines()
-
39 x = []
-
40 y1 = []
-
41 y2 = []
-
42 y3 = []
-
43 for line in lines:
-
44 l = line.strip().split(",")
-
45 x.append(float(l[0]))
-
46 y1.append(float(l[1]))
-
47 y2.append(float(l[2]))
-
48 y3.append(float(l[3]))
-
49
-
50 fig, ax = plt.subplots()
-
51 ax.plot(x, y1, label=r"$f_{1} = 0.1$", color=colors[0])
-
52 ax.plot(x, y2, label=r"$f_{2} = 0.4$", color=colors[2])
-
53 ax.plot(x, y3, label=r"$f_{3} = 0.7$", color=colors[4])
-
54
-
55 ax.set_xlabel(r"Frequency $\omega_V$ (MHz)")
-
56 # ax.set_xlim((0, 2.8))
-
57 ax.set_ylabel(r"Fraction of particles left")
-
58 # ax.set_ylim((-0.1, 1.1))
-
59 # plt.title(r"The fraction of particles left in the Penning trap "
-
60 # "after 500 microseconds for different amplitudes and frequencies")
-
61
-
62 ax.legend(loc="upper right")
-
63
-
64 # plt.show()
-
65 fig.savefig(output, bbox_inches="tight")
-
66
-
67if __name__ == "__main__":
-
68 main()
+Go to the documentation of this file.
1
+
12
+
13import matplotlib.pyplot as plt
+
14import seaborn as sns
+
15
+
16sns.set_theme()
+
17params = {
+
18 "font.family": "Serif",
+
19 "font.serif": "Roman",
+
20 "text.usetex": True,
+
21 "axes.titlesize": "large",
+
22 "axes.labelsize": "large",
+
23 "xtick.labelsize": "large",
+
24 "ytick.labelsize": "large",
+
25 "legend.fontsize": "medium"
+
26}
+
27plt.rcParams.update(params)
+
28
+
29def main():
+
30 colors = [
+
31 "mediumseagreen",
+
32 "darkred",
+
33 "darkgoldenrod"
+
34 ]
+
35 files = [
+
36 "output/time_dependent_potential/wide_sweep.txt",
+
37 "output/time_dependent_potential/narrow_sweep.txt",
+
38 "output/time_dependent_potential/narrow_sweep_fine.txt",
+
39 "output/time_dependent_potential/narrow_sweep_interactions.txt",
+
40 "output/time_dependent_potential/narrow_sweep_interactions_fine.txt",
+
41 ]
+
42 outputs = [
+
43 "../latex/images/particles_left_wide_sweep.pdf",
+
44 "../latex/images/particles_left_narrow_sweep.pdf",
+
45 "../latex/images/particles_left_narrow_sweep_fine.pdf",
+
46 "../latex/images/particles_left_narrow_sweep_interactions.pdf",
+
47 "../latex/images/particles_left_narrow_sweep_interactions_fine.pdf",
+
48 ]
+
49 for file, output in zip(files, outputs):
+
50 with open(file) as f:
+
51 lines = f.readlines()
+
52 x = []
+
53 y1 = []
+
54 y2 = []
+
55 y3 = []
+
56 for line in lines:
+
57 l = line.strip().split(",")
+
58 x.append(float(l[0]))
+
59 y1.append(float(l[1]))
+
60 y2.append(float(l[2]))
+
61 y3.append(float(l[3]))
+
62
+
63 fig, ax = plt.subplots()
+
64 ax.plot(x, y1, label=r"$f_{1} = 0.1$", color=colors[0])
+
65 ax.plot(x, y2, label=r"$f_{2} = 0.4$", color=colors[1])
+
66 ax.plot(x, y3, label=r"$f_{3} = 0.7$", color=colors[2])
+
67
+
68 ax.set_xlabel(r"Angular frequency $\omega_V$ (MHz)")
+
69 # ax.set_xlim((0, 2.8))
+
70 ax.set_ylabel(r"Fraction of particles left")
+
71 # ax.set_ylim((-0.1, 1.1))
+
72 # plt.title(r"The fraction of particles left in the Penning trap "
+
73 # "after 500 microseconds for different amplitudes and frequencies")
+
74
+
75 ax.legend(loc="upper right")
+
76
+
77 # plt.show()
+
78 fig.savefig(output, bbox_inches="tight")
+
79
+
80if __name__ == "__main__":
+
81 main()
diff --git a/docs/plot__phase__space_8py.html b/docs/plot__phase__space_8py.html new file mode 100644 index 0000000..4900d42 --- /dev/null +++ b/docs/plot__phase__space_8py.html @@ -0,0 +1,189 @@ + + + + + + + +Penning Trap Simulation: src/scripts/plot_phase_space.py File Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
plot_phase_space.py File Reference
+
+
+ +

Plot the phase space for 2 particles in the x and z direction, with and without particle interactions. +More...

+ +

Go to the source code of this file.

+ + + + +

+Functions

def plot_phase_space.main ()
 
+ + + +

+Variables

dict plot_phase_space.params
 
+

Detailed Description

+

Plot the phase space for 2 particles in the x and z direction, with and without particle interactions.

+
Author
Cory Alexander Balaton (coryab)
+
+Janita Ovidie Sandtrøen Willumsen (janitaws)
+
Version
1.0
+
Bug:
No known bugs
+ +

Definition in file plot_phase_space.py.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
def plot_phase_space.main ()
+
+ +

Definition at line 31 of file plot_phase_space.py.

+ +
+
+

Variable Documentation

+ +

◆ params

+ +
+
+ + + + +
dict plot_phase_space.params
+
+Initial value:
1= {
+
2 "font.family": "Serif",
+
3 "font.serif": "Roman",
+
4 "text.usetex": True,
+
5 "axes.titlesize": "large",
+
6 "axes.labelsize": "large",
+
7 "xtick.labelsize": "large",
+
8 "ytick.labelsize": "large",
+
9 "legend.fontsize": "medium",
+
10}
+
+

Definition at line 18 of file plot_phase_space.py.

+ +
+
+
+
+ + + + diff --git a/docs/plot__phase__space_8py_source.html b/docs/plot__phase__space_8py_source.html index c746ef7..8bb2bfc 100644 --- a/docs/plot__phase__space_8py_source.html +++ b/docs/plot__phase__space_8py_source.html @@ -101,65 +101,88 @@ $(document).ready(function(){initNavTree('plot__phase__space_8py_source.html',''
plot_phase_space.py
-
1import matplotlib.pyplot as plt
-
2import numpy as np
-
3
-
4def main():
-
5 directories = {
-
6 "output/simulate_2_particles/no_interaction/",
-
7 "output/simulate_2_particles/with_interaction/",
-
8 }
-
9 titles = {
-
10 "particles without interaction",
-
11 "particles with interaction"
-
12 }
-
13 files = [
-
14 "particle_0_r.txt",
-
15 "particle_0_v.txt",
-
16 "particle_1_r.txt",
-
17 "particle_1_v.txt",
-
18 ]
-
19 labels = [
-
20 r"particle 1 r",
-
21 r"particle 1 v",
-
22 r"particle 2 r",
-
23 r"particle 2 v",
-
24 ]
-
25 colors = [
-
26 "lightskyblue",
-
27 "deepskyblue",
-
28 "salmon",
-
29 "tomato",
-
30 ]
-
31 fig1, axs1 = plt.subplots(2,1)
-
32 fig2, axs2 = plt.subplots(2,1)
-
33 for i, (dir, title) in enumerate(zip(directories, titles)):
-
34 for label, color, file in zip(labels, colors, files):
-
35 with open(dir+file) as f:
-
36 lines = f.readlines()
-
37 t = np.linspace(0, 50, len(lines))
-
38 r = np.array([list(map(float, line.strip().split(","))) for line in lines])
-
39 axs1[i].plot(t, r[:,0], label=label, color=color)
-
40 axs2[i].plot(t, r[:,2], label=label, color=color)
-
41
-
42 axs1[i].set(xlabel=r"t $(\mu s)$", ylabel = r"z $(\mu m)$")
-
43
-
44 axs1[i].legend()
-
45 axs1[i].set_title(title)
-
46
-
47 # plt.show()
-
48 fig1.savefig("../latex/images/phase_space_2_particles_x.pdf")
-
49 fig2.savefig("../latex/images/phase_space_2_particles_z.pdf")
-
50
-
51
-
52if __name__ == "__main__":
-
53 main()
+Go to the documentation of this file.
1
+
12
+
13import matplotlib.pyplot as plt
+
14import numpy as np
+
15import seaborn as sns
+
16
+
17sns.set_theme()
+
18params = {
+
19 "font.family": "Serif",
+
20 "font.serif": "Roman",
+
21 "text.usetex": True,
+
22 "axes.titlesize": "large",
+
23 "axes.labelsize": "large",
+
24 "xtick.labelsize": "large",
+
25 "ytick.labelsize": "large",
+
26 "legend.fontsize": "medium",
+
27}
+
28plt.rcParams.update(params)
+
29
+
30
+
31def main():
+
32 directories = [
+
33 "output/simulate_2_particles/no_interaction/",
+
34 "output/simulate_2_particles/with_interaction/",
+
35 ]
+
36 files = [
+
37 "particle_0",
+
38 "particle_1",
+
39 ]
+
40 labels = [r"$p_1$", r"$p_2$"]
+
41 output = [
+
42 "../latex/images/phase_space_no_interaction",
+
43 "../latex/images/phase_space_interaction",
+
44 ]
+
45 colors = [
+
46 "seagreen",
+
47 "darkred",
+
48 ]
+
49
+
50 for i, dir in enumerate(directories):
+
51 fig1, axs1 = plt.subplots(sharex=True)
+
52 fig2, axs2 = plt.subplots(sharex=True)
+
53 for j, (file, label, color) in enumerate(zip(files, labels, colors)):
+
54 r = []
+
55 v = []
+
56 with open(dir + file + "_r.txt") as f:
+
57 lines = f.readlines()
+
58 r = np.array(
+
59 [list(map(float, line.strip().split(","))) for line in lines]
+
60 )
+
61
+
62 with open(dir + file + "_v.txt") as f:
+
63 lines = f.readlines()
+
64 v = np.array(
+
65 [list(map(float, line.strip().split(","))) for line in lines]
+
66 )
+
67 axs1.plot(r[:, 0], v[:, 0], label=label, color=color)
+
68 axs1.plot(r[0,0], v[0,0], "ko")
+
69 axs2.plot(r[:, 2], v[:, 2], label=label, color=color)
+
70 axs2.plot(r[0,2], v[0,2], "ko")
+
71 axs1.axis("equal")
+
72 axs2.axis("equal")
+
73
+
74 axs1.set(xlabel=r"$x (\mu m)$", ylabel=r"$v_x (\mu m / \mu s)$")
+
75 axs2.set(xlabel=r"$z (\mu m)$", ylabel=r"$v_z (\mu m / \mu s)$")
+
76
+
77 axs1.legend(loc="upper right")
+
78 axs2.legend(loc="upper right")
+
79
+
80 fig1.savefig(f"{output[i]}_x.pdf", bbox_inches="tight")
+
81 fig2.savefig(f"{output[i]}_z.pdf", bbox_inches="tight")
+
82 # plt.show()
+
83
+
84
+
85if __name__ == "__main__":
+
86 main()
diff --git a/docs/plot__relative__error_8py.html b/docs/plot__relative__error_8py.html new file mode 100644 index 0000000..e0a886d --- /dev/null +++ b/docs/plot__relative__error_8py.html @@ -0,0 +1,189 @@ + + + + + + + +Penning Trap Simulation: src/scripts/plot_relative_error.py File Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
plot_relative_error.py File Reference
+
+
+ +

Plot the relative error for forward Euler and RK4 method. +More...

+ +

Go to the source code of this file.

+ + + + +

+Functions

def plot_relative_error.main ()
 
+ + + +

+Variables

dict plot_relative_error.params
 
+

Detailed Description

+

Plot the relative error for forward Euler and RK4 method.

+
Author
Cory Alexander Balaton (coryab)
+
+Janita Ovidie Sandtrøen Willumsen (janitaws)
+
Version
1.0
+
Bug:
No known bugs
+ +

Definition in file plot_relative_error.py.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
def plot_relative_error.main ()
+
+ +

Definition at line 29 of file plot_relative_error.py.

+ +
+
+

Variable Documentation

+ +

◆ params

+ +
+
+ + + + +
dict plot_relative_error.params
+
+Initial value:
1= {
+
2 "font.family": "Serif",
+
3 "font.serif": "Roman",
+
4 "text.usetex": True,
+
5 "axes.titlesize": "large",
+
6 "axes.labelsize": "large",
+
7 "xtick.labelsize": "large",
+
8 "ytick.labelsize": "large",
+
9 "legend.fontsize": "medium"
+
10}
+
+

Definition at line 17 of file plot_relative_error.py.

+ +
+
+
+
+ + + + diff --git a/docs/plot__relative__error_8py_source.html b/docs/plot__relative__error_8py_source.html index 8628d31..f37bb78 100644 --- a/docs/plot__relative__error_8py_source.html +++ b/docs/plot__relative__error_8py_source.html @@ -101,63 +101,86 @@ $(document).ready(function(){initNavTree('plot__relative__error_8py_source.html'
plot_relative_error.py
-
1import matplotlib.pyplot as plt
-
2import numpy as np
-
3
-
4def main():
-
5 directories = [
-
6 "output/relative_error/RK4/",
-
7 "output/relative_error/euler/",
-
8 ]
-
9 files = [
-
10 "4000_steps.txt",
-
11 "8000_steps.txt",
-
12 "16000_steps.txt",
-
13 "32000_steps.txt",
-
14 ]
-
15 labels = [
-
16 r"4000 steps",
-
17 r"8000 steps",
-
18 r"16000 steps",
-
19 r"32000 steps",
-
20 ]
-
21 titles = [
-
22 "Relative error for the RK4 method",
-
23 "Relative error for the forward Euler method"
-
24 ]
-
25 methods = [
-
26 "rk4",
-
27 "euler"
-
28 ]
-
29 fig1, axs1 = plt.subplots(2,1)
-
30 for i, (dir, title) in enumerate(list(zip(directories, titles))):
-
31 max_err = []
-
32 for label, file in zip(labels, files):
-
33 with open(dir+file) as f:
-
34 lines = f.readlines()
-
35 t = np.linspace(0, 50, len(lines))
-
36 r = np.array([float(line.strip()) for line in lines])
-
37 max_err.append(max(r))
-
38 axs1[i].plot(t, r, label=label)
-
39
-
40 axs1[i].set(xlabel=r"t $(\mu s)$", ylabel = r"relative_error $(\mu m)$")
-
41 axs1[i].legend()
-
42 axs1[i].set_title(title)
-
43
-
44 conv_rate = 1/3 * sum([np.log2(max_err[i+1]/max_err[i])/np.log2(.5) for i in range(3)])
-
45 print(f"{methods[i]}: {conv_rate}")
-
46
-
47 fig1.savefig("../latex/images/phase_space_2_particles_x.pdf")
-
48
-
49
-
50if __name__ == "__main__":
-
51 main()
+Go to the documentation of this file.
1
+
11
+
12import matplotlib.pyplot as plt
+
13import numpy as np
+
14import seaborn as sns
+
15
+
16sns.set_theme()
+
17params = {
+
18 "font.family": "Serif",
+
19 "font.serif": "Roman",
+
20 "text.usetex": True,
+
21 "axes.titlesize": "large",
+
22 "axes.labelsize": "large",
+
23 "xtick.labelsize": "large",
+
24 "ytick.labelsize": "large",
+
25 "legend.fontsize": "medium"
+
26}
+
27plt.rcParams.update(params)
+
28
+
29def main():
+
30 directories = [
+
31 "output/relative_error/RK4/",
+
32 "output/relative_error/euler/",
+
33 ]
+
34 files = [
+
35 "4000_steps.txt",
+
36 "8000_steps.txt",
+
37 "16000_steps.txt",
+
38 "32000_steps.txt",
+
39 ]
+
40 labels = [
+
41 r"$n_1$",
+
42 r"$n_2$",
+
43 r"$n_3$",
+
44 r"$n_4$",
+
45 ]
+
46 titles = [
+
47 "(a)",
+
48 "(b)"
+
49 ]
+
50 methods = [
+
51 "rk4",
+
52 "euler"
+
53 ]
+
54 colors = [
+
55 "seagreen",
+
56 "darkred",
+
57 "darkgoldenrod",
+
58 "steelblue"
+
59 ]
+
60 fig1, axs1 = plt.subplots(2,1)
+
61 for i, (dir, title) in enumerate(list(zip(directories, titles))):
+
62 max_err = []
+
63 for label, file, color in zip(labels, files, colors):
+
64 with open(dir+file) as f:
+
65 lines = f.readlines()
+
66 t = np.linspace(0, 50, len(lines))
+
67 r = np.array([float(line.strip()) for line in lines])
+
68 max_err.append(max(r))
+
69 axs1[i].plot(t, r, label=label, color=color)
+
70
+
71 axs1[i].set(xlabel=r"t $(\mu s)$", ylabel = r"relative error $(\mu m)$")
+
72 axs1[i].legend()
+
73 axs1[i].set_title(title)
+
74
+
75 conv_rate = 1/3 * sum([np.log2(max_err[i+1]/max_err[i])/np.log2(.5) for i in range(3)])
+
76 print(f"{methods[i]}: {conv_rate}")
+
77
+
78 plt.tight_layout()
+
79 fig1.savefig("../latex/images/relative_error.pdf", bbox_inches="tight")
+
80
+
81
+
82if __name__ == "__main__":
+
83 main()
diff --git a/docs/plot__single__particle_8py.html b/docs/plot__single__particle_8py.html new file mode 100644 index 0000000..52b2617 --- /dev/null +++ b/docs/plot__single__particle_8py.html @@ -0,0 +1,211 @@ + + + + + + + +Penning Trap Simulation: src/scripts/plot_single_particle.py File Reference + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Penning Trap Simulation +
+
Simulate particle behavior inside a Penning Trap
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
plot_single_particle.py File Reference
+
+
+ +

Plot the approximation and analytical solution for one particle in the z axis. +More...

+ +

Go to the source code of this file.

+ + + + + + +

+Functions

def plot_single_particle.z (t)
 
def plot_single_particle.main ()
 
+ + + +

+Variables

dict plot_single_particle.params
 
+

Detailed Description

+

Plot the approximation and analytical solution for one particle in the z axis.

+
Author
Cory Alexander Balaton (coryab)
+
+Janita Ovidie Sandtrøen Willumsen (janitaws)
+
Version
1.0
+
Bug:
No known bugs
+ +

Definition in file plot_single_particle.py.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
def plot_single_particle.main ()
+
+ +

Definition at line 37 of file plot_single_particle.py.

+ +
+
+ +

◆ z()

+ +
+
+ + + + + + + + +
def plot_single_particle.z ( t)
+
+ +

Definition at line 30 of file plot_single_particle.py.

+ +
+
+

Variable Documentation

+ +

◆ params

+ +
+
+ + + + +
dict plot_single_particle.params
+
+Initial value:
1= {
+
2 "font.family": "Serif",
+
3 "font.serif": "Roman",
+
4 "text.usetex": True,
+
5 "axes.titlesize": "large",
+
6 "axes.labelsize": "large",
+
7 "xtick.labelsize": "large",
+
8 "ytick.labelsize": "large",
+
9 "legend.fontsize": "medium"
+
10}
+
+

Definition at line 18 of file plot_single_particle.py.

+ +
+
+
+
+ + + + diff --git a/docs/plot__single__particle_8py_source.html b/docs/plot__single__particle_8py_source.html index d5eff34..376227f 100644 --- a/docs/plot__single__particle_8py_source.html +++ b/docs/plot__single__particle_8py_source.html @@ -101,42 +101,61 @@ $(document).ready(function(){initNavTree('plot__single__particle_8py_source.html
plot_single_particle.py
-
1import matplotlib.pyplot as plt
-
2import numpy as np
-
3
-
4def z(t):
-
5 V_0 = 25.*9.64852558 * 10**4
-
6 m = 40.
-
7 d = 500.
-
8 w_z = np.sqrt((2.*V_0)/(m*d*d))
-
9 return 20.*np.cos(w_z*t)
-
10
-
11def main():
-
12 filename = "output/simulate_single_particle/particle_0_r.txt"
-
13 r = t = []
-
14 with open(filename) as f:
-
15 lines = f.readlines()
-
16 t = np.linspace(0, 50, len(lines))
-
17 r = np.array([list(map(float, line.strip().split(","))) for line in lines])
-
18
-
19 plt.plot(t, r[:, 2], label="approximation")
-
20 plt.plot(t, z(t), label="analytical")
-
21 plt.xlabel(r"time $(\mu s)$")
-
22 plt.ylabel(r"z $(\mu m)$")
-
23 plt.title(r"Movement of a single particle in the x direction")
-
24 plt.legend()
-
25 # plt.savefig("../latex/images/single_particle.pdf")
-
26 plt.show()
-
27
-
28
-
29if __name__ == "__main__":
-
30 main()
+Go to the documentation of this file.
1
+
12
+
13import matplotlib.pyplot as plt
+
14import numpy as np
+
15import seaborn as sns
+
16
+
17sns.set_theme()
+
18params = {
+
19 "font.family": "Serif",
+
20 "font.serif": "Roman",
+
21 "text.usetex": True,
+
22 "axes.titlesize": "large",
+
23 "axes.labelsize": "large",
+
24 "xtick.labelsize": "large",
+
25 "ytick.labelsize": "large",
+
26 "legend.fontsize": "medium"
+
27}
+
28plt.rcParams.update(params)
+
29
+
30def z(t):
+
31 V_0 = 25.*9.64852558 * 10**4
+
32 m = 40.
+
33 d = 500.
+
34 w_z = np.sqrt((2.*V_0)/(m*d*d))
+
35 return 20.*np.cos(w_z*t)
+
36
+
37def main():
+
38 filename = "output/simulate_single_particle/particle_0_r.txt"
+
39 r = t = []
+
40 with open(filename) as f:
+
41 lines = f.readlines()
+
42 t = np.linspace(0, 50, len(lines))
+
43 r = np.array([list(map(float, line.strip().split(","))) for line in lines])
+
44
+
45 fig, ax = plt.subplots()
+
46 ax.plot(t, r[:, 2], label="approximation", color="mediumseagreen")
+
47 ax.plot(t, z(t), label="analytical", color="black", linestyle="dotted")
+
48 ax.set_xlabel(r"t $(\mu s)$")
+
49 ax.set_xlim((-5, 55))
+
50 ax.set_ylabel(r"z $(\mu m)$")
+
51 ax.set_ylim((-25, 25))
+
52 # plt.title(r"Movement of a single particle in the x direction")
+
53 ax.legend(loc="upper right")
+
54 fig.savefig("../latex/images/single_particle.pdf", bbox_inches="tight")
+
55 # plt.show()
+
56
+
57
+
58if __name__ == "__main__":
+
59 main()
diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 6effb5c..737ed4a 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -2,5 +2,6 @@ var searchData= [ ['add_5fparticle_0',['add_particle',['../classPenningTrap.html#a6e9776ff5b149f01080800716455d7c8',1,'PenningTrap']]], ['analytical_5fsolution_5fparticle_5f1_1',['analytical_solution_particle_1',['../main_8cpp.html#a8d92fb2ad085065fbd14718647551657',1,'main.cpp']]], - ['assert_2',['ASSERT',['../utils_8hpp.html#a73d4f21ad937dbc50a0c0538c78fd4f9',1,'utils.hpp']]] + ['animate_5f100_5fparticles_2epy_2',['animate_100_particles.py',['../animate__100__particles_8py.html',1,'']]], + ['assert_3',['ASSERT',['../utils_8hpp.html#a73d4f21ad937dbc50a0c0538c78fd4f9',1,'utils.hpp']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index d2c560d..70494b2 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -2,17 +2,23 @@ var searchData= [ ['p1_0',['p1',['../main_8cpp.html#a2efa69bb9d93049429ce4637075f1d30',1,'main.cpp']]], ['p2_1',['p2',['../main_8cpp.html#ac70b61df65f4336f57ea9b4c35250df7',1,'main.cpp']]], - ['particle_2',['Particle',['../classParticle.html#af1d7535fb8311eaa77d2b7b345882ec4',1,'Particle::Particle()'],['../classParticle.html',1,'Particle']]], + ['particle_2',['Particle',['../classParticle.html',1,'Particle'],['../classParticle.html#af1d7535fb8311eaa77d2b7b345882ec4',1,'Particle::Particle()']]], ['particle_2ecpp_3',['Particle.cpp',['../Particle_8cpp.html',1,'']]], ['particle_2ehpp_4',['Particle.hpp',['../Particle_8hpp.html',1,'']]], ['particles_5',['particles',['../classPenningTrap.html#a0112525d9e79a472e761f8ef402a339f',1,'PenningTrap']]], ['penning_20trap_20simulation_6',['Penning trap simulation',['../index.html',1,'']]], - ['penningtrap_7',['PenningTrap',['../classPenningTrap.html#a830be1b8cbf59664e060b6edbeaa302f',1,'PenningTrap::PenningTrap(uint i, double B_0=T, double V_0=(25. *V)/1000., double d=500., double t=0.)'],['../classPenningTrap.html#addc96789dcfec07b75156e19fee82f4f',1,'PenningTrap::PenningTrap(std::vector< Particle > particles, double B_0=T, double V_0=(25. *V)/1000., double d=500., double t=0.)'],['../classPenningTrap.html#a5b6c6d4636f3a6e279ccde59d4a345e8',1,'PenningTrap::PenningTrap(double B_0=T, double V_0=(25. *V)/1000., double d=500., double t=0.)'],['../classParticle.html#aa797d319549dc2a0beb06cdbfd430232',1,'Particle::PenningTrap()'],['../classPenningTrap.html',1,'PenningTrap']]], + ['penningtrap_7',['PenningTrap',['../classPenningTrap.html#addc96789dcfec07b75156e19fee82f4f',1,'PenningTrap::PenningTrap()'],['../classPenningTrap.html',1,'PenningTrap'],['../classPenningTrap.html#a830be1b8cbf59664e060b6edbeaa302f',1,'PenningTrap::PenningTrap(uint i, double B_0=T, double V_0=(25. *V)/1000., double d=500., double t=0.)'],['../classPenningTrap.html#a5b6c6d4636f3a6e279ccde59d4a345e8',1,'PenningTrap::PenningTrap(double B_0=T, double V_0=(25. *V)/1000., double d=500., double t=0.)'],['../classParticle.html#aa797d319549dc2a0beb06cdbfd430232',1,'Particle::PenningTrap()']]], ['penningtrap_2ecpp_8',['PenningTrap.cpp',['../PenningTrap_8cpp.html',1,'']]], ['penningtrap_2ehpp_9',['PenningTrap.hpp',['../PenningTrap_8hpp.html',1,'']]], ['penningtraptest_10',['PenningTrapTest',['../classPenningTrap.html#a869f032f37d0569ed16f224b4c4356ae',1,'PenningTrap::PenningTrapTest()'],['../classPenningTrapTest.html',1,'PenningTrapTest']]], ['perturbation_11',['perturbation',['../classPenningTrap.html#ae915f6ad0eef1fb46530e836b6e071e5',1,'PenningTrap']]], - ['potential_5fresonance_5fnarrow_5fsweep_12',['potential_resonance_narrow_sweep',['../frequency__narrow__sweeps__long_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea',1,'potential_resonance_narrow_sweep(): frequency_narrow_sweeps_long.cpp'],['../main_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea',1,'potential_resonance_narrow_sweep(): main.cpp']]], - ['potential_5fresonance_5fnarrow_5fsweep_5finteraction_13',['potential_resonance_narrow_sweep_interaction',['../frequency__narrow__sweeps__long_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb',1,'potential_resonance_narrow_sweep_interaction(): frequency_narrow_sweeps_long.cpp'],['../main_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb',1,'potential_resonance_narrow_sweep_interaction(): main.cpp']]], - ['potential_5fresonance_5fwide_5fsweep_14',['potential_resonance_wide_sweep',['../main_8cpp.html#a6b38b477c18e2f4268779751a88edab1',1,'main.cpp']]] + ['plot_5f2_5fparticles_2epy_12',['plot_2_particles.py',['../plot__2__particles_8py.html',1,'']]], + ['plot_5f3d_2epy_13',['plot_3d.py',['../plot__3d_8py.html',1,'']]], + ['plot_5fparticles_5fleft_2epy_14',['plot_particles_left.py',['../plot__particles__left_8py.html',1,'']]], + ['plot_5fphase_5fspace_2epy_15',['plot_phase_space.py',['../plot__phase__space_8py.html',1,'']]], + ['plot_5frelative_5ferror_2epy_16',['plot_relative_error.py',['../plot__relative__error_8py.html',1,'']]], + ['plot_5fsingle_5fparticle_2epy_17',['plot_single_particle.py',['../plot__single__particle_8py.html',1,'']]], + ['potential_5fresonance_5fnarrow_5fsweep_18',['potential_resonance_narrow_sweep',['../frequency__narrow__sweeps__long_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea',1,'potential_resonance_narrow_sweep(): frequency_narrow_sweeps_long.cpp'],['../main_8cpp.html#a33d9b1c76c3c80902f89a58b1a6d96ea',1,'potential_resonance_narrow_sweep(): main.cpp']]], + ['potential_5fresonance_5fnarrow_5fsweep_5finteraction_19',['potential_resonance_narrow_sweep_interaction',['../frequency__narrow__sweeps__long_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb',1,'potential_resonance_narrow_sweep_interaction(): frequency_narrow_sweeps_long.cpp'],['../main_8cpp.html#ac1816f70ec612edc27848ef7f0875fdb',1,'potential_resonance_narrow_sweep_interaction(): main.cpp']]], + ['potential_5fresonance_5fwide_5fsweep_20',['potential_resonance_wide_sweep',['../main_8cpp.html#a6b38b477c18e2f4268779751a88edab1',1,'main.cpp']]] ]; diff --git a/docs/search/files_0.js b/docs/search/files_0.js index 0648f09..bb49631 100644 --- a/docs/search/files_0.js +++ b/docs/search/files_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['constants_2ehpp_0',['constants.hpp',['../constants_8hpp.html',1,'']]] + ['animate_5f100_5fparticles_2epy_0',['animate_100_particles.py',['../animate__100__particles_8py.html',1,'']]] ]; diff --git a/docs/search/files_1.js b/docs/search/files_1.js index 9000051..0648f09 100644 --- a/docs/search/files_1.js +++ b/docs/search/files_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['frequency_5fnarrow_5fsweeps_5flong_2ecpp_0',['frequency_narrow_sweeps_long.cpp',['../frequency__narrow__sweeps__long_8cpp.html',1,'']]] + ['constants_2ehpp_0',['constants.hpp',['../constants_8hpp.html',1,'']]] ]; diff --git a/docs/search/files_2.js b/docs/search/files_2.js index 695b4fd..9000051 100644 --- a/docs/search/files_2.js +++ b/docs/search/files_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['main_2ecpp_0',['main.cpp',['../main_8cpp.html',1,'']]] + ['frequency_5fnarrow_5fsweeps_5flong_2ecpp_0',['frequency_narrow_sweeps_long.cpp',['../frequency__narrow__sweeps__long_8cpp.html',1,'']]] ]; diff --git a/docs/search/files_3.js b/docs/search/files_3.js index 8fae0fa..695b4fd 100644 --- a/docs/search/files_3.js +++ b/docs/search/files_3.js @@ -1,7 +1,4 @@ var searchData= [ - ['particle_2ecpp_0',['Particle.cpp',['../Particle_8cpp.html',1,'']]], - ['particle_2ehpp_1',['Particle.hpp',['../Particle_8hpp.html',1,'']]], - ['penningtrap_2ecpp_2',['PenningTrap.cpp',['../PenningTrap_8cpp.html',1,'']]], - ['penningtrap_2ehpp_3',['PenningTrap.hpp',['../PenningTrap_8hpp.html',1,'']]] + ['main_2ecpp_0',['main.cpp',['../main_8cpp.html',1,'']]] ]; diff --git a/docs/search/files_4.js b/docs/search/files_4.js index 5e3fea9..a3c3ac1 100644 --- a/docs/search/files_4.js +++ b/docs/search/files_4.js @@ -1,5 +1,13 @@ var searchData= [ - ['test_5fsuite_2ecpp_0',['test_suite.cpp',['../test__suite_8cpp.html',1,'']]], - ['typedefs_2ehpp_1',['typedefs.hpp',['../typedefs_8hpp.html',1,'']]] + ['particle_2ecpp_0',['Particle.cpp',['../Particle_8cpp.html',1,'']]], + ['particle_2ehpp_1',['Particle.hpp',['../Particle_8hpp.html',1,'']]], + ['penningtrap_2ecpp_2',['PenningTrap.cpp',['../PenningTrap_8cpp.html',1,'']]], + ['penningtrap_2ehpp_3',['PenningTrap.hpp',['../PenningTrap_8hpp.html',1,'']]], + ['plot_5f2_5fparticles_2epy_4',['plot_2_particles.py',['../plot__2__particles_8py.html',1,'']]], + ['plot_5f3d_2epy_5',['plot_3d.py',['../plot__3d_8py.html',1,'']]], + ['plot_5fparticles_5fleft_2epy_6',['plot_particles_left.py',['../plot__particles__left_8py.html',1,'']]], + ['plot_5fphase_5fspace_2epy_7',['plot_phase_space.py',['../plot__phase__space_8py.html',1,'']]], + ['plot_5frelative_5ferror_2epy_8',['plot_relative_error.py',['../plot__relative__error_8py.html',1,'']]], + ['plot_5fsingle_5fparticle_2epy_9',['plot_single_particle.py',['../plot__single__particle_8py.html',1,'']]] ]; diff --git a/docs/search/files_5.js b/docs/search/files_5.js index cd921db..5e3fea9 100644 --- a/docs/search/files_5.js +++ b/docs/search/files_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['utils_2ecpp_0',['utils.cpp',['../utils_8cpp.html',1,'']]], - ['utils_2ehpp_1',['utils.hpp',['../utils_8hpp.html',1,'']]] + ['test_5fsuite_2ecpp_0',['test_suite.cpp',['../test__suite_8cpp.html',1,'']]], + ['typedefs_2ehpp_1',['typedefs.hpp',['../typedefs_8hpp.html',1,'']]] ]; diff --git a/docs/search/files_6.js b/docs/search/files_6.js new file mode 100644 index 0000000..cd921db --- /dev/null +++ b/docs/search/files_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['utils_2ecpp_0',['utils.cpp',['../utils_8cpp.html',1,'']]], + ['utils_2ehpp_1',['utils.hpp',['../utils_8hpp.html',1,'']]] +]; diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js new file mode 100644 index 0000000..0f7354f --- /dev/null +++ b/docs/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['plot_5f3d_0',['plot_3d',['../namespaceplot__3d.html',1,'']]] +]; diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index dafc861..bd9004d 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -2,7 +2,7 @@ var indexSectionsWithContent = { 0: "_abcdefkmpqrstuvw", 1: "ps", - 2: "cfmptu", + 2: "acfmptu", 3: "acefmprstvw", 4: "bdkmpqrtv", 5: "sv",