Vous êtes sur la page 1sur 27

UNIVERSITE HASSAN II de CASABLANCA

FACULTE DES SCIENCES BEN M’SIK


DEPARTEMENT DE PHYSIQUE

Manuel de

TRAVAUX PRATIQUES

Filière : Sciences de la Matière Physique


Parcours Mécanique - Energétique
Semestre 6
Module : Méthodes numériques

2020-2021

Rédigé par les professeurs:

B. BRAIKAT, H. LAHMAM & A. HAMDAOUI

Laboratoire d’Ingénierie et Matériaux

LIMAT
Nom et Prénom de l’étudiant : ……………………………………………………….

Groupe de TP : ……………………………………………………………………………………

Code apogée : …………………………………………………………………………………….

E-mail :…………….……………………………………………………………………………………
AVANT PROPOS

Ce manuel de travaux pratiques des méthodes numériques est destiné aux

étudiants inscrits dans le module méthodes numériques, semestre 6 de la filière

Sciences de la Matière Physique (SMP), parcours mécanique. Les manipulations

proposées, dans ce document, portent sur la résolution de quelques équations

différentielles par les méthodes numériques telles que la méthode des éléments finis

et celle des différences finies. Ces travaux pratiques vont permettre aux étudiants

de cette formation, d’acquérir les connaissances de base sur les méthodes

numériques, en l’occurrence la Méthode des Eléments Finis et la Méthode des

Différences Finies, ainsi que les techniques de programmation sous Matlab

concernant la résolution numérique de quelques problèmes de la mécanique choisis

dans ces travaux pratiques numériques.

Le manuel contient deux manipulations :

La première intitulée « Calcul des treillis plans» porte sur la détermination des

déplacements et des tensions dans les barres qui sont supposées élastiques linéaires

homogènes et isotropes à l’aide de la méthode des éléments finis.

La seconde intitulée « Calcul des oscillations couplées», est axée sur la

simulation des phénomènes de battement et de résonance obtenus à l’aide d’un système

mécanique constitué de deux pendules liés par un ressort horizontal par la méthode des

différences finies.
Manipulation I : Calcul des treillis plans

I.1 Définition des treillis

On appelle treillis un assemblage de barres reliées entre elles de manière à ce

que chacune des barres ne soit sollicitée qu’en traction ou en compression. Les

charges concentrées sont appliquées uniquement aux nœuds (lieux de rencontres des

barres entre elles). De plus, Il n'y a pas de charges réparties sur les barres (elles

sont supposées non pesantes) (voir figure I.1).

Figure I.1 : Treillis plan

I.2 Calcul des treillis

I.2.1 Equilibre d’une barre

L’équilibre d’une barre, soumise à deux forces appliquées en ses extrémités, se

traduit par le fait que la barre n’est sollicitée qu’en traction ou en compression. En

effet, si l’on considère une barre de longueur soumise à deux forces à notées

et comme le montre la figure I.2, alors son équilibre global se traduit par:

Figure I.2 : barre soumise à deux forces

(I.1)

1/23
L’équation (I.1) montre que les deux forces et sont opposées et parallèles à

l’axe de la barre. Les efforts intérieurs se réduisent seulement à l’effort normal que

l’on notera .

I.2.2 Equilibre des nœuds

Pour étudier l’équilibre d’un treillis, il suffit d’écrire l’équilibre de tous les

nœuds. Considérons le nœud où se rencontrent les barres de longueur et soit

la force concentrée appliquée au nœud (voir figure I.3).

Figure I.3 : Equilibre d’un nœud

L’équilibre du nœud est donné par l’équation suivante:

(I.2)

où est l’effort normal dans chaque barre et est le nombre des barres

connectées au nœud .

I.2.3 Degré d’hyperstaticité

Si dans un treillis le nombre d’inconnues est égal à et le nombre d’équations

scalaires d’équilibre est égale à le degré d’hyperstaticité est défini par :

(I.3)

Si , le treillis est dit isostatique et donc les actions de liaisons sont calculées

rien qu’en écrivant l’équilibre global du treillis. Si , le treillis est dit

2/23
hyperstatique et donc le calcul des actions de liaisons fait intervenir les lois de

comportement et les conditions aux limites.

I.2.4 Conditions aux limites

Cas d’appui simple:

Les rotations et les déplacements horizontaux sont libres et le déplacement

vertical est bloqué (voir figure I.4).

Cas d’un appui double:

Les déplacements sont nuls (voir figure I.4).

Cas d’un encastrement:

La réaction de liaison a deux composantes, les rotations et les déplacements sont

nuls (voir figure I.4).

Figure I.4 : différents types d’appuis

I.3 Treillis unidimensionnel

Soit une barre élastique linéaire, homogène et isotrope et notons par , , et

respectivement son module d’Young, sa section droite, sa masse volumique et sa

longueur (voir figure I.5).

3/23
Figure I.5 : un élément infinitésimal axial de la barre de longueur

On considère une portion infinitésimale de la barre de longueur sur laquelle

est appliquée seulement l’effort normal (voir figure I.5). L’équilibre de cette

portion s’écrit :

(I.4)

D’après la loi de Hooke, l’effort normal s’écrit en fonction de la déformation sous

la forme:

(I.5)

La relation qui lie la déformation et le déplacement axial est :

(I.6)

En tenant compte des équations (I.5) et (I.6), l’équation d’équilibre (I.4) devient :

(I.7)

4/23
Dans le paragraphe suivant, on détaille la description de la méthode des

éléments finis qu’on va utiliser pour résoudre numériquement l’équation (I.7) de façon

qu’on puisse la traiter avec un logiciel de calcul scientifique MatLab.

I.4 Méthode des éléments finis

1°) Donner la formulation variationnelle du problème (I.7).

2°) Chaque barre est considérée comme un élément fini à deux nœuds et chaque nœud

a un seul degré de liberté. On suppose que, dans chaque barre , le déplacement s’écrit

sous la forme :

(I.8)

où est le déplacement nodal et est la fonction d’interpolation.


a°) Déterminer les fonctions d’interpolation et .

b°) Donner les expressions des éléments de la matrice élémentaire et ceux du

second membre .

c°) On considère le treillis plan suivant :

3
b, 2 Sa=3,22.10-4 m2
0,254m Sb=2,58.10-4 m2
1 45° 2
a,1
4448,22
0,254m N

Faire l’assemblage et résoudre le système .

I.5 Programmation sous MatLab

On suppose que . En utilisant le programme ci-dessus, tracer les

déformées du treillis considéré pour les valeurs des deux sections suivantes :

5/23
Analyser ces courbes

On suppose que . En utilisant le programme ci-dessus, tracer les

déformées du treillis considéré pour les valeurs des modules d’Young suivantes :

Analyser ces courbes

I.6 Programme

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% Programme pour le calcul des treillis plans
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
clear
clc
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
nbarre=2; %nombre des barres
nnpb=2; %nombre des noeuds par barre
ndlpn=2; %nombre des ddl par noeud
nnoeud=3; %nombre total des noeuds du système
ndl=nnoeud*ndlpn; %ddl total du système
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% Construction du tableau des coordonnées des noeuds
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%
%
gcoord(1,1)=0.0; gcoord(1,2)=0.0; %x,y- coordonnées du noeud 1
gcoord(2,1)=0.254;gcoord(2,2)=0.0; %x,y- coordonnées du noeud 2
gcoord(3,1)=0.0; gcoord(3,2)=0.254; %x,y- coordonnées du noeud 3
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
6/23
% Affichage des coordonnées
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
num=1:1:nnoeud;
fprintf('numéro des noeuds X Y\n');
for i=1:1:nnoeud
fprintf(' %d %8.3f %8.3f\n' ,num(i),gcoord(i,:));
end
fprintf('\n \n');
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Construction du tableau des Caractéristiques matérielles
% et géométriques des barres
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elprop(1,1)=300000000; % module d'Young du 1ère barre
elprop(1,2)=3.22d-4; % section droite du 1ère barre
elprop(2,1)=300000000; % module d'Young du 2éme barre
elprop(2,2)=2.58e-4; % section droite du 2éme barre
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Affichage des propriètés materielles et géométriques
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
num=1:1:nbarre;
fprintf('numéro des barres Young Section\n');
for i=1:1:nbarre
fprintf(' %d %8.3g %8.3d\n' ,num(i),elprop(i,:));
end
fprintf('\n \n');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% Construction du tableau des Connectivités des noeuds
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nodes(1,1)=1;nodes(1,2)=2; %noeuds associées à barre 1
nodes(2,1)=2;nodes(2,2)=3; %noeuds associées à barre 2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Construction des tableaux des conditions aux limites
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bcdof(1)=1; %1er ddl (dépla.horizontal )est fixé
bcval(1)=0; %valeur correspondante est 0
bcdof(2)=2; %2éme ddl (dépla.vertical )est fixé
bcval(2)=0; %valeur correspondante est 0
bcdof(3)=5; %5éme ddl (dépla.horizontal )est fixé
bcval(3)=0; %valeur correspondante est 0
bcdof(4)=6; %6éme ddl (dépla.vertical )est fixé
bcval(4)=0; %valeur correspondante est 0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7/23
%
% Initialisation des tableaux à zéro
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ff=zeros(ndl,1); %vecteur force du système
kk=zeros(ndl,ndl); %matrice de rigidité du système
index=zeros(nnpb*ndlpn,1); %vecteur index
force_elem=zeros(nnpb*ndlpn,1); %vecteur force élémentaire
depl_elem=zeros(nnpb*ndlpn,1); %vecteur déplacement nodal élémentaire
k=zeros(nnpb*ndlpn,nnpb*ndlpn); %matrice de rigidité élémentaire
effort=zeros(nbarre,1); %vecteur tension de chaque élément
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Application des forces nodales
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ff(4)=-4448.22; %2éme noeud soumit à une force descendante
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Boucles sur les barres
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for iel=1:nbarre % boucles sur le nombre total des barre
%
nd(1)=nodes(iel,1); %1er noeud associé à la (iel)-éme barre
nd(2)=nodes(iel,2); %2éme noeud associé à la (iel)-éme barre
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x1=gcoord(nd(1),1);y1=gcoord(nd(1),2); %coordonnées du 1er noeud
x2=gcoord(nd(2),1);y2=gcoord(nd(2),2); %coordonnées du 2éme noeud
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
longueur=sqrt((x2-x1)^2+(y2-y1)^2); %longueur de chaque barre
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (x2-x1)==0;
beta=2*atan(1); %angle entre les axes locaux et globaux
else
beta=atan((y2-y1)/(x2-x1)); %angle entre les axes locaux et globaux
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
young=elprop(iel,1); %extraire le module d'Young
section=elprop(iel,2); %extraire la section droite
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
index=indice_global(nd,nnpb,ndlpn); %extraire les ddl du système pour l'élément
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=matrice_elementaire(young,longueur,section,beta); %calcul de matrice élémentaire
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
kk=assemblage_matrice(kk,k,index); %assembler dans la matrice du système
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Application des conditions aux limites et résolution matricielle
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8/23
[kk,ff]=acquisition_liaison(kk,ff,bcdof,bcval); %application des conditions limites
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
depl_global=inv(kk)*ff; % déplacements nodaux
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Calcul des tensions
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for iel=1:nbarre %boucles sur le nombre total des éléments
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nd(1)=nodes(iel,1); %1er noeud associé à la (iel)-éme élément
nd(2)=nodes(iel,2); %2éme noeud associé à la (iel)-éme élément
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x1=gcoord(nd(1),1);y1=gcoord(nd(1),2); %coordonnées du 1er noeud
x2=gcoord(nd(2),1);y2=gcoord(nd(2),2); %coordonnées du 2éme noeud
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
longueur=sqrt((x2-x1)^2+(y2-y1)^2); %longueur de chaque barre
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (x2-x1)==0;
beta=2*atan(1); %angle entre les axes locaux et globaux
else
beta=atan((y2-y1)/(x2-x1)); %angle entre les axes locaux et globaux
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
young=elprop(iel,1); %extraire le module d'Young
section=elprop(iel,2); %extraire la section droite
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
index=indice_global(nd,nnpb,ndlpn); %extraire les ddl du système pour la barre
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
k=matrice_elementaire(young,longueur,section,beta); %calcul de matrice élémentaire
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
for i=1:(nnpb*ndlpn) %extraire les déplacements associés à la
depl_elem(i)=depl_global(index(i)); %(iel)-éme barre
end
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
force_elem=k*depl_elem; %vecteur force élémentaire
effort(iel)=sqrt(force_elem(1)^2+force_elem(2)^2)/section; %tension
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
if((x2-x1)*force_elem(3))<0; %vérifier s'il s'agit de tension ou compression
effort(iel)=-effort(iel);
end
9/23
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Affichage des déplacements
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
num=1:1:ndl;
fprintf(' numéro ddl déplacement\n');
for i=1:1:ndl
fprintf(' %d %15.6f\n' ,num(i),depl_global(i));
end
fprintf('\n \n');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Affichage des efforts
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
numm=1:1:nbarre;
fprintf(' numéro des barres Tension\n');
for i=1:1:nbarre
fprintf(' %d %15.3g\n' ,numm(i),effort(i));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%Représentation graphique de l'état initial du treillis et sa déformée
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
X=[gcoord(:,1)']; %coordonnées des noeuds
Y=[gcoord(:,2)']; %avant déformation
ux=[depl_global(1:2:ndl)']; % déplacement suivant l’axe x
uy=[depl_global(2:2:ndl)']; % déplacement suivant l’axe y
x=X+ux; %coordonnées des noeuds
y=Y+uy; % après déformation
plot(X,Y,'r-',x,y,'g-'); % trace le treillis et son déformé
title('Etat initial et état déformé');
xlabel('X,x');
ylabel('Y,y');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% FIN DU PROGRAMME
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [kk,ff]=acquisition_liaison(kk,ff,bcdof,bcval)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=length(bcdof);
sdof=size(kk);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:n
c=bcdof(i);
for j=1:sdof
kk(c,j)=0;
end
kk(c,c)=1;
10/23
ff(c)=bcval(i);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [kk]=assemblage_matrice(kk,k,index)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
edof=length(index);
for i=1:edof
ii=index(i);
for j=1:edof
jj=index(j);
kk(ii,jj)=kk(ii,jj)+k(i,j);
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [index]=indice_global(nd,nnpb,ndlpn)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
edof=nnpb*ndlpn;
k=0;
for i=1:nnpb
start=(nd(i)-1)*ndlpn;
for j=1:ndlpn
k=k+1;
index(k)=start+j;
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [k]=matrice_elementaire(young,longueur,section,beta)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c=cos(beta);
s=sin(beta);
k=(young*section/longueur)*[c*c c*s -c*c -c*s;
c*s s*s -c*s -s*s;
-c*c -c*s c*c c*s;
-c*s -s*s c*s s*s];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

11/23
Manipulation II : OSCILLATIONS COUPLÉES

But de la manipulation:

Le but de cette manipulation numérique est la simulation des phénomènes de

battement et de résonance obtenus à l’aide d’un système mécanique constitué de deux

pendules liés par un ressort horizontal. La résolution numérique des équations

différentielles gouvernant le mouvement de ce système mécanique sera réalisée en

utilisant la Méthode des Différences Finies.

Partie : Phénomène de battement

.1 Etude théorique dans le cas linéaire

On considère dans cette partie un système mécanique constitué de deux


pendules simples couplés à l’aide d’un ressort comme le montre la figure II.1.

y x

a z

Figure II.1 : Système mécanique étudié à l’état de repos

On se limite dans cette étude théorique aux cas des petits mouvements au

voisinage de l’état de repos. Ceci permet de supposer que la tension du ressort est

horizontale à tout instant comme le montre la figure II.2. On admet aussi que la

masse du ressort de couplage est négligeable, ce qui entraine la relation suivante:


12/23
(1)

y x

a z

Figure II.2: Système mécanique étudié à l’état de mouvement

En appliquant le théorème du moment cinétique (ou théorème du moment

dynamique) à chaque pendule dans son mouvement par rapport au repère

supposé galiléen, il vient :

(2)

(3)

avec et sont les moments d’inertie respectivement des pendules et par

rapport à leurs axes de rotation, donnés par :

et (4)

En posant :

13/23
et (5)

il vient :

et (6)

Les équations et deviennent :

(7)

(8)

soit :

(9)

(10)

ou encore :

(11)

(12)

On pose :

; ; et
(13)

il vient :

(14)

avec : et (coefficients de couplage)

(15)

On admet dans cette partie que les pendules et sont identiques. Le système

d’équations différentielles (14) devient alors :


14/23
(16)

Pour découpler ces équations, on pose :

(17)

Ainsi on obtient le nouveau système d’équations différentielles découplées suivant:

(18)

On pose aussi:

(19)

est la pulsation de battement, est la pulsation de mouvement. Le système

(18) devient alors:

(20)

Questions théoriques:

Q1 : Résoudre le système d’équations différentielles (20) en utilisant les conditions

initiales suivantes :

Q2 : Déduire alors les solutions théoriques

-2 Discrétisation par la Méthode des Différences Finies

15/23
La discrétisation des équations différentielles du système (14) par la MDF à

l’instant se traduit par les relations suivantes:

(21)

soit encore :

où (22)

avec :
(23)

Partie : Phénomène de résonance

Dans cette seconde partie on considère un système mécanique constitué de

deux pendules; le pendule de moment d’inertie plus important joue le rôle

d’excitateur tandis que le pendule de moment d’inertie moins important joue le

rôle de résonateur. Le pendule excitateur est constitué d’une masse lourde

coulissante sur la tige-support. Le pendule résonateur est constitué d’une masse

moins lourde fixée à l’extrémité de la tige-support. Les deux pendules sont reliés

par un ressort qui travaille en torsion comme le montre la figure II.3. Les deux tiges-

support sont supposées de masses négligeables.

C
y x
16/23

a
Figure II.3: Système mécanique étudié à l’état de repos

Le moment de rappel due à la torsion du ressort est proportionnel à la


différence d’angles de rotation des deux pendules tel que :

(1)

II.1 Etude théorique dans le cas linéaire

On se limite dans cette étude aux cas des petits mouvements au voisinage de l’état de
repos.
x y

Figure II.4: Système mécanique étudié à l’état de mouvement


En appliquant le théorème du moment cinétique (ou théorème du moment
dynamique) à chaque pendule dans son mouvement par rapport au repère
supposé galiléen, il vient :

17/23
(1)

(2)

avec et sont les moments d’inertie respectivement des pendules et par


rapport à l’axe de rotation commun , donnés par :

et (3)

et (4)

La projection des équations et suivant l’axe de rotation sont:

(5)

(6)

Soit dans le cas des petites oscillations:

(7)

(8)

ou encore :

(11)

(12)

On pose :

; ; et (13)

il vient :

(14)

18/23
avec : et (coefficients de couplage) (15)

On admet dans cette partie que :

(16)

donc :

(17)

Le mouvement du pendule est pratiquement indépendant de celui du pendule .

On obtient alors :

(18)

En utilisant comme conditions initiales:

on obtient :

(19)

Ce qui donne:

(20)

L’état de résonance du pendule est atteint lorsque l’amplitude de ses oscillations

devient assez grande, c’est dire lorsqu’on a:

(21)

19/23
Question théorique:

Résoudre l’équation (21) en déduire la solution théorique de la distance

correspondant à l’état de résonance du pendule .

II.2 Discrétisation par la Méthode des Différences Finies dans le cas non
linéaire

On s’intéresse dans cette seconde partie à la résolution numérique du système


d’équations différentielles non linéaires (5) et (6) en utilisant la MDF.
La discrétisation de ces équations différentielles par la MDF à l’instant

s’écrit:

(22)

avec :

; ; et

(23)

soit encore :

(24)

avec :
(25)

Cette discrétisation dans le cas non linéaire permet ainsi de simuler le

phénomène de résonance quel que soit la valeur de l’angle initiale du pendule

excitateur et de comparer les valeurs numérique et théorique de la distance .

20/23
Programmes

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% Oscillations couplées: Phénomène de battement %%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
g=9.8;% en m/s^2
% Caractéristiques des pendules 1 et 2
L1=50*10^(-2);% en m
m1=100*10^(-3);% en kg
L2=50*10^(-2);% en m
m2=100*10^(-3);% en kg
%Distance entre le ressort et l'axe de suspension horizontal
a=50*10^(-2);%en m
%a=0;
%Raideur du ressort
k=0.3;%en N/m
%k=0;
% Moments d'inertie
I1=m1*L1^2;% en kg.m^2
I2=m2*L2^2; % en kg.m^2
%Pulsations propres en rad/s
W1=((m1*g*L1+k*a^2)/I1)^(1/2);
W2=((m2*g*L2+k*a^2)/I2)^(1/2);
%Pulsations de couplage en rad/s
Omega1=((k*a^2)/I1)^(1/2);
Omega2=((k*a^2)/I2)^(1/2);
%Coeffition de couplage sans dimension
Alpha1=(Omega1/W1)^2;
Alpha2=(Omega2/W2)^2;
%Conditions initiales (Tetao en rad et wo en rad/s)
Tetao1=(10*pi)/180; % en rad
Tetao2=(0*pi)/180;% en rad
wo1=0; % en rad/s
wo2=0;% en rad/s
%Incrément du temps
dt=0.001;% en s
M=20000;% Nombre d'instants
%Initialisation des vecteurs coordonnées et du vecteur temps
Teta1=zeros(M,1);
Teta2=zeros(M,1);
Teta2t=zeros(M,1);
Somme=zeros(M,1);
Difference=zeros(M,1);
t=zeros(M,1);
for n=1:M
t(n)=(n-1)*dt;
end
Teta1(1)=Tetao1;
Teta2(1)=Tetao2;
Teta2t(1)=Tetao2+0.4;
Teta1(2)=wo1*dt+Teta1(1);
21/23
Teta2(2)=wo2*dt+Teta2(1);
Teta2t(2)=Teta2(2)+0.4;
%Calcul des élongations en fonction du temps
for n=3:M
n
Teta1(n)=(W1*dt)^2*Alpha1*Teta2(n-1)+(2-(W1*dt)^2)*Teta1(n-1)-
Teta1(n-2);
Teta2(n)=(W2*dt)^2*Alpha2*Teta1(n-1)+(2-(W2*dt)^2)*Teta2(n-1)-
Teta2(n-2);
Teta2t(n)=Teta2(n)+0.4;
end
for n=1:M
Somme(n)=Teta1(n)+Teta2(n);
Difference(n)=Teta1(n)-Teta2(n);
end
hold on
plot(t,Teta1,'b-x')
plot(t,Teta2t,'r-x')
%plot(t,Teta2,'r-x')
%plot(t,Somme,'b-x')
%plot(t,Difference,'r-x')
hold off

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% Oscillations couplées: Phénomène de résonance %%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
g=9.8; % en m/s^2
% Caractéristiques des pendules 1 et 2
L2=100*10^(-2);% en m
m2=50*10^(-3);% en kg
L1=100*10^(-2); % en m
m1=500*m2;% en kg
%Distance variable en mètre
a=40*10^(-2);% en m
%Constante de torsion du ressort en Nm/rad
C=0.5;
% Moments d'inertie
I1=m1*a^2;% en kg.m^2
I2=m2*L2^2; % en kg.m^2
%Pulsations propres en rad/s
W1=((m1*g*a)/I1)^(1/2);
W2=((m2*g*L2)/I2)^(1/2);
%Pulsations de couplage en rad/s
Omega1=(C/I1)^(1/2);
Omega2=(C/I2)^(1/2);
%Conditions initiales (Tetao en rad et wo en rad/s)
Tetao1=(5*pi)/180;
Tetao2=(0*pi)/180;
wo1=0;
wo2=0;
%Incrément du temps
22/23
dt=0.001;% en s
M=30000;% Nombre d’instants
%Initialisation des vecteurs coordonnées et du vecteur temps
Teta1=zeros(M,1);
Teta2=zeros(M,1);
Teta2t=zeros(M,1);
Somme=zeros(M,1);
Difference=zeros(M,1);
t=zeros(M,1);
for n=1:M
t(n)=(n-1)*dt;
end
Teta1(1)=Tetao1;
Teta2(1)=Tetao2;
Teta1t(1)=Tetao1+2;
Teta1(2)=wo1*dt+Teta1(1);
Teta2(2)=wo2*dt+Teta2(1);
Teta1t(2)=Teta1(1)+2;
%Calcul des élongations en fonction du temps
for n=3:M
Teta1(n)=-(W1*dt)^2*sin(Teta1(n-1))-(Omega1*dt)^2*(Teta1(n-1)-
Teta2(n-1))+2*Teta1(n-1)-Teta1(n-2);
Teta2(n)=-(W2*dt)^2*sin(Teta2(n-1))-(Omega2*dt)^2*(Teta2(n-1)-
Teta1(n-1))+2*Teta2(n-1)-Teta2(n-2);
Teta1t(n)=Teta1(n)+2;
end
hold on
plot(t,Teta1t,'b-x')
plot(t,Teta2,'r-x')
%plot(t,Teta2,'r-x')
hold off

23/23

Vous aimerez peut-être aussi