[关闭]
@wudawufanfan 2016-12-04T13:45:10.000000Z 字数 5197 阅读 1091

CHAOTIC TUMBLING OF HYPERION

未分类


It turns out that all of the moons in the solar system except one exhibit such synchronism.The exception is Hyperion.
The reason for Hyperion's different behavior is its very unusual shape,together with its highly elliptical orbit.150603130447_1_540x360.jpg
while other moons are approximately spherical,Hyperion is shaped more like an egg.
下载.jpg
The simulation of the motion of Hyperion.
优酷录屏2016-12-3-20-33-38.gif
To simulate the motion of Hyperion we first make a few simplifying assumptions.Our objective is simply to show that the motion of such an irregularly shaped moon can be chaotic.
IMG_20161203_222037_HDR.jpg
We have two particles,m1 and m2 connected by a massless rod in orbit around a massive object.
There are two forces acting on each of the masses,the force of gravity from Saturn and the force from the rod.Since we are interested in the motion about the center of mass.The gravitational force on m1 can be written as

the torque on m1 is then

with a similar expression for.The total torque on the moon is


As for unit,we set
the unit of velicity is the radius of earth
the unit of length is the distance from earth to the sun
the unit of time is the orbital period of the earth around the sun.

  1. from math import pi,sqrt,sin,cos
  2. import matplotlib.pyplot as plt
  3. def hyperion(theta0):
  4. # set the mass of saturn
  5. gm=4*pi**2
  6. # initialize position of center of mass, angle, angle velocity
  7. xc=[1]
  8. yc=[0]
  9. theta=[theta0]
  10. avelo=[0]
  11. vxc=[0]
  12. vyc=[2*pi]
  13. # get the trails
  14. dt=0.0001
  15. t=[0]
  16. while t[-1]<=15:
  17. r=sqrt((xc[-1])**2+(yc[-1])**2)
  18. vxc_new=vxc[-1]-gm*xc[-1]*dt/r**3
  19. vyc_new=vyc[-1]-gm*yc[-1]*dt/r**3
  20. avelo_new=avelo[-1]-12*(pi**2)*(xc[-1]*sin(theta[-1])-yc[-1]*cos(theta[-1]))*(xc[-1]*cos(theta[-1])+yc[-1]*sin(theta[-1]))*dt/r**5
  21. vxc.append(vxc_new)
  22. vyc.append(vyc_new)
  23. avelo.append(avelo_new)
  24. xc.append(xc[-1]+vxc[-1]*dt)
  25. yc.append(yc[-1]+vyc[-1]*dt)
  26. theta_new=theta[-1]+avelo[-1]*dt
  27. if theta_new<-pi:
  28. theta_new+=2*pi
  29. if theta_new>pi:
  30. theta_new-=2*pi
  31. theta.append(theta_new)
  32. t.append(t[-1]+dt)
  33. return theta,t
  34. t=hyperion(0)[1]
  35. the1=hyperion(0)[0]
  36. the2=hyperion(0.01)[0]
  37. dthe=[]
  38. plt.plot(t,the1)
  39. plt.title(' theta vs time')
  40. plt.xlabel('time(yr)')
  41. plt.ylabel('theta(radians)')
  42. plt.xlim(0,15)
  43. plt.show()

hype_thw_cicular.pngthe initial velocity is 2π
QQ截图20161203215117.jpgthe initial velocity is 5

We have therefore calculated the behavior of our model Hyperion for two slightly different initial conditions.

and give a function of time

  1. from math import pi,sqrt,sin,cos
  2. import matplotlib.pyplot as plt
  3. def hyperion(theta0):
  4. # set the mass of saturn
  5. gm=4*pi**2
  6. # initialize position of center of mass, angle, angle velocity
  7. xc=[1]
  8. yc=[0]
  9. theta=[theta0]
  10. avelo=[0]
  11. vxc=[0]
  12. vyc=[5]
  13. # get the trails
  14. dt=0.0001
  15. t=[0]
  16. while t[-1]<=15:
  17. r=sqrt((xc[-1])**2+(yc[-1])**2)
  18. vxc_new=vxc[-1]-gm*xc[-1]*dt/r**3
  19. vyc_new=vyc[-1]-gm*yc[-1]*dt/r**3
  20. avelo_new=avelo[-1]-12*(pi**2)*(xc[-1]*sin(theta[-1])-yc[-1]*cos(theta[-1]))*(xc[-1]*cos(theta[-1])+yc[-1]*sin(theta[-1]))*dt/r**5
  21. vxc.append(vxc_new)
  22. vyc.append(vyc_new)
  23. avelo.append(avelo_new)
  24. xc.append(xc[-1]+vxc[-1]*dt)
  25. yc.append(yc[-1]+vyc[-1]*dt)
  26. theta_new=theta[-1]+avelo[-1]*dt
  27. theta.append(theta_new)
  28. t.append(t[-1]+dt)
  29. return theta,t
  30. t=hyperion(0)[1]
  31. the1=hyperion(0)[0]
  32. the2=hyperion(0.01)[0]
  33. dthe=[]
  34. for i in range(len(the1)):
  35. dthe.append(abs(the2[i]-the1[i]))
  36. plt.plot(t,dthe)
  37. plt.semilogy(t,dthe)
  38. plt.title('delta theta vs time')
  39. plt.xlabel('time(yr)')
  40. plt.ylabel('dtheta(radians)')
  41. plt.xlim(0,15)
  42. plt.show()

QQ截图20161203000140.jpg
加上对角的束缚()就是这样的

  1. from math import pi,sqrt,sin,cos
  2. import matplotlib.pyplot as plt
  3. def hyperion(theta0):
  4. # set the mass of saturn
  5. gm=4*pi**2
  6. # initialize position of center of mass, angle, angle velocity
  7. xc=[1]
  8. yc=[0]
  9. theta=[theta0]
  10. avelo=[0]
  11. vxc=[0]
  12. vyc=[5]
  13. # get the trails
  14. dt=0.0001
  15. t=[0]
  16. while t[-1]<=15:
  17. r=sqrt((xc[-1])**2+(yc[-1])**2)
  18. vxc_new=vxc[-1]-gm*xc[-1]*dt/r**3
  19. vyc_new=vyc[-1]-gm*yc[-1]*dt/r**3
  20. avelo_new=avelo[-1]-12*(pi**2)*(xc[-1]*sin(theta[-1])-yc[-1]*cos(theta[-1]))*(xc[-1]*cos(theta[-1])+yc[-1]*sin(theta[-1]))*dt/r**5
  21. vxc.append(vxc_new)
  22. vyc.append(vyc_new)
  23. avelo.append(avelo_new)
  24. xc.append(xc[-1]+vxc[-1]*dt)
  25. yc.append(yc[-1]+vyc[-1]*dt)
  26. theta_new=theta[-1]+avelo[-1]*dt
  27. theta.append(theta_new)
  28. t.append(t[-1]+dt)
  29. return theta,t
  30. t=hyperion(0)[1]
  31. the1=hyperion(0)[0]
  32. the2=hyperion(0.01)[0]
  33. dthe=[]
  34. for i in range(len(the1)):
  35. dthe_new=abs(abs(the2[i]-the1[i]))
  36. while dthe_new>pi:
  37. dthe_new-=2*pi
  38. while dthe_new<-pi:
  39. dthe_new+=2*pi
  40. dthe.append(dthe_new)
  41. plt.plot(t,dthe)
  42. plt.semilogy(t,dthe)
  43. plt.title('delta theta vs time')
  44. plt.xlabel('time(yr)')
  45. plt.ylabel('dtheta(radians)')
  46. plt.xlim(0,15)
  47. plt.show()

hype_dis.png
        for both circular and elliptical orbits


here we suppose
while   

  

and if initial veloxity is , and then eccentricity e=0,and the Lyapunov exponent is zero.

Now I prepare to choose different initial velocity to change the eccentricity to see how the Lyapunov exponent change.
QQ截图20161204001954.jpg
QQ截图20161204003503.jpg
QQ截图20161204002200.jpg
QQ截图20161204003049.jpg
QQ截图20161204003341.jpg
QQ截图20161204003217.jpg
QQ截图20161204002329.jpgQQ截图20161204004103.jpg
QQ截图20161204003851.jpg
QQ截图20161204002706.jpg
QQ截图20161204003859.jpg
QQ截图20161204002518.jpg

clearly,when it is not ellipse,there is no chaos.

our model for Hyperion is,as we have cautioned,a highly simplified version of the real thing,Our goal was to try to understand the types of motion that are possible,and the results clearly show that such a moon can tumble chaotically.
images.jpg

Haumea.gif

A_Moon_over_Pluto_(Close_up).gif

The dispersion of the distance and eccentricity with deviation angle.
Asteroid_proper_elements_i_vs_e.png
Main_belt_i_vs_a.png

Thanks

Wikipedia
WU yuqiao's partial codes

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注