RibleOrbit
RibleOrbit 实现了引力场模型和天体力学仿真功能,用于航天器动力学和多体引力问题。
概述
该包提供了精确的引力场建模工具,支持从简单的点质量模型到复杂的非球形引力场模型,适用于航天器轨道动力学、天体力学和引力捕获等问题。
主要特性
多种引力模型:点质量、球谐函数、多面体
N体问题:多天体引力相互作用
高精度积分:适用于长期轨道演化
引力捕获:三体问题和引力辅助
引力模型
点质量模型
最简单的引力模型:
F = -GMm/r² · r̂球谐函数展开
考虑天体非球形效应:
J2项:扁率效应
高阶项:更精确的引力场
多面体模型
用于不规则小天体:
精确几何表示
任意形状引力场
适用于小行星
N体问题
二体问题
开普勒轨道
轨道要素
轨道传播
三体问题
限制性三体问题
拉格朗日点
周期轨道
多体系统
太阳系动力学
卫星星座
引力相互作用
应用场景
航天器轨道
地球卫星轨道
行星际转移
深空探测
天体力学
行星运动
小行星动力学
彗星轨道
引力辅助
行星引力弹弓
轨道转移优化
能量节省
特殊轨道
霍曼转移
最节能的轨道转移:
两次脉冲
椭圆转移轨道
Halo轨道
拉格朗日点附近的周期轨道:
L1, L2, L3点
三维周期轨道
使用示例
julia
using Rible
using RibleOrbit
# 定义地球引力场
earth = CelestialBody(
mass = 5.972e24, # kg
radius = 6.371e6, # m
J2 = 1.08263e-3 # 扁率系数
)
# 创建航天器
spacecraft = Satellite(
mass = 1000.0, # kg
position = [7000e3, 0, 0], # m
velocity = [0, 7546.0, 0] # m/s
)
# 仿真轨道
prob = OrbitProblem(spacecraft, earth)
sol = solve(prob, tspan=(0.0, 86400.0)) # 一天坐标系
惯性坐标系
J2000.0
国际天球参考系(ICRF)
旋转坐标系
地心地固系(ECEF)
轨道坐标系
相关包
核心Rible包 - 多体动力学
RibleTrajOpt - 轨道优化