6
\ begingroup美元

太空SE问题在月球上着陆要花多少钱?包括下面的背景信息。我相信找到一个链接并不太难,其中可以找到月球引力模型的球形谐波系数,但困难的部分是将它们转化为以m/s为单位的实际矢量力场2

这些系数很可能是重力势的,也有一些方法可以用梯度来得到场,但我从来都不能理解这种数据。例如:


这些月球地图显示了美国宇航局GRAIL任务测量到的重力异常。(图片来源:NASA/JPL-Caltech/CSM)

这些月球地图显示了美国宇航局GRAIL任务测量到的重力异常。(图片来源:NASA/JPL-Caltech/CSM)

从Space.com的月球块状引力之谜解释,点击查看完整尺寸。

布格异常图显示重力升高了约600兆加仑。维基百科加(单位)解释这意味着什么;0.6加仑等于0.006米/秒2或者几乎是月球平均引力的0.5%,而且它们延伸的距离相当远。

伽尔(符号:gal),有时也被称为伽利略后伽利略,是重力科学中广泛使用的加速度单位。加仑被定义为1厘米每秒的平方(1厘米/秒)2).毫伽(mGal)和微伽(µGal)分别是一伽的千分之一和百万分之一。

\ endgroup美元
11
  • \ begingroup美元 看起来有人已经完成了这项工作,也许不是在python中:pgda.gsfc.nasa.gov/products/50。但如果我理解你的权利,你可以使用一个地图提供的纹理和映射纹理的位置到参考球。可以放进一个函数里。 \ endgroup美元
    - - - - - -user20217
    2020年4月6日9:26
  • \ begingroup美元 @a_donda轨道是3D的,我需要计算从表面到数百公里以上的所有地方。在自由空间中,引力服从拉普拉斯方程($\nabla^2 \ =0),所以球形谐波在任何地方都有效。我想如果我在一个光滑的表面上有势,我就可以重建剩下空间的系数作为我老问题的答案用另一个表面上的势计算一个表面上的势解释,… \ endgroup美元
    - - - - - -uhoh
    2020年4月6日11:16
  • 1
    \ begingroup美元 如果你把月球的中心放在坐标原点上,引力矢量几乎完全是径向向内的,变化只有0.5%。然后,如果你在某个特定高度的数据集上有重力的大小(就像上面提到的数据集一样),你只需要用$1/r^2$缩放它,就可以得到在表面上方某个高度的值。 \ endgroup美元 2020年4月6日21:29
  • 1
    \ begingroup美元 @a_donda没有。来自质量浓度的扰动肯定会对几倍于其直径的距离产生影响,有些距离的直径可达几百公里。它们是通过对月球轨道物体的巨大扰动而发现的,我想它们甚至导致了一次撞击月球。如果你感兴趣的话,我建议你花点时间去阅读一下。 \ endgroup美元
    - - - - - -uhoh
    2020年4月8日19:16
  • 1
    \ begingroup美元 我真的很想把它放在我的枕叶里。但现在还有很多其他的事情摆在我面前……祝你好运找到你的咒语;-) \ endgroup美元
    - - - - - -user20217
    2020年4月8日19:32

1回答1

6
\ begingroup美元

根据我的理解,应该可以遵循与计算地球重力势梯度类似的程序(忽略月球固体潮汐造成的潜在修正,不确定这些有多重要,但它们似乎存在这篇文章

我想我们可以先看看等式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中重建重力梯度的工作流程:

  1. 从模型文件中读取Cnm和Snm系数。重要的是要确保这些系数是“完全标准化”的(尽管,据我所知,所有主要天体的引力模型都使用它们。但是签入头文件很重要)。
  2. 计算在目标纬度上的归一化关联勒让德函数及其导数的值。这是可以做到的勒让德函数,它使用李尔递归算法,接收所需的度(n)和阶(m),以及以弧度为单位的目标纬度(不是纬度/极角!)
  3. 使用Cnm和Snm系数与勒让德函数及其导数一起计算在球坐标中所需位置的重力梯度。这是可以做到的函数gravityGradientSphericalCoords,它接收作为输入,顺序如下:勒让德函数值数组(Pnm),勒让德函数值导数数组(dPnm), Cnm, Snm,纬度,经度,r(目标位置极坐标的径向距离),计算重力场中心体的参考半径(r),中心体的引力参数(GM),计算势梯度时需要考虑的最大度数(n)和最大阶数(m)。目前的实现将使用到n阶的所有阶。这将返回重力势的偏导数r美元\ varphi美元(纬度),\λ美元(经度),按此顺序。
  4. 然后输入上述技术说明的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函数

\ endgroup美元
8
  • 1
    \ begingroup美元 谢谢你!在哪里can I get the and coefficients properly normalized to use in these expressions? \ endgroup美元
    - - - - - -uhoh
    2022年1月31日12:02
  • 1
    \ begingroup美元 关于C和S系数的正确归一化,你链接的。tab文件中的那些在这里已经正确归一化,可以在这些表达式中使用,正如相应的.lbl文件声明“球面谐波系数完全归一化”所表明的那样。是的,我已经在地球的例子中测试了我的解决方案。对不起,我知道了,我没对焦!我将尝试更明确地编辑和添加伪代码 \ endgroup美元
    - - - - - -拉法
    2022年1月31日12:02
  • 1
    \ begingroup美元 仔细阅读后,我删除了大部分评论。哦,我明白了,我与此相关回到2020年! \ endgroup美元
    - - - - - -uhoh
    2022年1月31日12:05
  • 1
    \ begingroup美元 关键是使用一种算法,用相同的归一化方法生成Pnm及其导数。我试着追踪scipy的线人lpmv,由scipy的sph_harm调用,但它会导致FORTRAN代码,不幸的是我无法阅读。然而,李尔的算法相对简单,可以按照NASA文件上的说明来实现 \ endgroup美元
    - - - - - -拉法
    2022年1月31日12:05
  • 1
    \ begingroup美元 确实!你链接的模型似乎提供了正确的系数。我还记得在某个时候发现了一些绕月卫星的星历表。我打算用这些蜉蝣来测试用这个程序重建月球的重力梯度!但偏偏现在又找不到蜉蝣的来源了……我会再试一次的! \ endgroup美元
    - - - - - -拉法
    2022年1月31日12:08

你的答案

点击“张贴您的答案”,即表示您同意我们的服务条款隐私政策而且饼干的政策

这不是你想要的答案?浏览带标签的其他问题问自己的问题