Repository navigation
Expand file tree
/
Copy pathpq_plot.py
More file actions
81 lines (65 loc) · 1.88 KB
/
Copy pathpq_plot.py
File metadata and controls
81 lines (65 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import matplotlib.pyplot as plt
import pandas as pd
# Use latex
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
# Import netCDF file
df = pd.read_parquet("./newmark_beta.parquet")
# Prepare Data to Plot
t = df['t'][:]
x = df['x'][:]
v = df['v'][:]
a = df['a'][:]
# Prepare Plot
plt.figure(figsize=(10,6), dpi=300)
plt.title(r"Newmark Beta method for Damped SHO", fontsize=16)
plt.xlabel(r'$t$', fontsize=14)
plt.ylabel(r'$x$', fontsize=14)
# Plot with Legends
plt.plot(t, x, label=r'Position')
#plt.plot(t, v, label=r'Velocity')
#plt.plot(t, a, label=r'Acceleration')
# Other options
plt.legend(fontsize=12)
plt.grid()
plt.savefig("position.png", dpi=300)
# Prepare Plot
plt.figure(figsize=(10,6), dpi=300)
plt.title(r"Newmark Beta method for Damped SHO", fontsize=16)
plt.xlabel(r'$t$', fontsize=14)
plt.ylabel(r'$v$', fontsize=14)
# Plot with Legends
#plt.plot(t, x, label=r'Position')
plt.plot(t, v, label=r'Velocity')
#plt.plot(t, a, label=r'Acceleration')
# Other options
plt.legend(fontsize=12)
plt.grid()
plt.savefig("velocity.png", dpi=300)
# Prepare Plot
plt.figure(figsize=(10,6), dpi=300)
plt.title(r"Newmark Beta method for Damped SHO", fontsize=16)
plt.xlabel(r'$t$', fontsize=14)
plt.ylabel(r'$a$', fontsize=14)
# Plot with Legends
#plt.plot(t, x, label=r'Position')
#plt.plot(t, v, label=r'Velocity')
plt.plot(t, a, label=r'Acceleration')
# Other options
plt.legend(fontsize=12)
plt.grid()
plt.savefig("acceleration.png", dpi=300)
# Prepare Plot
plt.figure(figsize=(10,6), dpi=300)
plt.title(r"Newmark Beta method for Damped SHO", fontsize=16)
plt.xlabel(r'$t$', fontsize=14)
plt.ylabel(r'$E$', fontsize=14)
# Plot with Legends
#plt.plot(t, x, label=r'Position')
#plt.plot(t, v, label=r'Velocity')
#plt.plot(t, a, label=r'Acceleration')
plt.plot(t, 0.5*(v**2) + 0.5*200*x**2, label=r'Energy')
# Other options
plt.legend(fontsize=12)
plt.grid()
plt.savefig("energy.png", dpi=300)