Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add lunar gravity field disturbance #464

Merged
merged 8 commits into from
Aug 15, 2023
Merged

Conversation

200km
Copy link
Member

@200km 200km commented Jul 19, 2023

Overview

Add lunar gravity field disturbance

Issue

Details

I added the lunar gravity field calculation with GRGM1200A.
To correctly use this feature, we need to add the moon rotation calculation. #465

Validation results

I confirmed that the calculated disturbance is compatible with a reference code.

  • n = m = 10, including the C00 coefficient.
  • Moon fixed frame.
<style> </style>
  R  km S2E m/s2 Ref m/s2 diff m/s
case 1 2000 -0.2358674 -0.2358674 -1.679E-10
  2000 -0.2358886 -0.2358886 -4.212E-10
  2000 -0.2359072 -0.2359072 1.3332E-09
case 2 -2000 0.36318726 0.36318726 -2.454E-10
  2000 -0.3632152 -0.3632152 -3.234E-10
  -1000 0.18164362 0.18164362 -1.219E-09
case 3 1000 -0.5595179 -5.60E-01 2.0208E-10
  -1500 0.83934119 0.83934119 3.7713E-09
  -1000 0.55972176 0.55972175 -5.092E-09

Scope of influence

Minor update

Supplement

NA

Note

NA

@200km 200km added priority::medium priority medium disturbance disturbance calculation minor update add functionality in a backwards compatible manner labels Jul 19, 2023
@200km 200km added this to the Minor update v6.3.0 milestone Jul 19, 2023
@200km 200km requested review from a team and sksat as code owners July 19, 2023 11:29
@200km 200km self-assigned this Jul 19, 2023
@200km 200km requested review from seki-hiro, suzuki-toshihir0 and conjikidow and removed request for a team July 19, 2023 11:29
@200km 200km linked an issue Jul 19, 2023 that may be closed by this pull request
3 tasks
@200km 200km changed the title WIP: Add lunar gravity field disturbance Add lunar gravity field disturbance Aug 14, 2023
Copy link
Member

@seki-hiro seki-hiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

実装ありがとうございます。approveします。
以下単純な興味です。

  • 時間を計測しているようですが、referenceのツールと比較して早いとかは見えているでしょうか?

src/disturbances/lunar_gravity_field.cpp Outdated Show resolved Hide resolved
@200km
Copy link
Member Author

200km commented Aug 15, 2023

時間を計測しているようですが、referenceのツールと比較して早いとかは見えているでしょうか?

今回の月に関しては計測していませんが、地球に関してはs2e-documentsに書いている通り、7倍程度早くなっています。ただ、アルゴリズムはほぼ同じだと思っていて、そもそもMatlabがC++に比べて遅いというのが主な原因だと想像しています。

https://github.com/ut-issl/s2e-documents/blob/develop/Specifications/Disturbance/Spec_GeoPotential.md

@seki-hiro
Copy link
Member

matlabとc++の差が気になっていました。ありがとうございます。

@200km
Copy link
Member Author

200km commented Aug 15, 2023

documentの比較はすごく真面目にやった訳ではなく、「実装したアルゴリズム遅すぎないよね」という確認程度なのでその点はご注意ください。
Matlabは色々最適化を試みるともっと早くできる可能性はあるとは思います。

Co-authored-by: Hirotaka Sekine <[email protected]>
@200km 200km merged commit 45f6cab into develop Aug 15, 2023
11 checks passed
@200km 200km deleted the feature/add-lunar-gravity-field branch August 15, 2023 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
disturbance disturbance calculation minor update add functionality in a backwards compatible manner priority::medium priority medium
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Expand the geopotential algorithm to Moon and/or Mars gravity potential
2 participants