Vous êtes sur la page 1sur 14

Ecole Nationale d’Ingénieurs Monastir –ENIM

Département Génie Mécanique

TP Dynamique : Simulation sur ABAQUS &


MATLAB

THABET Ibtissem
3ème génie Mécanique, Groupe Numérique
Année universitaire 2015/2016
I. Objective :
Au cours de ce TP nous avons eu l’occasion de résoudre un problème Dynamique par EF.

On va utiliser MATLAB & ABAQUS, en comparant les résultats fréquentiels obtenus par les 2
logiciels, aussi pour les 3 Modèles 1D, 2D et 3D.

II. Travail sur MATLAB :


1. Modèle 1D :

a. Calcule des matrices élémentaires : matrice rigidité ( Ke) et matrice masse ( Me) :

function [Me, Ke]=tp_ibti1(N,L,A,E,Rau)


h=L/(N-1);
%matrice elementaire
I=A^4/12;
C=E*I/h^3;
B=Rau*A*L/420;
%on suppose qu'on a 2 noeuds par élément
Ke= C*[12 6*h -12 6*h;6*h 4*h^2 -6*h 2*h^2; -12 -6*h 12 -6*h; 6*h 2*h^2 -
6*h 4*h^2];
Me= B*[156 22*h 54 -13*h; 22*h 4*h^2 13*h -3*h^2;54 13*h 156 -22*h;-13*h -
3*h^2 -22*h 4*h^2];
End

b. Assemblage de Matrice rigidité Kglob :

function[K]=assemblage_K(Ke,N)
h=1;
K=zeros(2*(N+1),2*(N+1));
while h<=(N*2)
g=1;s=1;
for i=h:(h+3)
for j=h:(h+3)
K(i,j)=K(i,j)+Ke(g,s);
s=s+1;
end
s=1;
g=g+1;
end
h=h+2;
end

c. Assemblage matrice de Masse Mglob :

function[M]=assemblage_M(Me,N)
M=zeros(2*(N+1),2*(N+1));
h=1;
while h<=(N*2)
g=1;s=1;
for i=h:(h+3)
for j=h:(h+3)
M(i,j)=M(i,j)+Me(g,s);
s=s+1;
end
s=1;

1
g=g+1;
end
h=h+2;
end

end

d. Programme principale :

%=========================== program principale===========================%

%% %Detèrminer les données du problème à résoudre.


N=input('Donnez le nombre totale du noeuds ');
L=input('Donnez la longueur du poutre ');
A=input('donner la section du poutre ');
E=input('Définir le module d''young du matèriau E ');
Rau=input('donnez la densité du matèriau Rau ');

%% Calculer les matrices Masse et raideur


[Me,Ke]=tp_ibti1(N,L,A,E,Rau);
[M]=assemblage_M(Me,N);
[K]=assemblage_K(Ke,N);

%% %Condition limites
K1=K(3:2*N,3:2*N);
M1=M(3:2*N,3:2*N);

%% %les valeurs propres & les vecteurs propres


[V,D]=eig(K1,M1);

%% répence fréquenciel
omg=0;
for omg=0:1000
s(omg+1)=omg;
A=K1-(omg*2*pi)^2*M1;
F=zeros(2*N-2,1);
F(2*N-3)=-10;
C=A\F;
h(omg+1,1)=abs(C(N-3,1));
end

h;
s=s';
semilogy(s,h,'linewidth',2,'color',[0.5 0.8 0.25]);
title('la réponse en fonction de la fréquence ');
xlabel('fréquence');
ylabel(' déplacement ');
legend('U=f(w)');

%% Affichage les cinqués premières valeurs propres


D=sqrt(D);
for i=1:2*N-2
w(i)=D(i,i);
end
g=min(5,2*N);
w(1:g);
x=[0:2/(2*N-2):1]*L;

2
for m=1:5
figure;
y=[0,real(V(1:2:2*N-2,m)')] ;
if(y(2)<0)
y=-y;
end;

plot(x,y,'-+')
title(['Mode ', num2str(m),' pour les nombres des elements N=
',num2str(N)]);
xlabel('position x');
ylabel('amplitude ');
legend('FEM ');
end

for m=1:3
y=[0,real(V(1:2:2*N-2,m)')] ;
if(y(2)<0)
y=-y;
end;

plot(x,y,'-+')
title(['les ', num2str(m),' modes pour les nombres des elements N=
',num2str(N)]);
xlabel('position x');
ylabel('amplitude ');
legend('FEM ');
hold on
end

%% solution analytique
a=[1.875,4.694,7.854,10.99];
I=A^2/12;
for i=1:4
We(i)=a(i)^2*sqrt(E*I/(Rau*A*L^5));
Er(i)=abs(We(i)-w(i))/We(i);
end
fprintf('\n***********************les resultats(1)
**********************');
fprintf('\n pour les nombres des elements N= %d ',ne);
fprintf('\n===========================================================');
fprintf('\n mode -- sol-analytiques -- sols-FEM (HZ) -- Error(%%)');
fprintf('\n ---------------------------------------------------------');
for i=1:4
fprintf('\n %d -- %10.4f -- %10.4f -- %10.4f',
i,We(i),w(i),Er(i)*100);
end
fprintf('\n=========================================================\n');

%%=============================Fin du programme==========================%%

3
2. Résultat :
Soit les données suivantes :

N=20
L=10
A=0.04
E=200 000
Rau=7800

Donc les résultats obtenus sont :

Figure 1:la repense fréquentielle.

er
Figure 2:présentation de 1 mode propre.

4
ème
Figure 3:presentation de 2 mode propre.

ème
Figure 4:présentation de 3 mode propre.

5
ème
Figure 5:presentation de 4 mode propre.

Figure 6:répresentation de 3 modes propres.

Figure 7 : Calcule de l'erreur.

6
3. Interprétation :
L’erreur est très importante environ 2.16 % due au erreur de Calcule .

III. Travail sur ABAQUS :


1. Modèle 1D :

Figure 8: Simulation sur ABAQUS Modèle 1D (input).

Résultat :

T=0,06115

7
2. Modèle 2D :

Figure 9:Simulation sur ABAQUS Modèle 2D (input).

Résultat :

T=0,0627

8
3. Modèle 3D :

Figure 10: Simulation sur ABAQUS modèle 3D (input).

Résultat :

T=0,0638

9
4. Modèle harmonique :
1D :

Résultat :

10
2D :

Résultat :

3D :

Résultat :

11
Comparaison sur Excel de déplacement de 3 modèles en fonction de la fréquence :

Série1 : indique 1D.

Série 2 : indique 2D.

Série 3 : indique 3D.

 De freq=0 Hz jusqu’à freq=280 Hz, les repenses de trois modèles sont presque
identiques, sauf une différence d’amplitude pour les valeurs maximales.
 De freq=280 Hz jusqu’à freq=890 Hz, les repenses de deux modèles 2D et 3D
sont identique avec ralentissement de la repense de modèle 1D, est une
différence d’amplitude maximale pour les 3 modèles.
 De freq=890 Hz jusqu’à freq=1000Hz, le modèle 3D rependre plus vite, puis le
modèle 2D et en fin le modèle 1D qui est la repense retardé.

On conclue qu’à basse fréquence, une modélisation par EF n’influe pas sur la
repense fréquentiel, alors qu’à haute fréquence, le type de modèle influe sur la
repense fréquentiel d’où, on prouve que l‘augmentation du nombre d’élément
(maillage) et la variation du type de géométrie ralentir la repense.

12
Résultat sur MATLAB pour les mêmes données :

La repense fréquentiel donnée par MATLAB est le même obtenus par


ABAQUS pour le modèle 1D.

Donc on approuve que le Calcule Numérique , pour un problème Dynamique est toujours
le même : soit sur ABAQUS pour un modèle 1D ou sur MATLAB.

13

Vous aimerez peut-être aussi