Modele Generique de Mecanique Des Solides Indeformables
Modele Generique de Mecanique Des Solides Indeformables
Modele Generique de Mecanique Des Solides Indeformables
PIERRE MASSONNAT
ISEN de Brest
pierre.massonnat@isen-bretagne.fr
Résumé : dans cet article, on propose un modèle générique de mécanique des solides indéformables.
On commence par présenter les formules de bases, puis on développe les équations clés pour finalement
expliquer comment développer un logiciel capable de modéliser tout type de mécanisme "classique"
non hyperstatique grâce à une approche objet en graphe. Enfin, quelques exemples de résultats sont
présentés.
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
• [𝐼𝐴,𝑠 ]𝑊 𝐴,𝑠/𝑅 : la matrice des moments d’inertie
1. Introduction du solide s exprimé dans le repère (R0) fois le
vecteur d’accélération angulaire avec le même
En France, il existe un certain clivage entre les point, même référentiel et même repère
disciplines techniques. Ce clivage est parfois montré du d’expression.
doigt comme dans certains ouvrages économiques tel
que [3]. Et pour cause, au nom de la spécialisation et de La matrice de moment d’inertie est une matrice 3 x 3
ce qu’elle peut apporter [2], il n’est pas rare de qui est définie dans l’équation (2).
rencontrer un mécanicien qui ne comprenne rien à (𝑅 )
[𝐼𝐴,𝑠0 ] =
l’électrotechnique ou un électricien qui ne comprenne
∫(𝑦 2 + 𝑧²). 𝑑𝑚 − ∫ 𝑦𝑥. 𝑑𝑚 − ∫ 𝑧𝑥. 𝑑𝑚
pas la mécanique. Pourtant, sur des systèmes de
conversion d’énergie tels que les éoliennes, les [ − ∫ 𝑥𝑦. 𝑑𝑚 ∫(𝑥 2 + 𝑧²). 𝑑𝑚 − ∫ 𝑧𝑦. 𝑑𝑚 ] (2)
hydroliennes ou tout autre système électromécanique il − ∫ 𝑥𝑧. 𝑑𝑚 − ∫ 𝑦𝑧. 𝑑𝑚 ∫(𝑦 2 + 𝑥²). 𝑑𝑚
y a bien des problématiques électrique et mécanique. La
mécanique c’est compliqué, électriciens, je vous Où soit M le point d’intégration :
propose un modèle simple et générique pour faire des • x est la composante sur 𝑥 du vecteur ⃗⃗⃗⃗⃗⃗
AM;
calculs mécaniques sans être un spécialiste. Vous • y est la composante sur 𝑦 du vecteur AM
⃗⃗⃗⃗⃗⃗
trouverez aussi un peu de conception objet dans cet
• z est la composante sur 𝑧 du vecteur AM
⃗⃗⃗⃗⃗⃗
article et quelques conseils de programmation pour vous
• dm est la portion de masse du solide au point
développer vos propres librairies de calcul mécanique.
d’intégration.
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
2. La Modélisation (𝑅0 )
(𝑅0 )
𝐹𝐴,𝑠/𝑅
{𝑆𝑠/𝑅 } = {⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅 )
} (3)
2.1. Les équations de base 𝐴 0
𝑀𝐴,𝑠/𝑅
Notons que pour appliquer cette relation, les tenseurs 2.2.2. La masse
doivent être sur le même point A et exprimés dans le La masse est un solide spécial. Il a une fonction
même repère (R0). similaire à la masse (ou le neutre) dans un circuit. C’est
La deuxième loi découle de la deuxième loi de lui qui sert de référence, il est donc immobile et absorbe
Newton, à savoir que toute force appliquée par un solide toutes les forces. Pour que les lois que l’on a présentées
sur un autre solide engendre une force égale et opposée s’appliquent, il faut que ce solide soit en mouvement
sur lui-même. Elle s’exprime en torseur comme dans rectiligne uniforme par rapport au soleil, à la terre ou à
l’équation (5). un objet fixé au sol. Quand un effort est placé en
(𝑅0 ) (𝑅0 ) condition aux limites, on doit placer l’effort qui lui est
{𝑆𝑠/𝑅 } = −{𝑆𝑅/s } (5)
𝐴 𝐴 opposé sur la masse afin que celle-ci reste immobile. Par
Dans ce cas-ci aussi, les tenseurs doivent être sur le ailleurs, il peut être intéressant de donner une masse et
même point A et exprimés dans le même repère (R0). Ce un moment d’inertie important à la masse pour qu’elle
qui nous renvoi à la question : que faire si nos forces et absorbe plus facilement les erreurs. Lorsque la masse est
nos accélérations ne sont pas toutes sur le même point ? utilisé comme référentiel, on placera le sigle /R comme
Les torseurs sont porteurs d’une propriété indice du vecteur car la masse porte aussi le repère
mathématique, quand on les connaît en un point, on peut global considéré comme immobile.
les déterminer sur tous les points de l’espace. Grâce au 2.2.3. Les solides
deux équations (6) et (8) qui expriment respectivement
comment déterminer les torseurs dynamique et statique C’est dans les solides que s’applique la relation (4)
sur un autre point M quand on les connaît en A. qui permettra de déterminer l’accélération du solide.
C’est aussi dans le solide que se font en amont tous les
(𝑅0 )
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
𝑚𝑠 𝐴𝐴,𝑠/𝑅
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
⃗⃗⃗⃗⃗⃗ ∧ 𝑊 (𝑅0 )
+ 𝑀𝐴 changements de point d’application des torseurs
𝐴,𝑠/𝑅
{𝐷𝑠/𝑅 } ={ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
} (6) statiques pour les ramener en un seul point (voir
𝐴 [𝐼𝑀,𝑠 ]𝑊𝐴,𝑠/𝑅
équation (8)). Par ailleurs, le solide assure une
Notez que l’on peut aussi dire : "cohérence" des accélérations puisqu’il ne se déforme
pas. Ainsi, tous les torseurs dynamiques appliqués sur
(𝑅0 )
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
𝐴𝑀,𝑠/𝑅
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
𝐴𝐴,𝑠/𝑅
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
⃗⃗⃗⃗⃗⃗ ∧ 𝑊 (𝑅0 )
+ 𝑀𝐴
un même solide devront avoir la même valeur lorsqu’ils
𝐴,𝑠/𝑅
{⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ } ={ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ } (7) sont recalculés sur le même point (voir équation (7)). Un
0(𝑅 ) (𝑅0 )
𝑊 𝑀,𝑠/𝑅 𝑊𝐴,𝑠/𝑅 solide peut être représenté par :
𝑀
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
• une masse ;
(𝑅0 )
(𝑅0 ) 𝐹 𝐴,𝑠/𝑅 • une matrice de moment d’inertie au centre
{𝑆𝑠/𝑅 } = {⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ } (8)
𝐴 (𝑅 )
⃗⃗⃗⃗⃗⃗ ∧ 𝐹 (𝑅0 )
0 + 𝑀𝐴
𝑀𝐴,𝑠/𝑅 d’inertie ;
𝐴,𝑠/𝑅
• un repère local (qui donne la position de son
On voit encore ici qu’il faut que les torseurs soient centre d’inertie et son orientation angulaire).
exprimés dans le même repère pour que ça marche.
2.2.4. Les liaisons
2.2. Les entités de base Les liaisons sont toutes les interactions mécaniques
Maintenant que l’on connaît toutes les équations entre solides. On considère qu’il y a 6 degrés de libertés
dont on a besoin pour poser le problème, il faut en mécanique, un solide peut se déplacer sur l’axe des x,
déterminer comment les utiliser et pour faire quoi. Pour l’axe des y, l’axe des z ou tourné autour de l’axe des x,
ce faire, on va définir des entités de base : l’axe des y ou l’axe des z. Une liaison mécanique peut
• les efforts (forces ou moments) ; être définie par les degrés de liberté qu’elle autorise ou
• la masse ; qu’elle empêche. Par exemple, si on prend la liaison
• les solides ; linéique illustrée dans la figure 1, on voie que l’on peut
• les liaisons.
2.2.1. Les efforts
Les efforts sont les conditions au limites de notre
système et ils servent aussi d’interactions entre les
solides. À chaque fois qu’un effort est exprimé en un
point sous la forme d’un torseur statique, on sait qu’il
sera accompagné d’un autre effort égal et opposé sous la
forme d’un autre torseur statique opposé et appliqué sur
un autre solide (voir équation (5)). Un effort peut être
représenté par son torseur, c’est à dire par :
• un vecteur force ;
• un vecteur moment ; Figure 1 - Schéma d'une liaison linéique
• un point d’application ;
• un solide sur lequel il est appliqué ; déplacer le manche sur l’axe x, sur l’axe z mais pas sur
l’axe y (on imagine que l’on ne peut pas séparer les deux
• un repère (en générale le repère de la masse
:(R0)).
En revanche, s’il s’agit d’un lien entre un effort f en 3.1.3. La mise en place des équations
A et un solide s, il y aura 6 variables : Toutes les équations linéaires peuvent être
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
• 𝐹 𝐴,𝑓/s ∙ ⃗⃗⃗𝑥 : la composante en ⃗⃗⃗𝑥 de la force de exprimées en remplissant une matrice dont chaque
l’effort f sur s au point A ; colonne est associée à une variable et un vecteur qui
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
représente le résultat de l’équation. A titre d’exemple on
• 𝐹 𝐴,𝑓/s ∙𝑦 ⃗⃗⃗ : sa composante en 𝑦 ⃗⃗⃗ ; peut se référer à l’expression (12).
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
• 𝐹 𝐴,𝑓/s ∙ 𝑧⃗⃗ : sa composante en 𝑧⃗⃗ ; 3 × 𝑥1 − 2 × 𝑥2 = 4 3 2 𝑥1 4
⟺ [ ][ ] = [ ] (12)
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 ) 5 × 𝑥1 =6 5 0 𝑥2 6
• 𝑀 𝐴,𝑓/s ∙ ⃗⃗⃗𝑥 : la composante en ⃗⃗⃗𝑥 du moment ;
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
Ainsi, on peut placer toutes les équations associées
• 𝑀 𝐴,𝑓/s ∙𝑦 ⃗⃗⃗ : sa composante en 𝑦
⃗⃗⃗ ; aux entités des nœuds du graphe dans une grande
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 ) matrice [M]. On considérera que les 𝑁𝑖𝑀 des variables
• 𝑀 𝐴,𝑓/s ∙ 𝑧⃗⃗ : sa composante en 𝑧⃗⃗ ;
contiennent les numéro de colonne de celles-ci.
Enfin, les liens entre un nœud "inertie" et un solide s Si on associe à chaque type d’entité (solide, liaison,
contiendront 6 variables : force, inertie) sa propre fonction de remplissage de la
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
matrice [M] et que l’on démarre avec une matrice nulle,
• 𝐴 𝐺,s/𝑅 ∙ ⃗⃗⃗𝑥 : la composante en ⃗⃗⃗𝑥 de l’accélération le remplissage de cette matrice revient à appliquer
du centre d’inertie G du solide s ; l’algorithme de la figure 4. Notez que dans la suite les
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 ) arguments des fonctions sont en entrée/sortie et que
• 𝐴 𝐺,s/𝑅 ∙𝑦 ⃗⃗⃗ : sa composante en 𝑦 ⃗⃗⃗ ;
M(i,j) = v veut dire de placer la variable v à la i ème
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
• 𝐴 𝐺,s/𝑅 ∙ 𝑧⃗⃗ : sa composante en 𝑧⃗⃗ ; colonne et à la j ème ligne de la matrice M. Ainsi, il
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
• 𝑊 𝐺,𝑠/𝑅 ∙ ⃗⃗⃗𝑥 : la composante en 𝑥 ⃗⃗⃗ de
l’accélération angulaire ;
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
• 𝑊 𝐺,𝑠/𝑅 ∙𝑦 ⃗⃗⃗ : sa composante en 𝑦 ⃗⃗⃗ ;
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
• 𝑊 𝐺,𝑠/𝑅 ∙ 𝑧⃗⃗ : sa composante en 𝑧⃗⃗ ;
(𝑅1 ) . ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
+𝐿(3)𝑧⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅0 )
𝑉𝑠1/𝑅 (𝑡)
(15)
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
(𝑅 ) (𝑅1 ) . ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
⃗⃗⃗⃗⃗⃗⃗⃗⃗ (𝑅0 )
𝑊𝑙/𝑅0 (𝑡) = 𝐿(4)𝑥 𝑊𝑠1/𝑅 (𝑡)
(𝑅1 ) . ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
+𝐿(6)𝑧⃗⃗⃗⃗⃗⃗⃗⃗⃗ 𝑊𝑠1/𝑅
(𝑅0 )
(𝑡)
à chaque changement du repère (R1), ainsi, après chaque aussi possible de créer de nouveau composants
pas de temps, on appliquera la relation suivante (17) : mécaniques à partir de LIAISON tel qu’un engrènement
(𝑅0 ) (𝑅1 ) −1 ou tout autre type de liaison spécifique qui ne se déplace
[𝐼𝐺 ] = [𝑃(𝑅1 )→(𝑅0) ] [𝐼𝐺 ] [𝑃(𝑅1 )→(𝑅0) ] pas de façon "naturelle". On peut aussi créer des ressorts
à partir d’un objet EFFORT ...etc. Pour ce faire certaines
avec méthodes doivent être définies impérativement pour
[𝑃(𝑅1)→(𝑅0) ] = [𝑥 , 𝑦, 𝑧] (17) certains objets :
• ENTITE :
o Placer des équations dans la matrice ;
o Updater les grandeurs internes en regardant
4. La conception objet dans les liens et en s’appuyant sur un pas de
temps.
La manière dont est conçue ce modèle permet une
programmation objet rendant possible l’ajout de • SYSTEME :
fonctionnalités supplémentaires facilement. Ainsi, on o Ajouter un nœud ENTITE ;
peut identifier plusieurs objets et couches d’héritages : o Ajouter un lien en précisant son numéro
1. un objet qui permet de construire une matrice à d’indice (une valeur qui dit à quoi il correspond
partir d’un graphe et résoudre cette matrice et pour le nœud) pour ENTITE ;
appliquer un pas de temps (SYSTEME) ; o Supprimer un nœud ou un lien ;
2. un objet qui permet de simuler un circuit o Construire la matrice en appelant les fonctions
mécanique présenté comme un graphe de placement des équations des ENTITE ;
(MECANISME) ; o Résoudre la matrice ;
o Redistribuer les résultats dans les liens ;
Et pour les composants : o Lancer les fonctions d’Updatage de toutes les
1. un objet nœud de graphe qui place une équation ENTITE en précisant un pas de temps.
dans une matrice et se mettre à jour quand on • MECANISME :
l’appelle avec un pas de temps (ENTITE) ; o Définir une masse, cette méthode crée une
2. un objet nœud composant mécanique virtuel MASSE sans lui ajouter de bloc "inertie" ;
(COMPOSANTMECANIQUE) : o Ajouter un SOLIDE, cette méthode créera
• un objet composant mécanique de type solide automatiquement une ENTITE "inertie" et la
(SOLIDE) ; reliera au solide ajouté ;
• un objet composant mécanique de type solide o Ajouter une LIAISON, placera la liaison et fera
(MASSE) ; les liens entre les deux SOLIDE passés avec en
• un objet composant mécanique de type liaison argument ;
(LIAISON) ; o Ajouter un EFFORT, placera l’EFFORT et le
• un objet composant mécanique de type effort liera au SOLIDE voulu ;
(EFFORT). o Supprimer un SOLIDE, une LIAISON ou un
La figure (8) récapitule les héritages entres objets. EFFORT, supprime l’objet et ses liens
En distribuant la programmation ainsi, il est possible proprement.