Exersice_10: Exploration to Inverse-Square Law

Exersice_10: Exploration to Inverse-Square Law_第1张图片
椭圆_beta_2.5.png

]( http://upload-images.jianshu.io/upload_images/3574753-565318cf76a0183f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

Abstract

万有引力定律被普遍认为与两个物体之间的距离平方的反比有关,从1687年牛顿的总结到如今,平方反比定律经过无数次的检验,依然保持着高度的准确性。本文将以星体运动为背景粗略探讨平方反比律。

宇宙中每个质点都以一种力吸引其他各个质点。这种力与各质点的质量的乘积成正比,与它们之间距离的平方成反比。
Every particle in the universe attracts every other particle with a force that is directly proportional to the product of their masses and inversely proportional to the square of the distance between them.

——艾萨克·牛顿,《自然哲学的数学原理》


Background

太阳系是被太阳的引力系结在一起的系统,包括轨道直接或间接绕行它的天体。轨道环绕太阳的天体被分为三类:行星、矮行星、和太阳系小天体。太阳系中的各星体在万有引力的作用下,形成各自形状,运行轨道相对稳定的状态。

平方反比律,即万有引力定律:
$$F = G \frac{m_1m_2}{r^2}$$
$G = (6.67408 \pm 0.00031)\times 10{-11}m3/(kg\cdot s^2)$

在两个物体之间的距离远大于物体的几何尺寸时,物体可以近似看作质点,这个公式才是适用的。

当我们让$$F = G \frac{m_1m_2}{r^{\beta}}$$
中的 $\beta$ 不等于$2$时,有趣的事发生了。


Fist Things First: Draw A Planetary Orbit

Pure Code

在物体运动轨迹呈周期性时,不应使用欧拉法直接计算运动轨迹,而是采用Euler-Cromer method 进行 Numerical Computation

Pseudocode for Planet Orbit Calc

  • $F_{G,x}=-\frac{GM_SM_E}{r{\beta}}cos\theta=-\frac{GM_SM_Ex}{r{\beta+1}}$
  • At each time step $i$ calculate the position$(x,y)$ and velocity $(v_x,v_y)$ for time step $i+1$.
  • Calc the distance $r_i$ from the sun:$r_i=(x2_i+y2_x)^{1/2}$
  • Compute $v_{x,i+1}=v_{x,i}-\frac{4\pi x_i}{r^{\beta+1}i}\Delta t$ and $v{y,i+1}=v_{y,i}-\frac{4\pi y_i}{r^{\beta+1}_i}\Delta t$
  • The Euler-Cromer step:$x_{i+1}=x_i+v_{x,i+1}\Delta t$, $y_{i+1}=y_i+v_{y,i+1}\Delta t$
    Repeat...
类型 天文单位AU 换算
距离 AU $1 AU \approx 1.5 \times 10^{11}m$
时间 year(yr) $1 yr=3156000 s$
质量组合常数 组合常数 $GM_S=v2r=4\pi2AU3/yr2$

注意,在太阳系中由于星体本身质量巨大,距离远,轨道周期长,使用国际单位制显然不合适,于是我们使用天文单位:

类型 天文单位AU 换算
距离 AU $1 AU \approx 1.5 \times 10^{11}m$
时间 year(yr) $1 yr=3156000 s$
质量组合常数 组合常数 $GM_S=v2r=4\pi2AU3/yr2$

可以由计算得到:当$v_{x,0}=0,v_{y,0}=2\pi(AU/yr)$时,行星运动轨迹是一个标准圆。实际中八大行星的运动轨迹都不是标准的圆,水星(Mercury)的离心率甚至达到了0.206左右。地球的离心率约为0.017。还是挺圆的。

那么我们可以通过改变初速度$v_0$的方式使行星运动轨迹接近真实情况。


Who Changes the $\beta$ ?

Exersice_10: Exploration to Inverse-Square Law_第2张图片
平方反比律.png
  • 不同$\beta$值下,椭圆行星轨迹的变化,注意$\beta=3$时,可怜的行星被巨大的万有引力拉向了太阳,在质点模型下这个小可怜在被拉向中心后会被笔直地甩开,呈几乎匀速直线运动远离中心。

上图使用$\Delta t = 0.001 (yr),Total time=2,2,1,3,0.263(approximate)(yr)$绘制多周期轨迹。从子图1中看一看出即使$\beta=2$,轨迹在远离近日点/远日点处抖动也十分严重。于是我们进一步作死缩小时间步长。

[]

  • 于是将$\Delta t$ 缩小至$ 0.001 (yr)$,却带来了计算量暴增的问题。为此引入numba库对运算函数进行编译和硬件优化,以减少运算时间:
from numba import jit
# Exercise 4.9
#使用@jit让函数在运行前被编译,有利于加速运算,
@jit
def cruisingx(beta,total_time,initvy):
    initx = 1
    inity = 0
    ...
@jit
def cruisingy(beta,total_time,initvy):
...

total_time = 100
no @jit: @6.209s taken for {drawpic},
using @jit: @0.975s taken for {drawpic}

total_time = 500
no @jit: @30.116s taken for {drawpic}
using @jit: @2.812ss taken for {drawpic}

  • 重新绘制的图像。
Exersice_10: Exploration to Inverse-Square Law_第3张图片
局部比较.gif
  • 在$\beta=2$时,即使时间长达100年,积累误差也不会太大。

different $\beta$ for circular orbit

将$\beta$取不同值时的行星运动轨迹画出,在轨迹稳定的前提下,将时间尽可能取长,上限1000年(时间再长的话在屏幕上画出图像的时间会远远超过计算轨迹的时间...)。

Exersice_10: Exploration to Inverse-Square Law_第4张图片
稳定性.png
  • 第一行为$\beta < 3$时的轨道,为了不使图中轨道过于稠密,我将前四个图轨道中的点按隔数千个取值一次的方式画出轨迹图。

可见在$\beta < 3$时,圆轨道都在相当一段时间内是稳定的。$\beta > 3$以后,轨迹会在段时间内被吸向中心。接下来会发生什么我就不得而知了。

Exersice_10: Exploration to Inverse-Square Law_第5张图片
beta3_finer.gif
  • 如果中心只是个质点,那么这可怜的星球不但会被拉向中心,还在某一刻速度达到逃逸速度,挣脱引力,逃离中心,飞出太阳系,飞向宇宙深处......

扯远了。时间缩短至20年,并且将运动轨迹局部放大,(当然,$\beta > 3$时我们只取轨道逃逸前的最长时间)

在$\beta > 3$时,星球们会被牛顿万有引力如何玩弄:

Exersice_10: Exploration to Inverse-Square Law_第6张图片
beta3.001_finer.png
  • $\beta = 3.001,total time = 50(yr)$,仅仅半生时间,这颗星球便已躁动不安。
Exersice_10: Exploration to Inverse-Square Law_第7张图片
beta3.01_fine.png
  • $\beta = 3.01,total time = 50(yr)$,这不是,小时候经常看到广告的大大卷么
  • 可以想象,行星先向心运动,再离心运动,在某一刻万有引力再也拉不住这颗脱缰的行星,这颗星

我们还注意到,在第一幅图中,在$\beta = 3.0$时,轨道轨迹线同时向内向外延展了,那么是在什么时候做向心运动,又是在什么时候做离心运动呢?

Exersice_10: Exploration to Inverse-Square Law_第8张图片
beta3_0-250.png
Exersice_10: Exploration to Inverse-Square Law_第9张图片
beta3_250-500.png
  • 上图为前250年,下图为后250年的轨迹采样。我们可知,大致在200年前后,行星运动模式由向心变为离心。
Exersice_10: Exploration to Inverse-Square Law_第10张图片
beta3_500年.gif

different $\beta$ for elliptical orbit

按照上面的格式,我们依然取同样的$\beta$值,但是降低初速度,使轨道变为椭圆。易证,远日点的速度小于$2\pi (AU/yr)$,近日点速度大于$2\pi (AU/yr)$。

Exersice_10: Exploration to Inverse-Square Law_第11张图片
稳定性椭圆.png
  • 很明显,椭圆轨道在$\beta$取值变化时具有更低的稳定性。

第一行第三幅图,同样的时间,同样的$\beta$值,椭圆轨道中的行星已经走远...
$\beta=3$时亦然,圆轨道情况想还能保持近似圆形的图案。

以上大致能说明,在$\beta \neq 2$时,椭圆轨道的稳定性是远不如圆轨道的。

原因分析:椭圆轨道每个点速度不同。在近日点/远日点动能达到极大/极小,而动能的不一致容易导致轨道稳定性崩塌。

将时间不同程度缩短以使所有轨迹都呈现:


Exersice_10: Exploration to Inverse-Square Law_第12张图片
稳定性椭圆1.png
Exersice_10: Exploration to Inverse-Square Law_第13张图片
稳定性椭圆局部.png

Different initial velocity for the same $\beta$

由上面讨论可知,同样的$\beta$值,圆轨道稳定性大于椭圆轨道,现猜测同样初始位置,初速度越小的椭圆轨道越不稳定。

Exersice_10: Exploration to Inverse-Square Law_第14张图片
椭圆_beta_2.1.png
Exersice_10: Exploration to Inverse-Square Law_第15张图片
椭圆_beta_2.5.png
  • 由上图知。
Exersice_10: Exploration to Inverse-Square Law_第16张图片
1.4附近.png
Exersice_10: Exploration to Inverse-Square Law_第17张图片
beta_2.4.png

将同一$\beta$值下的圆和椭圆轨道绘制在一张图内:

Exersice_10: Exploration to Inverse-Square Law_第18张图片
椭圆双子2.1.gif
Exersice_10: Exploration to Inverse-Square Law_第19张图片
椭圆双子2.5.gif

Conclusion

经过以上讨论,才进一步认识到平方反比律,其中平方二字的重要性,几乎是这个世界存在之合理性的最重要解释。感谢这个有序的世界。


Acknowledgements!

  • Compiling Python code with @jit
  • 彭辰铭和邱伟与我讨论了圆轨道在$\beta=3.0$时轨道的运动趋势。
  • 课本?

你可能感兴趣的:(Exersice_10: Exploration to Inverse-Square Law)