根据我的理解,应该可以遵循与计算地球重力势梯度类似的程序(忽略月球固体潮汐造成的潜在修正,不确定这些有多重要,但它们似乎存在这篇文章.
我想我们可以先看看等式108技术说明,它定义了一个吸引物体的潜力W_a美元在球坐标系中:
$ $ W_a (r \λ\ varphi) = \压裂{通用}{r} \ sum_ {\ mathscr {l} = 0} ^ {\ mathscr {l} _{马克斯}}\ sum_ {\ mathscr {m} = 0} ^ {\ mathscr {l}} \离开(\压裂{r} {r} \右)^ \ mathscr {l} P_ {\ mathscr {lm}} (sin (\ varphi)) \离开(C_ ({\ mathscr {l} m} ^海关组织(m \λ)+ S_ {\ mathscr {l} m} ^ Wsin (m \λ)\右)$ $
地点:
- 通用美元是中心天体的引力参数吗
- R美元中心物体的参考半径是多少
- r美元电势计算点的径向距离是否在球坐标中
- \λ美元是它的经度
- \ varphi美元是纬度
- 美元$ P_ {\ mathscr {lm}}是度的勒让德函数吗l $ \ mathscr {} $和秩序$ \ mathscr {m} $
- $ C_ {\ mathscr {l} m} ^ W美元而且$ S_ {\ mathscr {l} m} ^ W美元是斯托克斯系数,通常分布在引力模型中,我最常看到的是Cnm和Snm,或简单地表示为C和s。这些在你在月球引力模型评论中链接的.tab文件中给出。
同一文献中的方程120给出了重力势梯度的表达式:
$$ \nabla{W}=W_r\overrightarrow{e_r}+\frac{1}{r\ cos\ \varphi}W_ lambda\overrightarrow{e_\lambda}+\frac{1}{r}W_\varphi\overrightarrow{e_\varphi} $$
地点:
- $ \ overrightarrow {e_r} $,$ \ overrightarrow {e_ \λ}$而且$ \ overrightarrow {e_ \ varphi} $都是球坐标系的单位向量图1.1理解起来很有用。请注意,图中使用的是极角而不是纬度,每个角度的符号也不一样。
- W_r美元,W_ \λ美元而且W_ \ varphi美元的偏导数是W美元关于r美元,\λ美元而且\ varphi美元.
所以我们基本上需要这些偏导数来计算球坐标系下的势梯度,然后我们可以转换到任何其他坐标系/参考系。ICGEM文件的方程122给出了这三个偏导数的表达式:
$ $ \ dfrac{\部分W}{\部分r} = - \压裂{通用}{r ^ 2} \ sum_ {\ mathscr {l} = 0} ^ {\ mathscr {l} _{马克斯}}\离开(\压裂{r} {r} \右)^ \ mathscr {1} (\ mathscr {l} + 1) \ sum_ {m = 0} ^ {\ mathscr {l}} P_ {\ mathscr {l} m}(罪\ \ varphi) \左(C_ {\ mathscr {l} m} ^海关组织(m \λ)+ S_ {\ mathscr {l} m} ^ Wsin (m \λ)\右)$ $$ $ \ dfrac{\部分W}{\部分\λ}= \压裂{通用}{r} \ sum_ {\ mathscr {l} = 0} ^ {\ mathscr {l} _{马克斯}}\离开(\压裂{r} {r} \右)^ \ mathscr {l} \ sum_ {m = 0} ^ {\ mathscr {l}} mP_ {\ mathscr {l} m}(罪\ \ varphi) \左(S_ {\ mathscr {l} m} ^海关组织(m \λ)-C_ {\ mathscr {l} m} ^ Wsin (m \λ)\右)$ $$ $ \ dfrac{\部分W}{\部分\ varphi} = \压裂{通用}{r} \ sum_ {\ mathscr {l} = 0} ^ {\ mathscr {l} _{马克斯}}\离开(\压裂{r} {r} \右)^ \ mathscr {l} \ sum_ {m = 0} ^ {\ mathscr {l}} \ dfrac{\部分P_ {\ mathscr {l} m}(罪\ \ varphi)}{\部分\ varphi} \离开(C_ {\ mathscr {l} m} ^海关组织(m \λ)+ S_ {\ mathscr {l} m} ^ Wsin (m \λ)\右)$ $
我注意到的一件事是关于纬度的偏导数应该,我相信,乘以纬度的余弦,如果我们遵循导数的链式法则。我在这里问过这个问题,但我开始相信,省略余弦可能是因为一些计算勒让德函数导数的递归算法,实际上,直接计算导数与纬度余弦的乘积。例如,我已经从NASA的文档中验证了这确实是Lear算法的情况。所以这些值可以用来表示重力势的偏导数。
因此,在将所有东西代入计算重力势梯度之前(除了转换到笛卡尔坐标系之外),最后一个要解决的问题是计算相关的勒让德函数及其导数的值。
对于勒让德函数和斯托克斯系数的归一化,这确实是关键。原始勒让德函数和Cnm/Snm系数通过一个归一化因子与其归一化版本相关联美元N_ {nm} $,其表达式为在这里为例。事实上,正如你所提到的,似乎有几种归一化方案,另一种是,例如,所谓的施密特归一化。然而,在测地线领域,似乎(几乎)我们总是使用4,Kaula,测地线或完全归一化(我已经看到这4个术语被应用到相同的归一化)。术语4 π归一化似乎源于这样一个事实:当在球面上积分时,它使平方球谐波产生4 π的值。
然而,根据Vallado的《天体动力学基础与应用》第8.6节,在该领域采用这种归一化的实际原因是,对于高次高阶的球面谐波,斯托克斯系数的值变得非常小,而相关的勒让德函数的值变得非常大。所以系数除以提到的归一化因子,勒让德函数乘以它,它们的归一化对应物用一个直条表示(我也在一些资料中看到过一个花条,但这似乎表示施密特部分归一化)。例如,美元$ \眉题{C_ {nm}}
这样做的结果是,斯托克斯系数和勒让德函数的乘积保持不变,无论应用何种归一化方案,但关键是对两者应用相同的归一化。月球重力场中的系数似乎是完全归一化的,因此我们需要匹配完全归一化的勒让德函数。这些可以通过相对简单的递归关系得到,其中存在几个递归关系。但为了提供一个我认为很好的参考,这个NASA文件提供了一些。顺便说一下,我目前正在使用链接文档中3的Lear算法(不幸的是,我没有Python中的代码,但如果有帮助,我很乐意提供我在R和c++中的实现;我决定编写自己的实现,因为它非常简单,而且我完全确定使用了正确的规范化)。此外,NASA文档提供了可以验证Lear算法实现的表达式。
我已经用GGM05C模型对地球的情况进行了测试,通过计算梯度矢量的模,并将其与报告的值进行比较通过这个工具对于同一点。
单位方面,斯托克斯系数(包括Cnm和Snm)和勒让德函数是无量纲的,所以单位由的单位决定通用美元而且R美元.在将3个偏导数代入梯度表达式后,结果的维数为[DISTANCE]/[TIME]^2,即加速度单位,这对于它是重力梯度是有意义的。
将梯度转换为笛卡尔坐标系后,可以直接作为中心点重力场在该点处引起的加速度。
编辑:
我已经尝试过用Python编写一些必需的函数。他们可以在这里找到.我在这里留下了一个概述,在Python中重建重力梯度的工作流程:
- 从模型文件中读取Cnm和Snm系数。重要的是要确保这些系数是“完全标准化”的(尽管,据我所知,所有主要天体的引力模型都使用它们。但是签入头文件很重要)。
- 计算在目标纬度上的归一化关联勒让德函数及其导数的值。这是可以做到的勒让德函数,它使用李尔递归算法,接收所需的度(n)和阶(m),以及以弧度为单位的目标纬度(不是纬度/极角!)
- 使用Cnm和Snm系数与勒让德函数及其导数一起计算在球坐标中所需位置的重力梯度。这是可以做到的函数gravityGradientSphericalCoords,它接收作为输入,顺序如下:勒让德函数值数组(Pnm),勒让德函数值导数数组(dPnm), Cnm, Snm,纬度,经度,r(目标位置极坐标的径向距离),计算重力场中心体的参考半径(r),中心体的引力参数(GM),计算势梯度时需要考虑的最大度数(n)和最大阶数(m)。目前的实现将使用到n阶的所有阶。这将返回重力势的偏导数r美元,\ varphi美元(纬度),\λ美元(经度),按此顺序。
- 然后输入上述技术说明的120式,得到球坐标系下的重力梯度,再进一步转换为笛卡尔坐标系。
编辑2
我想我终于能够正确地重建和应用月球的引力模型。
然而,还有一件我以前没有想到的事情需要解决,那就是通过应用上面描述的程序得到加速度的参考系。
在深入研究GRGM1200系列模型的文档后,似乎所有的GRGM模型都使用月球主轴(MPA)参考系。这看起来很方便,因为根据这里的2.4节, MPA和以月球为中心的ICRF(我们称之为SCRF,因为它是一个以月球为中心的参照系)之间的转换只需要月球振动角,如所述在这个答案中,在JPL DE的星历表中提供。
所以基本上,如果我们想在SCRF中获得一个由于月球重力场而产生的加速度,过程将是:
- 得到目标点在SCRF帧内的坐标。如果我们在GCRF(地心ICRF)中有它们,我们可以很容易地通过JPL DE星历表计算月球位置并减去它们。
- 计算从MPA到SCRF的旋转矩阵,并对目标点在SCRF中的位置进行反向旋转。这就产生了在MPA框架中的位置
- 将MPA位置转换为球坐标。这给出了一组球坐标,可以直接输入到我之前编辑的计算重力势梯度的过程中。如前所述,它最初是球坐标中的一个向量。
- 将MPA球坐标中的梯度转换为同一MPA坐标系中的笛卡尔坐标。这可以用瓦拉多的天体动力学基础和应用的8.6.1节的方程8-27来完成,但为了完整性,我在这里复制它们:$ $ a_x = \离开(\压裂{1}{r} \ dfrac{\部分W}{\部分r} - \压裂{r_z} {r ^ 2 \√{r_x ^ 2 + r_y ^ 2}} \ dfrac{\部分W}{\部分\ varphi} \右)r_x - \离开(\压裂{1}{r_x ^ 2 + r_y ^ 2} \ dfrac{\部分W}{\部分\λ}\右)r_y $ $$ $得+ = \离开(\压裂{1}{r} \ dfrac{\部分W}{\部分r} - \压裂{r_z} {r ^ 2 \√{r_x ^ 2 + r_y ^ 2}} \ dfrac{\部分W}{\部分\ varphi} \右)r_y + \离开(\压裂{1}{r_x ^ 2 + r_y ^ 2} \ dfrac{\部分W}{\部分\λ}\右)r_x $ $$ $ a_z = \压裂{1}{r} \ dfrac{\部分W}{\部分r} r_z + \压裂{\√6 {r_x ^ 2 + r_y ^ 2}} {r ^ 2} \ dfrac{\部分W}{\部分\ varphi} $ $
在哪里a_x美元,得+美元而且a_z美元MPA坐标系下加速度的X、Y、Z分量为,r_x美元,r_y美元而且r_z美元为目标位置在MPA帧中的X、Y、Z分量。
- 从这里开始,将先前计算的从MPA到SCRF的旋转矩阵应用到惯性SCRF框架中,将产生加速度
我通过传播GRAIL-A卫星的位置,并将其与JPL地平线系统提供的星历表进行比较,验证了这种方法。可以得到星历表在这里,直接在SCRF框架中(ICRF以月球为中心)。结果很有希望!我传播轨道1天,每30分钟输出一次结果,从2012年4月4日00:00:00 (UTC)开始。下面的图表显示了我计算的位置与地平线星历表之间的差异。注意,在进行传播时没有考虑任何太阳辐射压力、反照率或红外辐射压力。只有来自月球的重力加速度,太阳和所有行星的引力作为质点被考虑。黑线表示只考虑10度以下的月球重力球面谐波,红线表示150度以下:
这里我们放大了150度的差异:
如果考虑更高的学位,情况会更好!
这是有趣的!
编辑3
为了完成,我实现了一个简短的Python函数,将球坐标中的加速度转换为笛卡尔坐标(物体固定)。这是可以做到的这里是accelersphtocart函数