diff --git a/lib/integrator.py b/lib/integrator.py index bd32ce2..4a53dd5 100755 --- a/lib/integrator.py +++ b/lib/integrator.py @@ -70,8 +70,10 @@ def frogleap(duration, step, dyn_syst, recover_param=False, display=False): d.on_running(q_array[:,0]-q_cm[0], q_array[:,1]-q_cm[1], step=j, label="step {0:d}/{1:d}".format(j,N)) time.sleep(1e-4) if display: - system("convert -delay 5 -loop 0 tmp/????.png tmp/temp.gif && rm tmp/?????.png") - system("convert tmp/temp.gif -fuzz 10% -layers Optimize dynsyst.gif && rm tmp/temp.gif") + try: + system("mkdir tmp") + system("convert -delay 5 -loop 0 tmp/?????.png tmp/temp.gif && rm tmp/?????.png") + system("convert tmp/temp.gif -fuzz 30% -layers Optimize plots/dynsyst.gif && rm tmp/temp.gif") if recover_param: return E, L diff --git a/main.py b/main.py index 5ce4c87..df74fe7 100755 --- a/main.py +++ b/main.py @@ -21,21 +21,23 @@ def main(): v = np.array([v1, v2, v3]) bodylist = [] - for i in range(2): + for i in range(2): # For a system of 2 objects bodylist.append(Body(m[i], q[i], v[i])) dyn_syst = System(bodylist) dyn_syst.COMShift() - duration, step = 100, 0.01 + duration, step = 50, 0.01 E, L = frogleap(duration, step, dyn_syst, recover_param=True, display=True) fig1 = plt.figure() ax1 = fig1.add_subplot(111) ax1.plot(np.arange(E.shape[0])/duration, E, label=r"$E_m$") ax1.legend() + fig1.savefig("plots/Em.png",bbox_inches="tight") fig2 = plt.figure() ax2 = fig2.add_subplot(111) ax2.plot(np.arange(L.shape[0])/duration, np.sum(L**2,axis=1), label=r"$L^2$") ax2.legend() + fig2.savefig("plots/L2.png",bbox_inches="tight") plt.show(block=True) return 0 diff --git a/plots/Em.png b/plots/Em.png new file mode 100644 index 0000000..a2ed10c Binary files /dev/null and b/plots/Em.png differ diff --git a/plots/L2.png b/plots/L2.png new file mode 100644 index 0000000..187c582 Binary files /dev/null and b/plots/L2.png differ diff --git a/plots/dynsyst.gif b/plots/dynsyst.gif new file mode 100644 index 0000000..fb3117d Binary files /dev/null and b/plots/dynsyst.gif differ