[关闭]
@zy-0815 2016-12-03T13:59:58.000000Z 字数 2613 阅读 1172

计算物理第十一次作业

计算物理


摘要

  本次作业将探究三体运动,并将其应用于对Hyperion运动的分析中,同时探究4.19及4.20相关问题

背景

  行星的卫星是在太阳系中非常常见,甚至对于土星和木星来说拥有不止一颗卫星,而土星更是有其标志性的土星环而格外美丽。
  Saturn_during_Equinox.jpg-29kB
  但在众多的卫星当中,有一颗尤为特殊。对于大多数卫星而言,像月球,都是做绕行星的规则运动,甚至对于月球来说,其自转周期和公转周期的吻合使得它永远只有一面朝向地球。可以对于Hyperion来说,这颗土星的卫星之一,其运动却如此与众不同。
  800px-Hyperion_true.jpg-98.5kB
  由于自身形状的特殊性,它只有在两个方向上可以保持稳定的旋转状态,使得这颗土星的卫星并没有一个持续不变的旋转轴线。实际上,它就像一个在轨道上运行的哑铃。
  我们可以对它进行受力分析如下:
  首先将其简化成哑铃,两端质量为,位置分别为, 受土星引力为, 轴线与x轴成角度,则:


  取质心坐标

对于有相同形式,则作用于土卫七上的总力矩为,则有下式可得:

  其中 为转动惯量。处理上式:

  其中 为土星到质心的距离

正文

主程序如下:

  1. import pylab as pl
  2. import matplotlib.pyplot as plt
  3. import math
  4. class Hyperion :
  5. def __init__(self,i=0,total_time=10, time_step=0.001, radius=1,e=0,a=1):
  6. self.x=[a*(1+e)]
  7. self.y=[0]
  8. self.vx=[0]
  9. self.vy=[2*math.pi]
  10. self.r=[radius]
  11. self.time=total_time
  12. self.dt=time_step
  13. self.beta=2
  14. self.alpha=0
  15. self.t=[0]
  16. self.theta=[0]
  17. self.w=[0]
  18. def run(self):
  19. _time=0
  20. GM=4*(math.pi**2)
  21. r=1
  22. while(_time<self.time):
  23. self.r.append(math.sqrt(pow(self.x[-1],2)+pow(self.y[-1],2)))
  24. self.vx.append(self.vx[-1]-4*pow(math.pi,2)*(1+self.alpha/pow(self.r[-1],2))*self.x[-1]/pow(self.r[-1],1+self.beta)*self.dt)
  25. self.x.append(self.x[-1]+self.vx[-1]*self.dt)
  26. self.vy.append(self.vy[-1]-4*pow(math.pi,2)*(1+self.alpha/pow(self.r[-1],2))*self.y[-1]/pow(self.r[-1],1+self.beta)*self.dt)
  27. self.y.append(self.y[-1]+self.vy[-1]*self.dt)
  28. self.w.append(self.w[-1]-3*GM/(r**5)*(self.x[-1]*math.sin(self.theta[-1])-self.y[-1]*math.cos(self.theta[-1]))*\
  29. (self.x[-1]*math.cos(self.theta[-1])+self.y[-1]*math.sin(self.theta[-1]))*self.dt)
  30. self.theta.append(self.dt*self.w[-1]+self.theta[-1])
  31. while self.theta[-1]>=1*math.pi:
  32. self.theta[-1]=self.theta[-1]-2*math.pi
  33. while self.theta[-1]<=-1*math.pi:
  34. self.theta[-1]=self.theta[-1]+2*math.pi
  35. self.t.append(_time)
  36. _time += self.dt
  37. def show_results(self):
  38. #pl.plot(self.x,self.y)
  39. plt.plot(self.t,self.w)
  40. plt.xlabel('x(AU)')
  41. plt.ylabel('y(AU)')
  42. plt.legend()
  43. plt.title('Hyperion $\\theta$ versus time')
  44. plt.show()
  45. a = Hyperion()
  46. a.run()
  47. a.show_results()

结论

1. 圆轨道中

figure_1.png-71.2kB
显然此时的运动还是规则的

2. 椭圆轨道

此时取,则得到下图
figure_1-1.png-76.4kB
显然这个时候的运动不再规律,我们可进一步研究不同初始条件下,它的运动情况
2.1 偏心率的影响
figure_1-2.png-71.8kB
figure_1-4.png-73.8kB
figure_1-5.png-76.4kB
可见当时,有扰动迹象,到,运动已经开始混乱
2.2 初速度的影响
figure_1-6.png-59.6kB
figure_1-7.png-71.8kB
figure_1-8.png-94kB
显然只有时的运动是稳定的,而实际运动中,也只有合适的速度才能使其绕轨运动,速度的改变会直接影响其轨道。

3 初始

  3.1 改变的初始值
  我们可以做的图像,通过Lyapunov指数的变化来研究其运动规律
figure_1-10.png-66.9kB
figure_1-11.png-74.2kB
  3.2 改变的初始值
figure_1-12.png-78.4kB

致谢

Wikipedia--Hyperion

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