« Projet: Evolution d'une galaxie » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 4 : | Ligne 4 : | ||
Les classes de base à considérer sont : |
Les classes de base à considérer sont : |
||
* la classe "UEtoile" définissant une étoile. Pour le moment, on y inclut la masse, la position et la vitesse de l'étoile. Un premier squelette de classe peut être trouvé ici : [[http://www.lapp.in2p3.fr/~buskulic/UEtoile.h UEtoile.h]] et [[http://www.lapp.in2p3.fr/~buskulic/UEtoile.C UEtoile.C]] |
* la classe "UEtoile" définissant une étoile. Pour le moment, on y inclut la masse, la position et la vitesse de l'étoile. Un premier squelette de classe peut être trouvé ici : [[http://www.lapp.in2p3.fr/~buskulic/UEtoile.h UEtoile.h]] et [[http://www.lapp.in2p3.fr/~buskulic/UEtoile.C UEtoile.C]]. Utilisez-le. |
||
* la classe "UGalaxie" qui reste à écrire, représentant un ensemble d'étoiles, pas forcément une galaxie (amas globulaire, etc...) |
* la classe "UGalaxie" qui reste à écrire, représentant un ensemble d'étoiles, pas forcément une galaxie (amas globulaire, etc...) |
||
Ligne 11 : | Ligne 11 : | ||
Remarques : |
Remarques : |
||
* On adoptera une convention de noms pour les classes et variables membres des classes, ainsi que pour les méthodes : |
* On adoptera une convention de noms pour les classes et variables membres des classes, ainsi que pour les méthodes : |
||
** tous les noms de classe commenceront par un U majuscule |
** tous les noms de classe commenceront par un U majuscule suivi d'une majuscule |
||
*** Exemple : UEtoile, UGalaxie, UEDOMoteur |
|||
** tous les noms de variable membres d'une classe commenceront par un "m" minuscule suivi d'une majuscule |
** tous les noms de variable membres d'une classe commenceront par un "m" minuscule suivi d'une majuscule |
||
*** Exemple : mX, mMasse |
|||
** tous les noms de méthode de classe commenceront par une majuscule suivie de minuscules, sauf pour marque le début d'un mot. |
** tous les noms de méthode de classe commenceront par une majuscule suivie de minuscules, sauf pour marque le début d'un mot. |
||
*** Exemple : Trace() ou TraceUnCarre() |
*** Exemple : Trace() ou TraceUnCarre() |
||
** on verra au fil du temps pour les variables internes aux méthodes |
|||
= Moteur de résolution d'équations différentielles = |
|||
== Méthodes == |
Version du 1 octobre 2008 à 13:03
On veut simuler l'évolution d'une galaxie, en particulier sa structure, au cours du temps. Il s'agit en fait d'un problème à N corps, N étant grand (quelques centaines pour commencer). Les notions de C++ vues en cours seront (ré)introduites et utilisées au fur et à mesure. On a d'abord scindé le problème en parties, chacune étant traitée par un binôme.
Structure générale du code et définition des classes de base
Les classes de base à considérer sont :
- la classe "UEtoile" définissant une étoile. Pour le moment, on y inclut la masse, la position et la vitesse de l'étoile. Un premier squelette de classe peut être trouvé ici : [UEtoile.h] et [UEtoile.C]. Utilisez-le.
- la classe "UGalaxie" qui reste à écrire, représentant un ensemble d'étoiles, pas forcément une galaxie (amas globulaire, etc...)
Un moteur "EDOMoteur", dont nous ne sommes pas encore persuadé qu'il doit s'écrire sous forme de classe (c'est probable). Ce moteur prendrait les objets d'une galaxie un à un et les fera évoluer dans le temps. Une méthode de Runge-Kutta simple sera implémentée au début, que l'on fera évoluer vers une méthode avec pas de temps adaptatif.
Remarques :
- On adoptera une convention de noms pour les classes et variables membres des classes, ainsi que pour les méthodes :
- tous les noms de classe commenceront par un U majuscule suivi d'une majuscule
- Exemple : UEtoile, UGalaxie, UEDOMoteur
- tous les noms de variable membres d'une classe commenceront par un "m" minuscule suivi d'une majuscule
- Exemple : mX, mMasse
- tous les noms de méthode de classe commenceront par une majuscule suivie de minuscules, sauf pour marque le début d'un mot.
- Exemple : Trace() ou TraceUnCarre()
- on verra au fil du temps pour les variables internes aux méthodes
- tous les noms de classe commenceront par un U majuscule suivi d'une majuscule