Di mana saya dapat menemukan satu set data kondisi awal tata surya kita?

8

Seperti judulnya, saya membutuhkan seperangkat data tata surya kita. Mirip dengan http://bima.astro.umd.edu/nemo/archive/#iau25 ini , khususnya dubinsky milky way-andromeda data.

Saya membuat simulasi n-body untuk sekolah dan sepertinya tidak bisa menemukan kondisi partikel awal yang dapat saya gunakan untuk mensimulasikan tata surya kita dalam perangkat lunak yang saya kembangkan. Saya perlu posisi awal, kecepatan dan massa.

Ada ide di mana saya bisa menemukan ini?

Terima kasih.

Isracg
sumber

Jawaban:

3

Generator Horizons Ephemeris dapat memberi Anda posisi dan kecepatan vektor planet pada waktu tertentu.

Ini adalah satu set opsi yang memungkinkan:

masukkan deskripsi gambar di sini

Mengklik Generate Ephemeris pada halaman itu akan memberi Anda vektor posisi dan kecepatan:

masukkan deskripsi gambar di sini

Di atas vektor posisi dan kecepatan adalah tanggal Julian serta tanggal yang lebih konvensional.

Wikipedia dapat memberikan massa matahari dan planet.

HopDavid
sumber
2

Saya bisa mendapatkan vektor orbital Cartesian untuk semua badan utama dari HORIZON pada zaman J2000 saja. Saya dapat memperluas cakupan ke depan melalui waktu. Sangat mudah untuk mendapatkan data yang berlebihan melakukan hal ini. Simulasi saya dimodelkan menggunakan Hukum Gravitasi dan Gerakan saja. Ini memberikan hasil yang sangat dekat dengan yang dipublikasikan. Menjalankan tata surya mundur (dengan membalik vektor kecepatan) telah memberi saya vektor awal kembali ke 1900. Ini semua yang saya butuhkan dan hasilnya cukup dekat untuk keperluan saya. Saya masih memiliki file CSV.

Saya juga memiliki banyak masalah dengan antarmuka horizon. Misalnya mengubah tanggal tidak berpengaruh pada nilai vektor. yaitu: semua tanggal mulai yang ditentukan memiliki nilai yang sama. Akhir-akhir ini, saya belum bisa menduplikasi prestasi ini. Jelas ada beberapa masalah serius dengan antarmuka ini, terutama belakangan ini.

Saya tahu data yang saya dapatkan adalah benar karena berkorelasi, dengan sempurna, dengan peristiwa yang dipublikasikan, misalnya: transit Merkurius baru-baru ini.

Saya juga masih mencari tipe data ini.

Abe
sumber
1

Bahasa apa yang Anda gunakan untuk simulasi ini? Apakah 2D atau 3D? Apakah Anda hanya membutuhkan posisi dan kecepatan untuk planet tata surya kita?

Saya telah melakukan hal yang tepat ini (disimulasikan tata surya di Fortran) dan saya tidak perlu posisi awal yang tepat, yang saya butuhkan adalah jari-jari awal (dalam AU dari Matahari / pusat massa) dan kecepatan awal. Gunakan generator angka acak untuk mendistribusikan planet-planet di tempat-tempat acak di sepanjang orbitnya. Di Fortran, ini tampak seperti:

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

Dan di sana saya memiliki array 15 posisi radial acak. Anda dapat memperoleh kecepatan awal planet tata surya kita dari sumber daya bereputasi mana pun.

IronWaffleMan
sumber
Bukankah solusi ini mengasumsikan planet memiliki orbit melingkar?
Isracg
Ya, sayangnya, sayangnya. Untungnya bagi kita, itu adalah asumsi yang masuk akal. Planet mana yang Anda coba simulasikan? Ini akan sedikit membantu jika kami tahu lebih banyak tentang parameter dan tujuan awal proyek Anda.
IronWaffleMan
Yah pertama-tama saya melakukan ini di C # menggunakan OpenCL dan OpenGL. Saya menggunakan algoritma naif O (n ^ 2) karena ini adalah yang paling mudah untuk diterapkan di OpenCL. Pada awalnya saya mencoba mensimulasikan tabrakan milkyway-andromeda tetapi ini ternyata sangat lambat, jadi sekarang saya hanya mencoba mensimulasikan tata surya kita dalam 2D.
Isracg
OK, jadi ... C # cocok jauh lebih sedikit untuk jenis komputasi ilmiah daripada sesuatu seperti C / C ++ / Fortran. Untuk apa Anda menggunakan OpenCL / GL? Mensimulasikan tata surya jauh lebih mudah daripada tabrakan miliaran bintang, ya. Sebagai permulaan, kecuali jika Anda benar-benar peduli, Anda dapat mengabaikan Merkurius (itu tidak mempengaruhi hal lain). Apakah Anda mensimulasikan ini untuk mencoba melihat bagaimana reaksinya terhadap ketidakstabilan, atau tujuan akhir lainnya?
IronWaffleMan
Yah saya paling akrab dengan C # daripada Fortran, dan saya menggunakan OpenGL untuk visualisasi dan OpenCL untuk paralelisme. Tujuan akhir saya adalah memvisualisasikan planet-planet yang mengorbit di sekitar matahari.
Isracg
1

Anda mungkin sudah lama pindah, tetapi, hanya untuk referensi, kondisi awal penggunaan HORIZON disebutkan ("header.431_572") di ftp://ssd.jpl.nasa.gov/pub/eph/planets/Linux/ README.txt tetapi satu-satunya tempat saya dapat menemukannya di "form tabel" adalah di repositori git saya sendiri:

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

Nilai-nilai dijelaskan dalam http://ilrs.gsfc.nasa.gov/docs/2014/196C.pdf mulai dari halaman 39, "VI. Kondisi Awal dan Konstanta", terutama dalam tabel yang dimulai dengan Tabel 4 pada halaman 47 dan berakhir dengan Tabel 13 di halaman 74.

Saya telah menulis skrip untuk mengatur kondisi awal dan menyelesaikan secara numerik persamaan diferensial menggunakan Mathematica, jadi yang berikut mungkin membantu:

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

Ketika saya mengurangi ukuran langkah secukupnya (ukuran langkah standar Mathematica terlalu besar), hasil saya sangat cocok dengan HORIZONS:

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

barrycarter
sumber