Oscillateur harmonique

Comment identifier un problème numérique
dimanche 3 juillet 2005
popularité : 4%

Certains modèles peuvent donner lieu à des comportements aberrants en raison de problèmes numériques. C’est le cas du modèle de l’oscillateur harmonique si l’on ne prend pas les bonnes précautions.

Considérons une masse m accrochée à un ressort et faisons coïncider l’origine de l’axe x qui permettra de repérer sa position avec la position d’équilibre de la masse. Si on néglige le frottement dû à l’air, la masse subit deux forces :
- son poids P=mg dirigé vers le bas
- une force de rappel F=-kx due au ressort.

La constante de proportionnalité k entre l’écart x de la masse par rapport à sa position d’équilibre et la force de rappel est appelée « raideur » du ressort. Le signe « moins » signale que la force de rappel est toujours opposée au déplacement x de la masse.

La relation fondamentale de la dynamique permet de définir l’accélération de la masse à partir des forces qui agissent sur elle. L’intégration de cette accélération sur le temps fournit la vitesse de la masse, puis, l’intégration de cette vitesse donne sa position x par rapport à la position d’équilibre. Le modèle Stella se présente donc ainsi :

Modèle d'oscillateur harmonique {PNG}

Modèle d’oscillateur harmonique : une masse accrochée à un ressort subit deux forces : son poids et une force de rappel proportionnelle à l’écart x par rapport à sa position d’équilibre.

En choisissant une masse m de 1 kg et une raideur k de 2.47 N/m, en plaçant la masse en x0=0 avec une vitesse initiale v0=0 et en lançant la simulation, nous obtenons les horaires suivants pour la position x et la vitesse v de la masse :

Horaires de la position et de la vitesse de la masse {PNG}

Horaires de la position et de la vitesse de la masse : ces deux horaires sont manifestement faux ! Un oscillateur auquel on ne fournit pas d’énergie ne peut ni augmenter son amplitude d’oscillation ni accroître la grandeur de sa vitesse maximale.

L’horaire de la position fait état d’une augmentation d’amplitude et celui de la vitesse d’un accroissement de la grandeur de la vitesse maximale de la masse lorsqu’elle passe par sa position d’équilibre ! Or, dans ce modèle, l’énergie mécanique de l’oscillateur (énergie potentielle de gravitation + énergie cinétique) devrait rester constante car il n’y a aucune source d’énergie ! Il s’agit d’un artefact lié à l’intégration numérique.

Conclusion

Dans tous les modèles, mais plus particulièrement dans ceux permettant de simuler des oscillations, il faut être attentif aux risques d’erreurs liées entre autres aux méthodes numériques. Un bon moyen de savoir si la méthode utilisée est appropriée consiste à diviser le pas d’intégration par deux. Si le comportement simulé change, vous avez affaire à un problème d’intégration numérique, et tant que ce comportement dépend du pas d’intégration, la méthode est inappropriée.

Activités
- Construisez un modèle Stella d’oscillateur harmonique.
- Simulez le mouvement de ce dernier en adoptant :

  • la méthode d’Euler
  • la méthode de Runge-Kutta d’ordre 2
  • la méthode de Runge-Kutta d’ordre 4

et en utilisant différents pas d’intégration avec chacune de ces méthodes.

Voir aussi :
- L’oscillateur harmonique
- Rotation et oscillation
- Le saut à l’élastique
- Saut à l’élastique, cas général
- Circuit électrique et oscillateur harmonique
- Oscillations
- Exercices sur les oscillations harmoniques

From Wolfram Demonstrations Project :
- Harmonic Oscillation
- Superposition of Waves


Wolfram Demonstrations Project : mode d’emploi


Commentaires  forum ferme

Logo de Bernard Vuilleumier
mercredi 19 décembre 2007 à 09h53 - par  Bernard Vuilleumier

Bonjour,

L’accélération terrestre g figure dans le modèle car l’origine de l’axe x coïncide ici avec l’extrémité libre du ressort et pas avec la position d’équilibre de la masse.

Logo de Tomas Kracmer
mardi 18 décembre 2007 à 22h35 - par  Tomas Kracmer

Bonsoir,

Dans le schéma que vous montrez, pourquoi avoir mis g ?

Que vaut alors a ? Parce que poir moi, il vaut : -kx/m

g ne serait donc pas utilisé... En plus, si j’ajoute g dans a (ce qui ferait g-(kx/m), le graphique ne donne plus une réponse correcte.

Tomas Kracmer