Newsgroup: it.scienza.fisica
Titolo: problema dei tre corpi

Sto cercando senza successo il sorgente di un programma che simuli il 
"three body problem" utilizzando il metodo di Runge-Kutta. C'e' qualcuno 
che possa aiutarmi?
Grazie anticipatamente!

 wrote in message
5AIg8.65558$fa5.2...@twister2.libero.it...

Scusa ma ti riferisci al metodo di Runge - Kutta per risolvere numericamente
le equazioni differenziali ?
Ciao

 ha scritto nel messaggio
news:a60ooa$qd9$1...@lacerta.tiscalinet.it...


 sconosciuta.
Si il metodo di Runge-Kutta e' un metodo molto efficiente per risolvere
equazioni differenziali con il calcolatore. Pero' credo che l'espressione
....."brutalmete"... ecc...... non gli si addice :-) anzi secondo me
presenta degli aspetti matematici molto interessanti come del resto tutti i
metodi numerici. Nel caso delle equazioni differenziali di questi metodi ne
esistono moltissimi e tutti molto validi. Pensavo che conoscendo le
equazioni differenziali che descrivono il problema dei tre corpi, si possa
poi applicare uno di questi metodi e da qui poi ricavarne un programma.
Certo che se il programma e' già disponibile in rete bello e fatto si fa
prima, ma io non lo so. Se vi interessa vi racconto a puntate il metodo di
Runge - Kutta, cmq si trova sui libri di calcolo numerico.
Ciao

 equazioni differenziali con il calcolatore. 
...
Vero in generale, pero' per problemi di dinamica ci si e' resi conto da
10/15 anni che i cosiddetti algoritmi simplettici offrono vantaggi non
trascurabili.
Il piu' semplice degli algoritmi simplettici e' quello che la comunita'
che fa simulazione in materia condensata chiama "Velocity Verlet"
Vale per forze non dipendenti dalla velocita' e si scrive in 2 righe:
x(t+dt) = x(t) + v(t)*dt + 0.5*a(t)*dt^2
v(t+dt) = v(t) + 0.5*[a(t) + a(t+dt)]*dt
dove a(t) e' l' accelerazione (forza / massa) al tempo t.
N.B. tra la prima e la seconda formula occorre ri-valutare le forze
nella nuova posizione a t+dt.
La generalizzazione per piu' gradi di liberta' e' diretta.
Il vantaggio di una formula simplettica e' che nonostante l' errore di
discretizzazione (dt finito), l' evoluzione resta hamiltoniana. In
soldoni significa che leggi di conservazione tipo momento lineare o
momento angolare continuano ad essre validi anche per la dinamica
discretizzata, ovvero sono realizzati "a precisione macchina" e non
dipendono da dt. P. es. con un integratore non simplettico, gli errori
di discretizzazione possono trasformare un' ellisse del problema di
Keplero in una curva che non chiude su se stessa.
Ovviamente anche per gli integratori simplettici la qualita' della
traiettoria dipende dalla scelta del time step (dt). In genere si prende
il dt grande abbastanza da permettere un' evoluzione ma non cosi' grande
da distruggere la conservazione dell' energia (l' energia del sistema
che si vuole simulare NON e' una quantita' conservata esattamente).
Tipicamente oscillazioni dell' energia attorno ad un valore costante
dell' ordine del 1% o 0.1% delle variazioni di energia potenziale
possono essere un buon punto di partenza.
Il tutto e' implementabile in un programma scritto in linguaggi di alto
livello (C,C++, fortran) senza particolari problemi.
Giorgio

 [ ... ]
Interessante ! E dove si trovano maggiori informazioni (magari in rete) sul
metodo che proponi ? Sui miei libri di Calcolo Numerico non c'e' :-(
Quindi praticamente i metodi numerici che in genere si trovano sui libri, di
Eulero, di Runge - Kutta, di Adams, ecc....ecc.... sono poco usati ? Hanno
giusto uno scopo didattico ?
Io ad esempio so che il programma Spice (simulatore di circuiti) al suo
interno implementa un metodo molto semplice : Uno degli algoritmi di Eulero.
Pero' per alcune cose della Fisica si vede che occorrono algoritmi più
sofisticati.
Passando a tutt'altro argomento se dovessi risolvere numericamente
l'equazione di Boltzmann della Meccanica Statistica quale metodo
utilizzeresti ? Tempo addietro avevo pensato di fare un programma su ciò e
mi domandavo come era meglio fare. Per esempio mi sarebbe piaciuto molto
osservare l'evoluzione temporale della funzione di distribuzione f(r, v, t)
in situazione di *non* equilibrio, con il sistema sottoposto a vari campi di
forza esterni.
Grazie, Ciao

...

prova a cercare "Xstar n-body solver". E' un salvaschermo per linux che
visualizza le tracce del moto di un sistema a n corpi, risolvendo
numericamente le eq. del moto; c'e' anche il sorgente in C e una guida
dettagliata; puo' usare diversi metodi (alcuni abbastanza sofisticati, mi
pare) tra cui anche il classico RK, mi pare. prova a vedere se ti puo'
interessare...
ciao, Lorenzo

 forza esterni.
Intendi l' equazione con in termine collisionale scritto in funzione di
f e della sezione d' urto ?
So che c'e' chi ci lavora ma non conosco i dettagli. Ci sono vari
approcci da quelli piu' fluidodinamici a quelli piu' stocastici. L'
impresa diretta e' comunque non banale perche' in generale devi
rappresentare una funzione di 7 variabili e farci sopra dei conti. 
Giorgio

 utilizzeresti ? 
Una possibilita' piuttosto usata e' la simulazione Montecarlo.
Detto scheletricamente funziona piu' o meno cosi':
1) parti da una distribuzione di particelle a piacere;
2) evolvi il sistema sotto l'influenza delle sole forze esterne
per un tempo T scelto a caso da una opportuna distribuzione di
probabilita' (es. Poissoniana);
3) al tempo T alteri la velocita' di una particella, scegliendo
la nuova velocita' in modo opportuno (
p.es
. una distribuzione
Maxwelliana);
4) torna a (2).
Ricordo che sulla soluzione dell'eq. di Boltzmann nei
semiconduttori c'era un articolo di rassegna di Jacoboni e
Reggiani sul Rev. of Mod. Phys. n. 55 (1983), senz'altro pero'
trovi anche materiale piu' recente.
-- 
Enrico Smargiassi
http://www-dft.ts.infn.it/~esmargia

 ha scritto nel messaggio
news:a63kbf$h8t$1...@lacerta.tiscalinet.it...


trovi anche materiale
piu' recente.
Se interessa materiale piu' recente sull'argomento:
1)
Fischetti e Laux: "Monte  Carlo study of sub-band-gap
impact ionization in
small silicon field effect transistor",
IBM tech. digest, (ho perso l'anno
ma dovrebbe essere 1995).
Lo trovi anche in rete ma ho perso il link
(credo comunque
al sito IBM sotto la voce "research").
2)Abramo (et al.
50 e passa autori :-) ): "A comparison
of numerical solutions of the
Boltzmann Transport 
Equation for high energy electron transport silicon",
IEEE trans. on electron devices, vol 41, n 9, sept. 1994
pero' sono
molto specifici e reletivi al caso dei semiconduttori,
non so se pssono
essere utili al Kotelnikor. Magari
qualche riferimento o spunto lo puo'
trovare.
Andrea.
--------------------------------
Inviato via 
http://usenet.iol.it
 

grazie 1000
:)
claudio
