經典力學/攝動與進動
外觀
< 经典力学
攝動引起的進動
[編輯]考慮中心力問題下的近克卜勒軌道,勢能為 , 其中是小參數(攝動強度),第二項可視作扁率或額外中心項的近似來源。該攝動會導致軌道的近心點發生進動,進動角近似與成正比。
數值演示
[編輯]下例以離散迭代的方式,使用近似的角速度修正來積累進動量
範例代碼:
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
說明
[編輯]- 實際的攝動理論可使用更嚴謹的拉普拉斯-朗日行星方程或作用-角變量的微擾法來得到近心點進動的解析表達式。