三体問題 仿真器 返回
Classical Mechanics / Chaos

三体問題 仿真器

快速解答
三体问题中每个天体满足 r̈ᵢ = G·Σ mⱼ(rⱼ − rᵢ)/|rⱼ − rᵢ|³(G=引力常数,mⱼ=质量),在守恒总能量 E 与角动量 L 的同时表现出混沌行为。庞加莱于 1890 年证明一般解析解不存在,成为混沌理论的起点。

实时可视化三天体的引力相互作用。从8字形周期解、拉格朗日稳定三角形等特殊解,到庞加莱于1890年证明无一般解的"混沌",全面体验。

预设
参数设置
● 质量 m₁
● 质量 m₂
● 质量 m₃
G 定数
轨迹长度
pt
播放控制
轨迹对比
计算结果
全能量 E
角动量 L
0.00
経過时间 t
三体問題仿真 — 实时状態値
天体 x y vx vy
天体1 (青)
天体2 (粉色)
天体3 (绿色)
天体1(青) 天体2(粉色) 天体3(绿色)
能量明细
动能:
势能能量:
全能量:
角动量 (z成分):
理论与主要公式

各天体 $i$ 受到的重力加速度:

$$\ddot{\mathbf{r}}_i = G \sum_{j \neq i}\frac{m_j (\mathbf{r}_j - \mathbf{r}_i)}{|\mathbf{r}_j - \mathbf{r}_i|^3}$$

全能量(Save量):

$$E = \frac{1}{2}\sum_i m_i |\dot{\mathbf{r}}_i|^2 - G\sum_{i \lt j}\frac{m_i m_j}{|\mathbf{r}_i - \mathbf{r}_j|}$$

角动量(Save量):$\mathbf{L}= \sum_i m_i (\mathbf{r}_i \times \dot{\mathbf{r}}_i)$

数值积分:蛙跳法(Störmer–Verlet),$\Delta t = 0.0005$

庞加莱(1890年)证明了一般三体问题不存在解析积分。这成为混沌理论的出发点。

反馈
请提供您的意见或报告问题

什么是三体问题

🙋
“三体问题”是什么?听起来像科幻小说里的东西。
🎓
简单来说,就是研究三个天体(比如三个太阳或行星)在彼此引力作用下如何运动的问题。听起来简单,但它是个著名的“混沌”系统,意味着没有通用的数学公式能完美预测它们未来的轨迹。在实际工程中,比如设计绕月或绕地飞行的航天器轨道时,就需要考虑这种多体引力影响。
🙋
诶,真的吗?没有公式能算?那这个模拟器是怎么画出行星轨道的?
🎓
问得好!虽然得不到精确的“解析解”,但我们可以用计算机进行“数值模拟”,一步步计算它们的位置。这个模拟器用的就是“蛙跳法”。你试着拖动上面三个天体的质量滑块,比如把其中一个质量设得特别大,你会发现另外两个就像它的卫星一样绕着转,轨道会变得相对稳定。这就是在模拟“限制性三体问题”。
🙋
我听说有个很漂亮的“8字形”轨道,那是怎么来的?
🎓
那是三体问题中一个非常神奇的“周期解”!当三个天体质量相等,并且初始位置和速度设置得恰到好处时,它们就会沿着一个像数字“8”的轨道永恒地、规律地追逐下去。你可以在模拟器的预设条件里选择“8字形解”,然后试着微调一下“轨迹长度”参数,就能清晰地看到这个优美的舞蹈。改变任何一个天体的质量,这个完美的舞蹈就会被打破,陷入混沌。

物理模型与关键公式

每个天体所受到的引力由牛顿万有引力定律决定,将所有其他天体对它的引力矢量相加,就得到了它的运动方程:

$$\ddot{\mathbf{r}}_i = G \sum_{j \neq i}\frac{m_j (\mathbf{r}_j - \mathbf{r}_i)}{|\mathbf{r}_j - \mathbf{r}_i|^3}$$

这里,$\mathbf{r}_i$ 是第 $i$ 个天体的位置矢量,$\ddot{\mathbf{r}}_i$ 是其加速度,$m_j$ 是第 $j$ 个天体的质量,$G$ 是万有引力常数。分母上的三次方意味着引力随距离的衰减非常快。

在理想的封闭系统中,总能量(动能与势能之和)是守恒的。模拟器会实时计算这个值,你可以用它来检验数值计算的精度:

$$E = \frac{1}{2}\sum_i m_i |\dot{\mathbf{r}}_i|^2 - G\sum_{i \lt j}\frac{m_i m_j}{|\mathbf{r}_i - \mathbf{r}_j|}$$

等式右边第一项是所有天体的动能之和($|\dot{\mathbf{r}}_i|$ 是速度大小),第二项是所有天体对之间的引力势能(负号表示吸引)。一个稳定的模拟,这个 $E$ 值应该几乎不变。

现实世界中的应用

航天器轨道设计与导航:深空探测器的轨道规划必须考虑太阳、地球、月球等多体的引力影响。例如,前往月球的飞船并非直线飞行,而是遵循一条精心计算的、受多体引力塑造的转移轨道。

拉格朗日点空间站:在地球和太阳的引力平衡点(即拉格朗日点,是三体问题的特解),航天器可以用很少的燃料维持相对位置。詹姆斯·韦伯太空望远镜就部署在日地系统的L2点。

星系与恒星系统演化:宇宙中双星、三星系统非常普遍。研究三体动力学有助于理解这些系统的稳定性、行星能否在其中存在,以及恒星之间复杂的引力相互作用(如捕获、弹射)。

CAE中的数值方法验证:三体问题是测试各种“数值积分算法”(如模拟器中使用的蛙跳法)精度和稳定性的经典算例。工程中许多复杂的多物理场仿真,其核心的时间推进算法原理与此相通。

常见误解与注意事项

首先,请勿认为“仿真结果总是正确的”。本工具属于数值计算的一种,而蛙跳法也并非万能。尤其当天体发生极端接近的“近距离交会”时,计算误差会急剧增大,可能导致物理上不可能的高速旋转或逃逸现象。在实际应用中,处理这类奇点附近的情况需要特殊技巧。

其次,需避免“预设参数是特殊魔法解”的误解。八字形轨道确实优美,但它是质量比、位置和速度经过完美调整后形成的极度精密的平衡状态。在现实宇宙中自然形成这种配置的概率几乎为零。正确的理解方式应是将其视为数学上存在的“可能性之一”。

参数设置技巧方面,建议注意无量纲化处理。例如,相较于将质量设为1、10、100,将总质量归一化为1后按(0.1、0.3、0.6)等方式设定,能更便于比较和理解系统行为。距离与时间参数同理,例如在脑海中构建以日地距离为1(天文单位)、1年为单位的参照系,会增强现实感。

使用指南

  1. 在m1Val、m2Val、m3Val输入三个天体的质量(单位:相对质量,可设1.0、0.5、0.3)
  2. 在gConst输入万有引力常数G(推荐SI单位0.00667或归一化单位1.0),确保加速度计算准确
  3. 点击运行仿真,观察实时轨道演化,记录全能量E、角动量L和经过时间t的数值变化
  4. 调整初始速度和位置参数以探索8字形周期轨道或拉格朗日平衡点附近的运动

具体计算示例

设三体系统:m1=1.0kg、m2=1.0kg、m3=0.5kg,初始位置分别为(0,0)、(1,0)、(0.5,0.866)米,初速度(0,0.5)、(0,-0.5)、(0,0)m/s,G=6.674×10⁻¹¹N·m²/kg²。仿真100秒后,系统全能量约E=-0.325J(负值表示束缚系统),角动量L≈1.2kg·m²/s,天体间最小距离保持0.8m以上。若采用8字形周期解初值,经过精确校准的初速度可使系统周期约2.4时间单位。

实务注意事项

  1. 初始条件对轨道稳定性极敏感:位置差异0.001m或速度差异0.01m/s可导致完全不同的长期动力学行为,涉及混沌分岔
  2. 数值积分步长(dt)应小于0.001秒以确保能量守恒误差不超过0.1%,否则轨道会发散
  3. 拉格朗日点L4和L5处(等边三角形顶点)是三体问题仅有的平衡构形,木星-太阳-小行星系统中特洛伊小行星聚集于此
  4. 监控全能量E和角动量L:若两者在仿真中急剧变化,说明数值方法存在误差,应降低积分步长或更换高阶算法