Simulations JAVA des équations du mouvement

Cette page pointe vers quelques démonstrations simple de résolution numérique des équations du mouvement.

Attention: vous devez utiliser un navigateur compatible avec JAVA pour visionner ces simulations et JAVA doit être activé dans les préférences du navigateur.

Si vous désirez visionner ces simulations hors-ligne, il vous faut sauvegarder le présent fichier sur votre ordinateur et importer le fichier simul.zip, qui contient un répertoire (compressé) appelé simul, à placer dans le même répertoire que le fichier présent.

Liste des simulations disponibles:


Utilisation des programmes

Chaque exemple présente un panneau graphique dans lequel la trajectoire est illustrée au fur et à mesure qu'elle est calculée. Certaines simulations présentent deux panneaux graphiques et certaines autres un graphique de certaines quantités en fonction du temps. Dans tous les cas, une rangée de boutons accompagne chaque panneau graphique et permet d'en contrôler l'apparence. Les symboles apparaissant sur les boutons sont les suivants:

X Effacer les courbes ou les points déjà existants
N Retourner à la vue normale
+ Diviser l'échelle par deux (Zoom in)
_ Multiplier l'échelle par deux (Zoom out)
D Déplacer la vue vers la droite
G Déplacer la vue vers la gauche
H Déplacer la vue vers le haut
B Déplacer la vue vers le bas

 

À gauche, le bouton Tracer/Stop permet de contrôler l'exécution du programme. La vitesse d'exécution peut être ajustée à l'aide du glissoir immédiatement au-dessous. Le bouton en-dessous du glissoir permet de changer de méthode de calcul, c'est-à-dire de passer de la méthode Runge-Kutta de 4e ordre à pas adapté (par défaut) [noté RKA] à la méthode à pas fixe [notée RK4].

Les paramètres spécifiques à chaque système peuvent être modifiés en stoppant le programme et en modifiant les valeurs qui figurent au bas du graphique ou, dans certains cas, à droite. En général, les paramètres ne sont ajustables qu'à l'intérieur de bornes pré-établies; on peut les modifier à l'aide des boutons-glissoirs ou directement dans le champ numérique.

Attention! La méthode Runge-Kutta à pas adapté (RKA) ne fonctionne pas en temps réel, mais affiche les résultats de manière saccadée. Lorsque les forces augmentent (par exemple lorsque des particules en interaction se rapprochent l'une de l'autre) le temps de calcul augmente, provoquant un ralentissement apparent du mouvement, alors qu'en réalité c'est le contraire qui se produit. Pour avoir une idée dela progression du mouvement en temps réel, il faut utiliser la méthode à pas fixe (RK4)


Explication de la méthode

Dans chacune de ces simulations, les équations du mouvement sont résolues par la méthode de Runge-Kutta, une méthode générale de résolution des équations différentielles ordinaires.

Cette méthode permet de résoudre un système d'équations différentielles du premier ordre. Les équations du mouvement de la mécanique sont du deuxième ordre. Cependant, un système de N équations différentielles du deuxième ordre peut s'écrire comme un système équivalent de 2N équations différentielles du premier ordre. C'est ce qui est fait ici.

Essentiellement, le programme part d'un état initial du système (spécifié par les coordonnées et les vitesses des particules). Le programme calcule toutes les forces agissant sur la ou les particules, c'est-à-dire qu'il calcule les dérivées des positions et des vitesses. Ensuite, il change la configuration du système en lui faisant suivre ces dérivées pendant un très court laps de temps dt. Ensuite, il recommence à calculer les dérivées à partir de la nouvelle configuration, etc. (en fait, c'est un peu plus compliqué que ça, puisque puisqu'on utilise la méthode Runge-Kutta de 4e ordre, mais je passe sur ces détails).


Qu'est-ce que Java ?

Java est un langage de programmation par objet utilisé pour construire des mini programmes apparaissant dans des pages Web . On appelle ces mini-programmes Applets. Java est en fait un C++ légèrement modifié (il n'y a pas de pointeurs, par exemple) et est très facile à utiliser. Les personnes intéressées peuvent consulter la page de Sun Microsystems à cet effet. Les compilateurs sont disponibles pour toutes les plate-formes et sont gratuits.


Commentaires ou Questions ?

Écrivez-moi : David Sénéchal