跳转到内容

经典力学/摄动与进动

维基教科书,自由的教学读本

摄动引起的进动

[编辑]

考虑中心力问题下的近开普勒轨道,势能为 , 其中是小参数(摄动强度),第二项可视作扁率或额外中心项的近似来源。该摄动会导致轨道的近心点发生进动,进动角近似与成正比。

数值演示

[编辑]

下例以离散迭代的方式,使用近似的角速度修正来积累进动量

范例代码:

import math

# 设定参数
mu = 1.0         # 引力参数
epsilon = 0.01   # 摄动强度(小参数)
a = 1.0          # 轨道半长轴(单位化)
e = 0.1          # 离心率(适中)
steps = 12       # 模拟12个轨道周期(每周期估计一次近心进动)

# 一个简化的近心进动近似:delta_omega ≈ k * epsilon
# 这里将k取为与e、a、mu相关的常数近似(仅示意),例如:
k = math.sqrt(mu/(a**3)) * (e/(1.0 + e))  # 非严谨,仅作演示比例因子

total_precession = 0.0
precessions = []

for n in range(1, steps + 1):
    delta_omega = k * epsilon  # 每周期的近似进动量(弧度)
    total_precession += delta_omega
    precessions.append((n, delta_omega, total_precession))

# 输出为表格风格的文本
print("周期  本周期进动(弧度)  累计进动(弧度)")
for n, d, t in precessions:
    print(f"{n:>3}   {d:>14.6f}    {t:>14.6f}")

# 将累计进动转换为每周期度数(平均值)
avg_deg_per_orbit = (total_precession/steps) * 180.0 / math.pi
print("\n平均每周期进动(度):", f"{avg_deg_per_orbit:.6f}")

输出:

周期  本周期进动(弧度)  累计进动(弧度)
  1        0.028514        0.028514
  2        0.028514        0.057028
  3        0.028514        0.085542
  4        0.028514        0.114056
  5        0.028514        0.142570
  6        0.028514        0.171084
  7        0.028514        0.199598
  8        0.028514        0.228112
  9        0.028514        0.256626
 10        0.028514        0.285140
 11        0.028514        0.313653
 12        0.028514        0.342167

平均每周期进动(度): 1.633268

说明

[编辑]
  • 实际的摄动理论可使用更严谨的拉普拉斯-朗日行星方程或作用-角变量的微扰法来得到近心点进动的解析表达式。