Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Calculer le nombre pi avec des masses en collision

Cet exemple utilise un problème de physique bien connu pour démontrer la performance d'un solveur en capturant plusieurs dizaines de milliers d’événements instantanés qui se produisent en moins d’une seconde. Sur une trajectoire unidimensionnelle, une grande masse s’approche d’une petite masse derrière laquelle se trouve une paroi. Lorsque la grande masse heurte la petite, cette dernière rebondit sur la paroi et repart en sens inverse en direction de la grande masse. Chaque collision est parfaitement élastique. À mesure que la grande masse se rapproche de la paroi, les collisions avec la petite masse se produisent de plus en plus rapidement jusqu’à ce que la grande masse reparte en sens inverse et finisse par s’éloigner suffisamment rapidement dans la direction opposée pour que la petite masse ne la rattrape jamais.

Lorsque la grande masse est 100^n fois plus grande que la petite, le nombre total exact de collisions est égal aux n+1 premiers chiffres du nombre pi. Ce résultat est dû à la relation entre la conservation de l’énergie et la conservation du moment. Si l’on trace les racines carrées des énergies cinétiques des deux masses dans un repère orthogonal, le système se trouve toujours sur un point d’une circonférence dont le rayon dépend de l’énergie totale de ces deux masses. Chaque collision déplace le système vers un nouveau point d’un côté à l’autre de la circonférence. Les collisions avec la paroi déplacent verticalement le point. Les collisions avec la grande masse déplacent le point selon une pente égale à la racine carrée négative du rapport de masse.

Le modèle utilise des blocs Hard Stop avec un coefficient de restitution défini pour représenter les collisions élastiques. Le solveur capture un total de 31 415 collisions en 0,4 seconde. Le bloc Collision Counter est un bloc personnalisé conçu pour capturer les événements de collision.

Modèle

Résultats de simulation générés par les blocs Scope

Résultats de simulation enregistrés par Simscape

Cette figure présente les tracés des positions et des vitesses des deux masses. Elle met en évidence les changements de vitesse instantanés qui se produisent chaque fois que la petite masse entre en collision avec la paroi ou avec la grande masse ainsi que le changement de vitesse de la grande masse lorsqu’elle repart en sens inverse à cause de la petite masse.

Animation des résultats d’enregistrement Simscape

Cette figure représente les positions des masses en collision au fil du temps. Le bloc rouge au milieu représente la petite masse. Le bloc bleu en haut représente la grande masse. Le bloc gris en bas représente la paroi.