Programme en C++ :
Système gravitationnel à N corps


       Ce programme permet de calculer la trajectoire d'un ensemble d'astres en interaction gravitationnelle dans un espace à 2 ou 3 dimensions en utilisant uniquement l'attraction universelle. Le calcul est réalisé grâce à un système standard de résolution d'équations différentielles couplées utilisant au choix les méthodes d'Euler, de Runge-Kutta d'ordre 2 ou d'ordre 4. Pour pouvoir utiliser efficacement ce programme l'important est de faire un bon compromis entre le pas utilisé dans le calcul, la période sur laquelle le calcul s'effectue et le choix des données à enregistrées de façon à obtenir un temps de calcul résonable !

Installation :

  1. Il faut tout d'abord télécharger tous les fichiers du programme (ci-dessous):
  2. Ensuite il suffit de compiler l'enssemble de ces fichiers.
    Pour information la ligne de commande sous UNIX (depuis un terminal Mac OS X ou LINUX ouvert sur le dossier contenant les fichiers, est :
    g++ StarSimulPrg2.cpp SystemStar.cpp EulerODEStepper.cpp RK2ODEStepper.cpp RK4ODEStepper.cpp Display_System.cpp Enter_System.cpp -lm -o StarSimulPrg2
    (le nom du programme à éxécuter par la suite est le dernier mot de la ligne soit ici StarSimulPrg2 )

Utilisation :

       Ce programme utilise un fichier de configuration pour facilter la saisie des données. Ce fichier de configuration est lu par le programme, les différentes données étant séparées par des espaces. L'organisation des données est la suivante :


Voici une série d'exemple de fichiers de configuration sur différents systèmes :


    Il faut ensuite lancer le programme précédemment compilé avec les arguments explicité ci-dessous. La ligne de commande sous UNIX (depuis un terminal Mac OS X ou LINUX ouvert sur le dossier contenant le programme) est :
./StarSimulPrg2 --[argument(s)] < [fichier de configuration].cfg > [fichier de données](.res ou .rem)

   Il suffit ensuite de lire les données où d'éxécuter les fichiers créés.
    Pour lire des données sous gnuplot, il est pratique d'utiliser les macros correspondant au système étudié (.com) puisque ces macros sont conçues pour lire le fichier de données avec l'extension .res correspondant. Par exemple pour le systeme Soleil - Terre on exécute les commandes suivantes :
Sous le terminal (lancement du calcul : attention la durée de calcul peut être importante) :
   ./StarSimulPrg2 --rk4 < Soleil_Terre.com > Soleil_Terre.res
Puis sous gnuplot : load 'Soleil_Terre.com'
Pour visualiser une animation il faut simplement lancer le fichier de données correspondant. Voici la liste des macros gnuplot correspondant aux fichiers de configuration présentés plus haut :



      Ce programme est succeptible d'être amélioré notament pour gagner du temps sur la durée de calcul mais aussi pour avoir une utilité plus pratique au niveau de l'astronomie ou autres.

Pour toutes remarques ou renseignements, vous pouvez écrire à : anton.petiteau@wanadoo.fr.