Dove posso trovare un insieme di dati delle condizioni iniziali del nostro sistema solare?


8

Come suggerisce il titolo, ho bisogno di una serie di dati del nostro sistema solare. Simile a questo http://bima.astro.umd.edu/nemo/archive/#iau25 , in particolare i dati dubinsky via lattea-andromeda.

Sto creando una simulazione n-body per la scuola e non riesco a trovare le condizioni iniziali delle particelle che potrei usare per simulare il nostro sistema solare nel software che sto sviluppando. Ho bisogno di posizioni iniziali, velocità e massa.

Qualche idea su dove potrei trovarlo?

Grazie.

Risposte:


3

Il generatore di effemeridi di Horizons può darti la posizione di un pianeta e i vettori di velocità in un determinato momento.

Questa è una serie di possibili opzioni:

inserisci qui la descrizione dell'immagine

Facendo clic su Genera effemeridi in quella pagina otterrai vettori di posizione e velocità:

inserisci qui la descrizione dell'immagine

Sopra i vettori di posizione e velocità si trovano la data giuliana e la data più convenzionale.

Wikipedia può dare le masse del sole e dei pianeti.


2

Sono stato in grado di ottenere i vettori orbitali cartesiani per tutti i principali corpi da HORIZON solo all'epoca J2000. Potrei estendere la copertura in avanti nel tempo. È facile ottenere questo sovraccarico di dati. La mia simulazione è modellata usando solo le Leggi di Gravitazione e Movimento. Questo dà risultati sorprendentemente vicini a quelli pubblicati. Far funzionare il sistema solare all'indietro (invertendo i vettori di velocità) mi ha restituito i vettori iniziali al 1900. Questo è tutto ciò di cui avevo bisogno e i risultati erano abbastanza vicini per i miei scopi. Ho ancora i file CSV.

Ho anche avuto tutti i tipi di problemi con l'interfaccia degli orizzonti. Ad esempio, la modifica della data non ha avuto alcun effetto sul valore dei vettori. vale a dire: tutte le date di inizio specificate hanno gli stessi valori. Ultimamente, non sono stato in grado di duplicare questa impresa. Ovviamente ci sono alcuni seri problemi con questa interfaccia, specialmente ultimamente.

So che i dati che ho ricevuto erano corretti perché si correlano perfettamente con eventi pubblicati, ad esempio il recente transito di Mercurio.

Anch'io sto ancora cercando questo tipo di dati.


1

In quale lingua stai scrivendo questa simulazione? È 2D o 3D? Hai solo bisogno di posizioni e velocità per i nostri pianeti del sistema solare?

Ho fatto esattamente questa cosa (simulato il sistema solare in Fortran) e non avevo bisogno di posizioni esatte iniziali, tutto ciò di cui avevo bisogno erano i raggi iniziali (in UA dal Sole / centro di massa) e le velocità iniziali. Usa un generatore di numeri casuali per distribuire i pianeti in punti casuali lungo le loro orbite. A Fortran, questo sembrava:

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

E lì ho una serie di 15 posizioni radiali casuali. Puoi ottenere le velocità iniziali dei pianeti del nostro sistema solare da qualsiasi risorsa affidabile.


Questa soluzione non presuppone che i pianeti abbiano orbite circolari?
Isracg,

Sì, sfortunatamente. Fortunatamente per noi, tuttavia, è un presupposto ragionevole. Quali pianeti stai tentando di simulare? Sarebbe di aiuto un po 'di più se sapessimo di più sui parametri e gli obiettivi iniziali del tuo progetto.
IronWaffleMan

Bene, in primo luogo lo sto facendo in C # usando OpenCL e OpenGL. Sto usando l'algoritmo O (n ^ 2) ingenuo in quanto questo è stato il più facile da implementare in OpenCL. All'inizio ho provato a simulare la collisione tra Milkyway e Andromeda, ma questo si è rivelato molto lento, quindi ora sto solo cercando di simulare il nostro sistema solare in 2D.
Isracg,

OK, quindi ... C # è molto meno adatto per questo tipo di elaborazione scientifica rispetto a qualcosa come C / C ++ / Fortran. Per cosa stai usando OpenCL / GL? Simulare il sistema solare è molto più semplice della collisione di miliardi di stelle, sì. Per i principianti, a meno che non ti interessi davvero, puoi ignorare Mercurio (non influenza nient'altro). Stai simulando questo per cercare di vedere come reagisce all'instabilità o qualche altro obiettivo finale?
IronWaffleMan

Bene, ho più familiarità con C # che Fortran e sto usando OpenGL per la visualizzazione e OpenCL per il parallelismo Il mio obiettivo finale è visualizzare le orbite dei pianeti attorno al sole.
Isracg,

1

Probabilmente hai già fatto progressi, ma, solo per riferimento, le condizioni iniziali utilizzate da HORIZONS sono menzionate ("header.431_572") in ftp://ssd.jpl.nasa.gov/pub/eph/planets/Linux/ README.txt ma l'unico posto in cui sono riuscito a trovarli in "forma tabella" è nel mio repository git:

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

I valori sono spiegati in http://ilrs.gsfc.nasa.gov/docs/2014/196C.pdf a partire da pagina 39, "VI. Condizioni iniziali e costanti", in particolare nelle tabelle che iniziano con la tabella 4 a pagina 47 e che termina con la tabella 13 a pagina 74.

Ho scritto degli script per impostare le condizioni iniziali e risolvere numericamente le equazioni differenziali usando Mathematica, quindi potrebbe essere utile quanto segue:

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

Quando riduco sufficientemente la dimensione del gradino (la dimensione del gradino predefinita di Mathematica è troppo grande), i miei risultati corrispondono strettamente a quelli di ORIZZONTI:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.