Simulation d'un gaz parfait


Pour modéliser un gaz parfait, on étudie un système bidimensionnel de billes, inertes et indéformables.
Les positions initiales des billes sont aléatoires, l'amplitude de la vitesse initiale est proportionnelle à T½ et les directions des vitesses initiales sont aléatoires.
On pose a priori que :
<Vx> = <Vy> = 0 et aussi que
<V2x> = <V2y>= ½<V2>
Les chocs avec les parois sont parfaitement élastiques : Lors d'un choc avec une paroi verticale, la composante verticale de la vitesse est inchangée et la composante horizontale change de signe. On néglige les chocs entre les billes.
Avec ces hypothèses, les particules doivent se comporter comme un gaz parfait obéissant à l'équation d'état pV = nRT .
Pour évaluer la pression, on peut considérer l'action des billes sur un piston mobile de masse M.

Lors du choc d'une bille, dont la composante verticale de la vitesse est Vy, avec le piston, on considère que celui-ci monte d'une quantité dH = k.Vy. Pendant l'intervalle de temps dt, on considère que le piston descend de dH' = h.M.(dt)2.

Utilisation :
Avec le curseur, choisir la valeur de la température T (vitesse des particules) .
Choisir le nombre de billes N.
Le bouton [Départ] relance la simulation.
Le programme affiche la valeur H de la hauteur du piston.
Vérifier, pour une durée suffisante de la simulation, que H = a.T.
Il est nécessaire d'attendre au moins une minute avant que la position du piston soit stabilisée.
Comme les positions initiales et les directions des vitesses sont aléatoires et que le nombre de billes est faible (20 à 80), l'incertitude sur la position d'équilibre du piston est assez grande mais on vérifie assez bien la loi.

Remarque importante :
Dans la simulation, on recherche la date du premier choc d'une des billes avec une paroi et on effectue alors la mise à jour de l'affichage. Cette méthode conduit à un déroulement non linéaire du temps et ne rend pas compte de la vitesse réelle des billes.
Deux billes est coloriées de manières différentes pour permettre de suivre leurs mouvements.

Le programme effectue beaucoup de calculs. La durée de ces calculs entre deux affichages est variable et l'animation manque de fluidité.