In rete : http://www.elegio.it/omnia/as/as20140527.html

#$_ #@_ #A_ #B_ #C_ #D_ #E_ Questa fdiff, usabile per descrivere anche sciami di particelle, pianeti o altro... , tiene consecutive le posizioni e le velocità in modo che nel caso di due particelle, studiato qui, sia semplicemente necessario il raddoppio del vettore del caso ad una sola particella... #F_ #G_ #H_ #I_ #J_ #K_ #$_

Runge Kutta di Dormand e Prince con due corpi di massa confrontabile

Orbita ellittica ( versione del 26 maggio 2014 )

Per poter confrontare i calcoli col caso in cui il baricentro è imposto si opera imponendo che il Sole abbia una massa, usando le impostazioni iniziali, 10 volte maggiore di quella dell'asteroide molto pesante... In pratica è come descrivere il moto di un sistema binario di stelle...

L'asteroide sta sull'asse minore e quindi la sua velocità è la velocità media e la distanza dall'astro è il semiasse maggiore.

Oltre alla posizione ed al versore della velocità va assegnato il periodo di rivoluzione voluto da cui si ricava il prodotto di G per la massa M dell'astro.

Si possono anche assegnare i cicli voluti in modo da verificare che, anche dopo parecchi cicli, l'asteroide torna al punto di partenza e si possono indicare quante iterazioni al massimo possono essere fatte per completare ciascuno dei 360 passi del ciclo globale.
Se, in base al criterio di tolleranza prefissato, non si riesce ad ottenere la precisione voluta, compare una segnalazione di errore ed il calcolo viene interrotto ( per cui si deve o aumentare la tolleranza o aumentare il numero massimo di iterazioni fatte ad ogni passo ).

Notare che il versore della velocità [Vx,Vy,Vz] viene assegnato in forma NON normalizzata, ed è assegnata la posizione del punto [Px,Py,Pz] che, nell'istante iniziale, si trova sul semiasse minore ossia, per definizione dell'ellisse, ad uguale distanza dai due fuochi ( in questo caso uno di questi è sempre l'origine e rappresenta il BARICENTRO mentre l'altro dipende da come si assegna il versore della velocità e il periodo imposto che determina la massa dello pseudosole necessaria per fare in modo che il periodo sia quello voluto... e magari noto da una qualche fonte...).

Se i due vettori sono ortogonali tra loro ossia   Px·Vx+Py·Vy+Pz·Vz = 0   si ottiene un'orbita perfettamente circolare ossia i due fuochi coincidono e il modulo della velocità è sempre costante... Questo è dunque un facile e semplice test del buon funzionamento del Runge Kutta qui utilizzato... poi ovviamente si possono analizzare situazioni determinate da condizioni iniziali meno banali...

È ammesso indicare un rapporto tra la massa del Sole e quella dell'Asteroide che non deve essere inferiore a 1 per non invertire i ruoli. L'orbita del Sole è identica, a parte la scala, a quella dell'Asteroide e questo è un buon criterio di verifica della correttezza dei calcoli. I versori della posizione e velocità del Sole sono sempre opposti a quella dell'Asteroide e il segmento congiungente il Sole con l'Asteroide deve SEMPRE PASSARE PER IL BARICENTRO che deve essere FERMO e coincidente con l'origine ma... senza che questo sia imposto ma deve essere una conseguenza dei calcoli ... se fatti correttamente.

Px [m]=
Py [m]=
Pz [m]=
Vx [m/s]=
Vy [m/s]=
Vz [m/s]=
Periodo [s] =
Rapporto tra le due masse =
N. periodi =
Iterazioni max. =
Tolleranza =
   

...id: risultato1...

X AVVISI

Z AVVISI

!Javascript non attivato!

--------------

Qua sta il secondo gruppo di dati ( approfondimento )
Scegliere con i pulsanti qua sopra quale intervallo si vuole suddividere in altri 360 passettini
Partendo dall'istante prescelto che nel raffinamento viene indicato come 0 si va fino al 359 intervallo del raffinamento che dovrebbe coincidere con l'istante successivo a quello prescelto. Dunque si tratta di fare una verifica interna dell'algoritmo qui usato.

!Javascript non attivato!

--------------

Ecco il sistema di equazioni che viene integrato qui

In pratica si tratta di sei equazioni differenziali di cui tre banalissime ossia che la derivata della posizione è la velocità e le altre tre meno banali ma... semplicemente la legge di Newton ossia la derivata dell'accelerazione per la massa è la forza e, in questo caso, la massa dell'accelerazione si semplifica con la massa che moltiplicherebbe il gradiente del potenziale gravitazionale generato dallo pseudo Sole...

... Qui, con il Javascript abilitato, mostra le funzioni cruciali ...

Ovviamente questo è solo un calcolo di verifica della corretta programmazione del solutore del sistema di equazioni differenziali alle derivate rispetto al tempo.

Qualche libro sull'argomento