Re: simulazione del sistema solare
(�`�.� D� �.���) wrote:
> Rispondo a tutti:
> Spiego meglio il funzionamento del programma, cos� chiarisco molte idee.
> Ho fatto in C un risolutore di equazioni differenziali col metodo iterativo
> di Runge-Kutta del secondo ordine, potendo scegliere un intervallo di
> integrazione a mio piacimento, che per quanto riguarda la precisione sembra
> soddisfacente, ma forse dovrei ragionarci meglio, per calcolare
> effettivamente quanto errore mi da.
...
Qualche commento in piu' oltre quelli che hai gia' ricevuto.
1. una misura diretta dell' errore di integrazione la puoi avere
controllando la bonta' con cui le costanti del moto sonon conservate.
Non aspettarti delle vere costanti ma, p.es., se guanrdi l' energia
totale dovresti avere fluttuazioni almeno un paio di ordini di grandezza
minori delle fluttuazioni delle singole componenti dell' energia
cinetica o potenziale del sistema (guardando ad almeno una rivoluzione).
2. Per quanto molto popolari tra i matematici numerici, i Runge Kutta
non sono necessariamente i metodi numerici migliori.
Una possibilita' e' data da metodi adattativi alla Adam-Bashford (spero
di non aver sbagliato troppo lo spelling) in cui il passo di
integrazione non e' costante ma viene variato fino a raggiungimento di
una precisione assegnata. Un 'altra (piu' semplice da programmare e con
notevoli vantaggi su altri fronti) e' data dai cosiddetti integratori
"simplettici". Il piu' semplice dei quali e' dato dalle seguenti formule
(per 1 grado di liberta', la generalizzazione a piu' gr di liberta' e'
banale):
data l' accelerazione, velocita' e posizione al tempo t (a(t),v(t),x(t))
x(t+d) = x(t) + d*v(t) + d^2*a(t)/2
vp(t+d)= v(t) + d*a(t)/2
si calcola a(t+d) (funzione solo delle x(t+d) appena ottenute)
e infine
v(t+d) = vp(t+d) + d*a(t+d)/2
e quindi si itera per ottenete x,v,e a ai tempi t+2*d, t+3*d ....
Un algoritmo come il precedente ha due enormi vantaggi su molti altri
(RK inclusi):
a. e' reversibile temporalmente;
b. e' in grado di garantire la conservazione della quantita' di moto
totale e del momento angolare totale a precisione macchina (l' errore
e' unicamente dovuto al roundoff e non alla discretizzazione).
3. naturalmente la simulazione su tempi lunghi e/o con oggetti con forte
variazione delle distanze sono intrinsecamente difficili.
Giorgio
Received on Wed Jan 07 2004 - 23:44:03 CET
This archive was generated by hypermail 2.3.0
: Mon Feb 10 2025 - 04:23:42 CET