Où puis-je trouver un ensemble de données sur les conditions initiales de notre système solaire?


8

Comme le titre l'indique, j'ai besoin d'un ensemble de données de notre système solaire. Similaire à cette http://bima.astro.umd.edu/nemo/archive/#iau25 , en particulier les données de la voie lactée dubinsky-andromeda.

Je crée une simulation à n corps pour l'école et je n'arrive pas à trouver de conditions initiales de particules que je pourrais utiliser pour simuler notre système solaire dans le logiciel que je développe. J'ai besoin des positions initiales, de la vitesse et de la masse.

Une idée où je pourrais trouver ça?

Je vous remercie.

Réponses:


3

Le générateur Horizons Ephemeris peut vous donner les vecteurs de position et de vitesse d'une planète à un moment spécifié.

Il s'agit d'un ensemble d'options possibles:

entrez la description de l'image ici

Cliquer sur Générer des éphémérides sur cette page vous donnera des vecteurs de position et de vitesse:

entrez la description de l'image ici

Au-dessus des vecteurs de position et de vitesse se trouvent la date julienne ainsi que la date plus conventionnelle.

Wikipedia peut donner les masses du soleil et des planètes.


2

J'ai pu obtenir les vecteurs orbitaux cartésiens pour tous les principaux corps d'HORIZON à l'époque J2000 seulement. Je pourrais étendre la couverture vers le temps. Il est facile d'obtenir une surcharge de données en faisant cela. Ma simulation est modélisée à l'aide des seules lois de la gravitation et du mouvement. Cela donne des résultats étonnamment proches de ceux publiés. Faire fonctionner le système solaire à l'envers (en inversant les vecteurs de vitesse) m'a redonné les vecteurs initiaux à 1900. C'est tout ce dont j'avais besoin et les résultats étaient suffisamment proches pour mes besoins. J'ai toujours les fichiers CSV.

J'ai également eu toutes sortes de problèmes avec l'interface horizons. Par exemple, la modification de la date n'a eu aucun effet sur la valeur des vecteurs. c'est-à-dire que toutes les dates de début spécifiées ont les mêmes valeurs. Dernièrement, je n'ai pas pu reproduire cet exploit. Il y a évidemment de sérieux problèmes avec cette interface, surtout récemment.

Je sais que les données que j'ai obtenues étaient correctes car elles sont parfaitement en corrélation avec les événements publiés, par exemple: le récent transit de Mercure.

Moi aussi, je recherche toujours ce type de données.


1

Dans quelle langue écrivez-vous cette simulation? Est-ce 2D ou 3D? Avez-vous seulement besoin de positions et de vitesses pour nos planètes du système solaire?

J'ai fait exactement cela (simulé le système solaire à Fortran) et je n'avais pas besoin de positions initiales exactes, tout ce dont j'avais besoin était des rayons initiaux (en AU du Soleil / centre de masse) et des vitesses initiales. Utilisez un générateur de nombres aléatoires pour distribuer les planètes à des endroits aléatoires le long de leurs orbites. À Fortran, cela ressemblait à:

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

Et là, j'ai un tableau de 15 positions radiales aléatoires. Vous pouvez obtenir les vitesses initiales des planètes de notre système solaire à partir de n'importe quelle ressource réputée.


Cette solution ne supposerait-elle pas que les planètes ont des orbites circulaires?
Isracg

Oui, malheureusement. Heureusement pour nous, c'est une hypothèse raisonnable. Quelles planètes essayez-vous de simuler? Cela aiderait un peu plus si nous en savions plus sur les paramètres et objectifs initiaux de votre projet.
IronWaffleMan

Eh bien tout d'abord, je fais cela en C # en utilisant OpenCL et OpenGL. J'utilise l'algorithme naïf O (n ^ 2) car c'était le plus facile à implémenter dans OpenCL. Au début, j'ai essayé de simuler la collision voie lactée-andromède, mais cela s'est avéré être très lent, alors maintenant j'essaie seulement de simuler notre système solaire en 2D.
Isracg

OK, alors ... C # est beaucoup moins adapté à ce type de calcul scientifique que quelque chose comme C / C ++ / Fortran. Pourquoi utilisez-vous OpenCL / GL? Simuler le système solaire est bien plus facile que la collision de milliards d'étoiles, oui. Pour commencer, à moins que vous ne vous en souciez vraiment, vous pouvez ignorer Mercure (cela n'affecte rien d'autre). Simulez-vous cela pour essayer de voir comment il réagit à l'instabilité ou à un autre objectif final?
IronWaffleMan

Eh bien, je connais mieux C # que Fortran, et j'utilise OpenGL pour la visualisation et OpenCL pour le parallélisme. Mon objectif final est de visualiser les orbites des planètes autour du soleil.
Isracg

1

Vous avez probablement depuis longtemps évolué, mais, juste pour référence, les conditions initiales utilisées par HORIZONS sont mentionnées ("header.431_572") dans ftp://ssd.jpl.nasa.gov/pub/eph/planets/Linux/ README.txt mais le seul endroit où je pouvais les trouver sous "forme de table" est dans mon propre dépôt git:

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

Les valeurs sont expliquées dans http://ilrs.gsfc.nasa.gov/docs/2014/196C.pdf à partir de la page 39, "VI. Conditions initiales et constantes", en particulier dans les tableaux commençant par le tableau 4 à la page 47 et se terminant par le tableau 13 à la page 74.

J'ai écrit des scripts pour configurer les conditions initiales et résoudre numériquement les équations différentielles à l'aide de Mathematica, donc les éléments suivants peuvent être utiles:

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

Lorsque je réduis suffisamment la taille de pas (la taille de pas par défaut de Mathematica est trop grande), mes résultats correspondent étroitement à ceux des HORIZONS:

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.