[关闭]
@2014301020054 2016-12-05T14:01:52.000000Z 字数 6822 阅读 477

Exercise_11: Chaotic Tumbling of Hyperion

python physics 2014301020054 陈佩卓


Abstract

We mentioned in the previous section that the motion of asteroids located near the Kirwood gaps is believed to be chaotic. Unfortunately, we were not able to demonstrate this explicitly; to do so would require a simulation of the motion for several million years or longer. Such a simulation is very involved (don't try this at home) and best left for a professional...


Background

The Basic Information of Hyperion:

Hyperion, also known as Saturn VII (7), is a moon of Saturn discovered by William Cranch Bond, George Phillips Bond and William Lassell in 1848. It is distinguished by its irregular shape, its chaotic rotation, and its unexplained sponge-like appearance. It was the first non-round moon to be discovered.
The moon is named after Hyperion, the Titan god of watchfulness and observation – the elder brother of Cronus, the Greek equivalent of Saturn – in Greek mythology. It is also designated Saturn VII. The adjectival form of the name is Hyperionian.
Hyperion's discovery came shortly after John Herschel had suggested names for the seven previously-known satellites of Saturn in his 1847 publication Results of Astronomical Observations made at the Cape of Good Hope. William Lassell, who saw Hyperion two days after William Bond, had already endorsed Herschel's naming scheme and suggested the name Hyperion in accordance with it. He also beat Bond to publication.

Analysis of The Motion of Hyperion:

There are two forces acting on each of the masses, the force of the gravity from Saturn and the force from the rod. Since we are interested in the motion about the center of mass, the force from the rod does not contribute. The gravitational force on m1 can be written as:

where is the mass of Saturn, is the distance from Saturn to , and are unit vectors in the and directions. The coordinates of the center of mass are , so that is the vector from the center of mass to . The torque on is then

with a similar expression for . The total torque on the moon is just and this is related to the time derivative of by:


where is the moment of inertia. Putting this all together yields, after some algebra,

where is the distance from the center fo mass to Saturn.


Main Body

Problem4.19

Study the behavior of our model for Hyperion for different initial conditions. Estimate the Lyapunov exponent from calculations of , such as those shown in Figure4.19. Examine how this exponent varies as a function of the eccentricity of the orbit.

Problem4.20

Codes:

  1. import math
  2. import matplotlib.pyplot as plt
  3. GM=4*(math.pi**2)
  4. class precession:
  5. def __init__(self,e=0.5,time=9,dt=0.0001,vcoefficient=1,beta=2,alpha=0,intial_w=0,intial_sita=0):
  6. self.intial_sita=intial_sita
  7. self.alpha=alpha
  8. self.beta=beta
  9. self.vcoefficient=vcoefficient
  10. self.e=e
  11. self.a=1/(1+e)
  12. self.x0=self.a*(1+e)
  13. self.y0=0
  14. self.vx0=0
  15. self.vy0=self.vcoefficient*math.sqrt((GM*(1-e))/(self.a*(1+e)))
  16. self.X=[self.x0]
  17. self.Y=[self.y0]
  18. self.Vx=[self.vx0]
  19. self.Vy=[self.vy0]
  20. self.w=[intial_w]
  21. self.sita=[intial_sita]
  22. self.T=[0]
  23. self.dt=dt
  24. self.time=time
  25. self.ThetaPrecession=[]
  26. self.TimePrecession=[]
  27. def calculate_reset(self):
  28. while self.T[-1]<self.time:
  29. r=math.sqrt(self.X[-1]**2+self.Y[-1]**2)
  30. newVx=self.Vx[-1]-(GM*(1+self.alpha/r**2)*self.X[-1]/r**(1+self.beta))*self.dt
  31. newX=self.X[-1]+newVx*self.dt
  32. newVy=self.Vy[-1]-(GM*(1+self.alpha/r**2)*self.Y[-1]/r**(1+self.beta))*self.dt
  33. newY=self.Y[-1]+newVy*self.dt
  34. newW=self.w[-1]-3*GM/(r**5)*(self.X[-1]*math.sin(self.sita[-1])-self.Y[-1]*math.cos(self.sita[-1]))*(self.X[-1]*math.cos(self.sita[-1])+self.Y[-1]*math.sin(self.sita[-1]))*self.dt
  35. newSita=self.dt*self.w[-1]+self.sita[-1]
  36. self.Vx.append(newVx)
  37. self.Vy.append(newVy)
  38. self.X.append(newX)
  39. self.Y.append(newY)
  40. self.w.append(newW)
  41. self.sita.append(newSita)
  42. self.T.append(self.T[-1]+self.dt)
  43. while self.sita[-1]>=1*math.pi:
  44. self.sita[-1]=self.sita[-1]-2*math.pi
  45. while self.sita[-1]<=-1*math.pi:
  46. self.sita[-1]=self.sita[-1]+2*math.pi
  47. def calculate_nonreset(self):
  48. while self.T[-1]<self.time:
  49. r=math.sqrt(self.X[-1]**2+self.Y[-1]**2)
  50. newVx=self.Vx[-1]-(GM*(1+self.alpha/r**2)*self.X[-1]/r**(1+self.beta))*self.dt
  51. newX=self.X[-1]+newVx*self.dt
  52. newVy=self.Vy[-1]-(GM*(1+self.alpha/r**2)*self.Y[-1]/r**(1+self.beta))*self.dt
  53. newY=self.Y[-1]+newVy*self.dt
  54. newW=self.w[-1]-3*GM/(r**5)*(self.X[-1]*math.sin(self.sita[-1])-self.Y[-1]*math.cos(self.sita[-1]))*(self.X[-1]*math.cos(self.sita[-1])+self.Y[-1]*math.sin(self.sita[-1]))*self.dt
  55. newSita=self.dt*self.w[-1]+self.sita[-1]
  56. self.Vx.append(newVx)
  57. self.Vy.append(newVy)
  58. self.X.append(newX)
  59. self.Y.append(newY)
  60. self.w.append(newW)
  61. self.sita.append(newSita)
  62. self.T.append(self.T[-1]+self.dt)
  63. def plot(self,slogan=''):
  64. plt.scatter(self.sita,self.w,label=slogan,s=0.1)
  65. plt.legend(loc='upper right',frameon=False,fontsize='small')
  66. plt.grid(True)
  67. #plt.title('Phase Plot(Elleptical Orbit) e=0.206 $\\theta$ versus $w$')
  68. #plt.title('The Hyperion(Circular orbit) $w$ versus time')
  69. plt.title('Hyperion(Elliptical orbit) $\\omega$ versus $\\theta$')
  70. plt.title('The Hyperion(Elleptical orbit) $w$ versus time')
  71. plt.ylabel('$\\omega(radians/yr)$')
  72. plt.xlabel('$\\theta$')
  73. plt.xlabel('$\\theta(radians)$')
  74. plt.xlim(-0.6,0.6)
  75. plt.ylim(-0.6,0.6)
  76. plt.scatter(0,0)
  77. a=precession(intial_sita=0)
  78. a.calculate_nonreset()
  79. a.plot()
  80. b=precession(intial_sita=0.01)
  81. b.calculate_nonreset()
  82. c=[]
  83. for i in range (len(a.T)):
  84. c.append(abs(a.sita[i]-b.sita[i]))
  85. plt.semilogy(a.T,c)
  86. plt.title('Hyperion(Elliptical orbit) $\\Delta\\theta$ versus time')
  87. plt.ylabel('$\\Delta\\theta(radians)$')
  88. plt.xlabel('$timr(yr)$')
  89. plt.xlim(0,6)
  90. plt.ylim(0,10)

Result:

First we study the modle with the restricted.

During this time, we can study the behavior of the Circular orbit at the begining. Just like the book, we chose and plot the figure of Hyperion versus .

Then we can plot the figure of Hyperion versus as the same initial conditions.

We plot the figure that versus , with the initial conditions and .

Also we need to study the behavior of the Elliptical orbit.
First we chose and to plot the figure of Hyperion versus .

Then we can plot the figure of Hyperion versus as the same initial conditions.

We chose difference to plot the figure again.

It's different with different , even if is small.

Then we want to study the behavior of the influence of the initial conditions's influence. We plot the figure that versus as the same initial conditions.
First we can chose , and .

Now, we want to change the initial to see the difference.

Then we chose different to see the difference.


Conclusion


Acknowledgment

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