Vous êtes sur la page 1sur 11

SOMMAIRE

➢ INTRODUCTION

➢ PRESENTATION DU SYSTEME ET RESOLUTION

➢ ALGORITHME

➢ ORGANIGRAMME

➢ CODAGE PYTHON

➢ CONCLUSION
I. INTODUCTION
Le monde des sciences aujourd’hui s’épanouit le plus dans le domaine numérique et en
partie en informatique .la maitrise de logiciels et de langage est un atout en science de
l’ingénieur. Nous avons étudié la programmation orientée objet et à base de lui, on résout
des problèmes. Dans notre thème, nous verrons la simulation d’un pendule simple avec
variation de la position initiale avec le langage python.
II. PRESENTATION DU SYSTEME ET RESOLUTION
Le pendule simple est représenté par une masse ponctuelle (la boule du pendule) reliée à
un axe immobile par une tige rigide et sans masse. Le pendule simple est un système idéal.
Ainsi, on néglige les effets de frottement et on considère le champ gravitationnel comme
uniforme. La figure1 ci-dessous montre un schéma du système ainsi qu’un bilan des forces
agissant sur la masse. Les deux forces agissant sur la boule sont son poids P et la tension T
due à la tige. La figure 2 montre un schéma des différentes grandeurs caractérisant le
pendule. La coordonnée naturelle pour définir la position du pendule est l’angle Ө. Nous
choisissons de fixer Ө = 0 lorsque le pendule est à sa position d’équilibre. Il s’agit de la
position où la boule est au plus bas. Nous choisissons par ailleurs de considérer Ө positif
lorsque le pendule se balance à droite, et négatif de l’autre côté. g décrit l’accélération due à
la gravité, avec P=mg.

Bilan des forces du pendule


Les deux vecteurs représentant les composantes tangentielle et orthogonale au
mouvement du pendule de P sont représentés sur le schéma (les annotations indiquent leur
norme). Si on déplace le pendule de sa position d’équilibre, il sera mû par la force F résultant
de la tension T et de son poids P (cf. plus bas). Comme le système est considéré comme
parfait (pas de frottement, gravité uniforme, etc.), le pendule ne s’arrêtera jamais. Si on le
monte à Ө = +20 ° et qu’on le lâche, le pendule redescendra en passant par Ө = 0 °,
remontera de l’autre côté à Ө = -20 °, puis continuera de la sorte indéfiniment, grâce à la
conservation de l’énergie dans un système fermé (c’est-à-dire sans « fuite » d’énergie).
Ici, on va tenter de simuler ce mouvement en appliquant les lois du mouvement de Newton.
On a :
F = ma
Avec la formule précédente, en remplaçant les termes par leurs expressions on obtient :
F = ma = -mgsinӨ, soit a = - gsinӨ ; on déduit les autres expressions :
Arc s du parcours du pendule : S= ӨL
𝑑𝑠 𝑑Ө
Vitesse du pendule : v = =L
𝑑𝑡 𝑑𝑡
𝑑2𝑠 𝑑2Ө
Accélération du pendule : a = 2
=L = -gsinӨ, on trouve l’équation différentielle :
𝑑𝑡 𝑑𝑡 2

𝑑2 Ө 𝑔
𝑑𝑡 2 + 𝐿
sinӨ =0.

Dans la section suivante nous allons résoudre numériquement cette équation différentielle
Résolution de l’Equation Différentielle :
Pour la résolution numérique semi-implicite d’Euler.
En effet elle consiste d’abord par calculer l’accélération angulaire 𝑎Ө au temps t en utilisant
l’équation différentielle précédemment établie :
2
𝑑 Ө 𝑔
𝑎Ө (𝑡) = 2 (𝑡) = −
𝐿
SinӨ(𝑡)
𝑑𝑡

L’astuce sera de calculer ensuite la vitesse angulaire au pas suivant t +𝛿𝑡 grâce à la relation :
𝑑Ө
𝑣Ө ( t +𝛿𝑡) = ( t +𝛿𝑡) ≈ 𝑣Ө (𝑡)+ 𝑎Ө (𝑡) × 𝛿𝑡
𝑑𝑡

Cette vitesse 𝑣Ө ( t +𝛿𝑡) permettra au final de calculer Ө au temps t +𝛿𝑡

Ө( t +𝛿𝑡) ≈Ө(t)+ 𝑣Ө ( t +𝛿𝑡) × 𝛿𝑡

III. ALGOTITHME
Dans cette partie nous élaborons un algorithme permettant notre simulation, l’algorithme se
subdivise en 2 parties : construction de la classe principale lancement du gestionnaire
d’événement.
Construction de la classe principale :

• Appel de la classe constructeur


• Initialisation des variables du pendule à utiliser
• Conversion d l’angle Ө en coordonnées cartésiennes
• Conversion des coordonnées cartésiennes en coordonnées dans le Canvas
• Création su Canvas
• Création des dessins illustrant le pendule (pivot, baballe, tige)
• Création du repère associé au pendule
• Création des boutons de commande
• Création de la réglette de la mise à jour de l’angle Ө
• Création du label caractéristique de la baballe
• Placement des widgets dans la fenêtre tkinter
• Placement aussi de la réglette et sa description
Définition des méthodes de calcul des paramètres de la classe principale

• Méthodes de renvoi de la chaine avec la position et la chaine


• Méthodes de transformations des coordonnées réelles dans le Canvas
• Mise à jour de la position de la balle si la réglette est touchée
• Déplacement de la baballe et mise à jour des coordonnées, auto rappel après 20ms
• Conditionnement du démarrage de l’animation
• Conditionnement de l’arrêt de l’animation
Programme principale

• Instancie de la classe principale


• Ecrire le titre de la fenêtre
• Lancement du gestionnaire

IV. ORGANIGRAMME
De l’algorithme précédent on peut déduire l’organigramme qui n’est que la
représentation schématique de celui-ci :
Début

Construction de la classe principale


Initialisation des variables
Création du canevas et boutons de commande

Méthodes de renvoi de la chaine avec la position


et la vitesse

Transformations des coordonnées réelles


dans le Canvas

Mise à jour de la position de la balle si la


réglette est touchée

Déplacement de la baballe et mise à jour des


coordonnées, auto rappel après 20ms

Conditionnement du démarrage de
l’animation

Conditionnement de l’arrêt de l’animation

Instancie de la classe principale


Ecrire le titre de la fenêtre
Lancement du gestionnaire

Fin
V. CODAGE EN PYTHON
Il est maintenant tant de passer à la programmation en langage python. Pour notre part,
nous utiliserons le logiciel spyder du logiciel mère Anaconda :
Le programme se présente comme suit en fonction de l’organigramme précédent
PROGRAMME
Construction de classe principales et initialisation des données, création du Canvas :
Méthodes de renvoi de la chaine avec la position et la chaine et méthodes de
transformations des coordonnées réelles dans le Canvas :
Mise à jour de la position de la balle si la réglette est touchée :

Déplacement de la baballe et mise à jour des coordonnées, auto rappel après 20ms :
Conditionnement de l’animation et programme principale :

RESULTATS ATTENDUS :
Le résultat au premier lancement nous donne :

ici nous voyons les paramètres bien affichés ,la position initiales du pendule ,ainsi que la
réglette fixant la valeur de thêta .si nous appuyons sur le bouton démarrer ,après plusieurs
cycle on observe la trajectoire du pendule vu sur le schéma si dessous :
Nous voyons bien les valeurs de thêta et l’accélération qui varie suivant le mouvement .si
nous mettons la réglette a une valeur inférieure à celle que nous voyons on aura une
trajectoire plus réduite, en témoigne l’image suivant :
VI. CONCLUSION
Eu égard à tout ce qui a été abordé durant ce document, on peut que le langage
python est un outil essentiel aidant à la résolution des problèmes physique et mécanique. Le
cas d’un pendule avec frottement serait intéressant à étudier pour d’autres projet à venir.

Vous aimerez peut-être aussi