Bonjour,
Tu peux réaliser ça en simplifiant le problème dans un premier temps. Oublie le piston, si tu veux tester la loi des gaz parfaits en introduisant des particules, contente-toi de les faire apparaitre à un endroit où il y a un trou. Je dis particule, parce qu’une molécule est potentiellement non ronde, ce qui complique énormément le calcul des collisions. Reste sur des boules. Ensuite, reste en 2D dans un premier temps si ça peut t’aider.
Il faut alors faire ta méthode d’intégration du mouvement préférée (Verlet, Leapfrog, etc), pour calculer le déplacement des particules. En cas de rencontre, collision, donc changement de vitesse. Là il y a un piège : tu vas devoir vérifier pour chaque particule si elle est en contact avec toutes les autres. Pour 100 particules, ça marche, pour 100 000, non (calculs à réaliser au carré du nombre de particule). Mais c’est à voir dans un second temps, donc je laisse de côté.
Il faut aussi gérer les collisions aux murs.
Là, tu as une simu en 2D. Pour l’afficher, tu peux exporter la position de toutes tes particules et le donner à un logiciel comme ovito (libre et gratuit). Il marche aussi en 3D, ce qui te permettra d’avoir un affichage 3D sans rien avoir à coder toit-même.
Pour retrouver la loi des gaz parfait, il va falloir appliquer la théorie cinétique des gaz (autopromo), ce qui devrait permettre de retrouver la loi.
Voilà un cadre qui te permettra de savoir où tu vas. N’hésite pas si tu as des questions.