La maggior parte dei metodi di integrazione numerica di Eulero soffre di un errore cumulativo di arrotondamento che causerà la "simulazione" della simulazione. Potresti voler indagare su metodi di integrazione numerica avanzati, come Runge-Kutta del 4 ° ordine o predittore-correttore.
Un altro luogo in cui le simulazioni dei problemi di n-body diventano appiccicose è quando due corpi si avvicinano molto, come una luna con un'orbita molto eccentrica sul suo pianeta. Se si utilizzano incrementi di tempo fissi per la simulazione, l'errore durante grandi cambiamenti di velocità angolare può portare a errori di divisione per zero oa divisione di valori molto piccoli che provocano l'esplosione della simulazione. L'utilizzo di un delta-variabile variabile che dipende dalla velocità angolare può essere utile.
Questi suggerimenti si basano sull'esecuzione di molte simulazioni come un progetto per un corso di laurea di primo livello che ho frequentato nel 1973, mentre testavo vari metodi di integrazione numerica. I metodi di correzione dei predittori e Runge-Kutta sono presenti sin dagli albori dell'informatica digitale e sono disponibili numerosi libri. Vedi, ad es., Ricette numeriche: L'arte dello studio scientifico di William H. Press, Brian P. Flannery, Saul A. Teukolsky e William T. Vetterling. (Cambridge University Press, 1989)
fonte
2013-09-20 18:11:18
Potresti anche pubblicare il modulo 'Iniziale', quindi compila? – leftaroundabout
https://github.com/idontgetoutmuch/Leapfrog/blob/master/Initial.hs – idontgetoutmuch