make leapfrog integrator as System method
This commit is contained in:
9
main.py
9
main.py
@@ -3,7 +3,6 @@
|
||||
from sys import exit as sysexit
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from lib.integrator import frogleap
|
||||
from lib.objects import Body, System
|
||||
|
||||
globals()['G'] = 6.67e-11 #Gravitational constant in SI units
|
||||
@@ -28,15 +27,15 @@ def main():
|
||||
v = np.array([v1, v2, v3])
|
||||
|
||||
bodylist = []
|
||||
for i in range(2):
|
||||
for i in range(3):
|
||||
bodylist.append(Body(m[i], q[i], v[i]))
|
||||
dyn_syst = System(bodylist)
|
||||
dyn_syst.COMShift()
|
||||
|
||||
duration, step = 100*3e7, 1e4
|
||||
#E, L = frogleap(duration, step, dyn_syst, recover_param=True)#, display=True)
|
||||
E, L = dyn_syst.hermite(duration,step, recover_param=True)#, display=True)
|
||||
|
||||
E, L = dyn_syst.leapfrog(duration, step, recover_param=True, display=True)
|
||||
#E, L = dyn_syst.hermite(duration,step, recover_param=True, display=True)
|
||||
plt.close()
|
||||
fig1 = plt.figure(figsize=(30,15))
|
||||
ax1 = fig1.add_subplot(111)
|
||||
ax1.plot(np.arange(E.shape[0])/duration, E, label=r"$E_m$")
|
||||
|
||||
Reference in New Issue
Block a user