太陽系の初期状態のデータセットはどこにありますか?


8

タイトルが示唆するように、私は太陽系の一連のデータを必要としています。このhttp://bima.astro.umd.edu/nemo/archive/#iau25と同様に、具体的にはdubinskyの天の川とアンドロメダのデータです。

私は学校用のn体シミュレーションを作成していますが、開発中のソフトウェアで太陽系をシミュレーションするために使用できる初期粒子条件が見つからないようです。初期位置、速度、質量が必要です。

これをどこで見つけることができますか?

ありがとうございました。

回答:


3

Horizo​​nsエフェメリスジェネレーターは、指定した時刻における惑星の位置と速度のベクトルを提供します。

これは、可能なオプションのセットの1つです。

ここに画像の説明を入力してください

そのページで[ エフェメリスの生成 ] クリックすると、位置と速度のベクトルが表示されます。

ここに画像の説明を入力してください

位置ベクトルと速度ベクトルの上には、ユリウス日付と従来の日付があります。

ウィキペディアは太陽と惑星の質量を与えることができます。


2

J2000の時代にのみ、HORIZONからすべての主要な物体のデカルト軌道ベクトルを取得することができました。時間をかけてカバレッジを延長することができました。これを行うと、データオーバーロードが発生しやすくなります。私のシミュレーションは、重力と運動の法則のみを使用してモデル化されています。これにより、発表された結果に驚くほど近い結果が得られます。(速度ベクトルを逆にすることにより)太陽系を逆方向に実行すると、最初のベクトルが1900に戻りました。これで十分で、結果は目的に十分近かったです。CSVファイルがまだ残っています。

私はまた、地平線のインターフェースに関してあらゆる種類の問題を抱えてきました。たとえば、日付を変更しても、ベクトルの値には影響がありませんでした。つまり、指定されたすべての開始日は同じ値です。最近、私はこの偉業を複製することができませんでした。このインターフェースには、特に最近、明らかに深刻な問題がいくつかあります。

入手したデータは、公開されたイベントと完全に相関しているので、正しいことを知っています。たとえば、水星の最近の通過。

私もまだこのタイプのデータを探しています。


1

このシミュレーションはどの言語で書いていますか?2Dですか、3Dですか?太陽系の惑星の位置と速度だけが必要ですか?

私はこれを正確に実行し(Fortranの太陽系をシミュレート)、正確な初期位置は必要ありませんでした。必要なのは初期半径(太陽からのAU /質量の中心)と初期速度だけでした。乱数ジェネレータを使用して、軌道に沿ってランダムな場所に惑星を分散させます。Fortranでは、これは次のようになりました。

CALL RANDOM_NUMBER(randNum)
degrees = 2*3.141592653
theta(1:15) = degrees*randNum(1:15)

そしてそこには、15個のランダムな放射状位置の配列があります。あなたは私たちの太陽系の惑星の初速度をあらゆる信頼できる資源から得ることができます。


この解決策は、惑星が円軌道を持っていると仮定しませんか?
Isracg 2014年

ええ、残念ながらそうです。幸いにも私たちにとっては、それは妥当な仮定です。どの惑星をシミュレートしようとしていますか?あなたのプロジェクトの初期パラメータと目標についてもっと知っていれば、もう少し助けになるでしょう。
IronWaffleMan、2014年

まず、OpenCLとOpenGLを使用してC#でこれを行います。OpenCLで実装するのが最も簡単だったので、私は単純なO(n ^ 2)アルゴリズムを使用しています。最初は天の川とアンドロメダの衝突をシミュレートしようとしましたが、これは本当に遅いことが判明したので、今は2Dで太陽系をシミュレートすることのみを試みています。
Isracg 2014年

そう、そうです... C#は、C / C ++ / Fortranのようなものよりも、この種の科学計算にはあまり適していません。OpenCL / GLを何に使用していますか?太陽系のシミュレーションは、数十億の星の衝突よりもはるかに簡単です。手始めに、本当に気にしない限り、水星を無視することができます(それは他に影響を与えません)。これをシミュレーションして、不安定さや他の最終目標にどのように反応するかを確認しようとしていますか?
IronWaffleMan、2014年

私はFortranよりもC#に最も精通しており、OpenGLを使用して視覚化し、OpenCLを使用して並列処理を行っています私の最終目標は、太陽の周りの惑星の軌道を視覚化することです。
Isracg 2014年

1

先に進んでからおそらく長いと思いますが、参考までに、HORIZONSが使用する初期条件はftp://ssd.jpl.nasa.gov/pub/eph/planets/Linux/に記載されています( "header.431_572") 。 README.txtですが、「テーブル形式」で見つけることができる唯一の場所は、自分のgitリポジトリ内です。

https://github.com/barrycarter/bcapps/blob/master/ASTRO/header.431_572

値については、39ページの「VI。初期条件と定数」から始まるhttp://ilrs.gsfc.nasa.gov/docs/2014/196C.pdfで説明され ています。特に、47ページの表4で始まる表と74ページの表13で終わります。

Mathematicaを使用して初期条件を設定し、微分方程式を数値的に解くためのスクリプトを書いたので、以下が役立つかもしれません:

https://github.com/barrycarter/bcapps/blob/master/ASTRO/README

https://github.com/barrycarter/bcapps/blob/master/ASTRO/bc-header-values.pl

https://github.com/barrycarter/bcapps/blob/master/ASTRO/bc-integrate.m

ステップサイズを十分に小さくすると(Mathematicaのデフォルトのステップサイズが大きすぎる)、私の結果はHORIZONSの結果とほぼ一致します。

https://github.com/barrycarter/bcapps/blob/master/ASTRO/bc-integrate-compare.m

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.