Vous êtes sur la page 1sur 16

Gnie civil et Urbain

Stosskopf Nicolas
Quan Van Tran

TP de Modlisation Numrique
2010/2011
Modlisation des efforts dans des lments de type barre et poutre

Utilisation du logiciel MATLAB

Contenu
INTRODUCTION et PRESENTATION DU TP ........................................................................................ 4
MATLAB......................................................................................................................................... 4
I.

CALCULS SUR ELEMENTS DE TYPE BARRE ............................................................................... 4


1.

Systme de coordonnes .................................................................................................... 4

2.

Passage du systme local en systme global ...................................................................... 4

3.

Passage des forces du systme local au systme global ..................................................... 5

4.

Matrice de rigidit de notre barre dans le systme global ................................................. 5

5.

Modlisation sous MATLAB ................................................................................................. 6


Code de calcul dans MATLAB .................................................................................................... 6
Affichage des rsultats.............................................................................................................. 8

6.
II.

Vrification laide du logiciel RDM6 ................................................................................. 9


CALCULS SUR ELEMENTS DE TYPE POUTRE ........................................................................... 11

1.

Etapes de calcul ................................................................................................................. 11

2.

Modlisation sous MATLAB : Elment poutre-portique ................................................... 11


Code de calcul dans MATLAB .................................................................................................. 12
Rsultats.................................................................................................................................. 13

3.

Vrification laide du logiciel RDM6 ............................................................................... 14

CONCLUSION................................................................................................................................... 16

INTRODUCTION et PRESENTATION DU TP
Ces sances de travaux pratiques de modlisation numrique ont t loccasion pour nous de
nous familiariser avec les calculs informatiques et surtout avec les notions de programmation de
base en domaine de calculs mcaniques.
Nous aurons donc loccasion de programmer sur le logiciel MAPPLE et faciliter ainsi les calculs
complexes relatifs aux efforts internes dans les lments de structures.
Ce programme sert la fois doutil de formation informatique pour notre 4e anne mais il
sera aussi rutilis lan prochain (5e anne) pour nos diffrents projets. Les logiciels sont
omniprsents de nos jours, dans les bureaux dtude ainsi que dans tout travail de dimensionnement
quel quil soit. Il est donc primordial que nous sachions comment seffectuent les calculs et surtout
que nous ayons un regard critique sur ces outils qui seront mis notre disposition lors de notre
travail futur. Nous avons donc ralis deux petits logiciels assez simples qui traitent dans un premier
temps des lments de type barres et nous avons repris la structure gnrale du logiciel pour faire
des calculs sur les lments de type poutres.

MATLAB
MATLAB est la fois un langage de programmation et un environnement de dveloppement
dvelopp et commercialis par la socit amricaine MathWorks. MATLAB est utilis dans les
domaines de l'ducation, de la recherche et de l'industrie pour le calcul numrique mais aussi dans
les phases de dveloppement de projets.

I.

CALCULS SUR ELEMENTS DE TYPE BARRE

1. Systme de coordonnes
Dans ce type de calculs, nous allons travailler premirement dans un systme local et le logiciel le
convertira ensuite en systme Global pour pouvoir faire un assemblage des diffrents lments.
xyz  XYZ

2. Passage du systme local en systme global

Nous appelons u1 et u2 les


dplacements dans le systme local et
U1, W1 ainsi que U2, W2 dans le
systme global.
Soit le schma suivant reprsentant
notre barre dans les repres de
coordonnes local (x0z) et global (X0Z).

On peut donc crire :


u1 = U1 cos + W1 sin
u2 = U2 cos + W2 sin
Ou sous forme matricielle :

[T] sappelle matrice de transformation du systme local dans celui global.

3. Passage des forces du systme local au systme global

Soit les forces f1 et f2 appliques respectivement au nud 1 et 2. Ces forces ont des
composantes suivant x et z :

Fx1 = f1 cos
Fz1 = f1 sin
Fx2 = f2 cos
Fz2 = f2 sin

4. Matrice de rigidit de notre barre dans le systme global

Avec :
- {Fe} : vecteur des forces nodales dans le systme global daxes ;
- {fe} : vecteur des forces nodales dans le systme local daxes ;
- [Ke] : matrice de rigidit dans le systme global daxes ;
- [ke] : matrice de rigidit dans le systme local daxes ;
- {Ue} : vecteur des dplacements nodaux dans le systme global daxes ;
- {ue} : vecteur des dplacements nodaux dans le systme local daxes.

5. Modlisation sous MATLAB


Le systme se compose de 2 barres et 3 nuds, avec :
E=21000 MPa
A=1700mm
Les nuds sont numrots de 1 3, avec lapplication de la force F=500kN au nud 2. Les
nuds 1 et 3 sont fixes .

Code de calcul dans MATLAB

nn = 3 ;
% nombre de nuds
nb = 2 ;
% nombre de barres
ndim = 2*nn ;
X = [0 1.770 3.540] ;
% abscisses des nuds en m
Y = [0 1.770 0] ;
% ordonnes des nuds en m
XY = [X' Y'] ;
% matrice des coordonnes des nuds
TC1 = [1 2] ;
TC2 = [2 3] ;
TC = [TC1' TC2'] ; % table de connectivit
% caractristiques gomtriques
h = 0.05 ;
b = 0.1;
% section de la barre en m
I1 = b*h^3/12 ;
% moment d'inertie des sections de barres en m4
I = [I1 I1] ;
A1 = 1700*10^-6 ;
% aire de la section en m2
E = [21*10^10 21*10^10] ; % module de Young des barres en Pa
% vecteur des forces exterieures
F = zeros(ndim,1);
F(4)=500000;
% Condition aux limites
CL = [1 1 0 0 1 1]; % 0 libre

1 bloqu

% matrice de rigidit
K=zeros(ndim,ndim); % matrice de rigidite globale
M = sparse (2*nb,2*nb); % matrice de rigidite elementaire
for i = 1:nb ;
L = sqrt((X(i+1)-X(i))^2
c = (X(i+1)-X(i))/L ;
s = (Y(i+1)-Y(i))/L ;
M = [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];
M = E(i)*A1/L*M;
%
k1=2*TC(1,i)-1;
k2=2*TC(1,i);
k3=2*TC(2,i)-1;
k4=2*TC(2,i);
loc = zeros (2*nb,2*nn) ;
loc(1,k1)=1;
loc(2,k2)=1;
loc(3,k3)=1;
loc(4,k4)=1;
loct = loc' ;
%
K = K+loct*M*loc ;
end;
ks = K;
% stocker

+ (Y(i+1)-Y(i))^2);
% longueur de la barre i
% cosinus l'angle alpha barre i
% sinus l'angle alpha barre i

matrice de rigidite elementaire

% matrice de localisation

matrice de localisation transposee

la matrice K

% Application des conditions aux limites


for i = 1:ndim ;
if CL(i)==1;
ks(i,:)=0;
ks(:,i)=0;
ks(i,i)=1;
end;
end;
% Calcul des deplacements
U=zeros(ndim,1);
% vecteur de deplacements
U=ks\F;
reaction= zeros(ndim,1);
reaction= K*U;

% reactions dans les noeuds

% Verification de l'equilibre global


Sx=0; % somme des forces suivant laxe x
Sy=0; % somme des forces suivant laxe y
for i = 1:2:ndim ;
Sx = reaction(i,1)+ Sx;
end;
for i = 2:2:ndim ;
Sy = reaction(i,1) + Sy ;
end;
% calcul des efforts traction-compression dans chaque barre
U1 =zeros(ndim,1); % vecteur deplacements dans repre local
Nf=zeros(nb*2,1);
% efforts dans les barres
L=zeros(nb,1);
% longueur des barres
for i = 1:nb;

L(i) = sqrt((X(i+1)-X(i))^2 + (Y(i+1)-Y(i))^2); % longueur de la barre i


c = (X(i+1)-X(i))/L(i) ;
s = (Y(i+1)-Y(i))/L(i) ;
U1(i) = c*U(2*TC(i,1)-1) + s*U(2*TC(i,1)) ;
U1(1+i) = c*U(2*TC(i,2)-1) + s*U(2*TC(i,2)) ;
Nf(2*i-1) = E(i)*A1/L(i)*(U1(1+i)-U1(i)) ;
Nf(2*i) = -Nf(2*i-1) ;
end;
% Affichage des resultats
U
F
K
Ks
Sx % si Sx=0 et Sy sont nuls alors lquilibre est bien vrifi.
Sy
reaction
Nf
L
% Verification du dimensionnement
if Nf(1) > 0;
fprintf 'barre 1 tendue';
if Nf(1)/A1 > E(1);
fprintf 'erreur de dimensionnement ;
end;
else 'barre 1 comprimee' ;
if Nf(1) > (pi^2)*E(1)*I(1)/L(1)^2; % comparaison avec la charge
critique d'Euler
fprintf 'erreur de dimensionnement';
end;
end;
if Nf(2) > 0;
fprintf 'barre 2 tendue';
if Nf(2)/A1 > E(2);'erreur, a redimensionner';
end;
else 'barre 1 comprimee' ;
if Nf(2) > (pi^2)*E(2)*I(2)/L(2)^2;
fprintf 'erreur de dimensionnement;
end;
end;

Affichage des rsultats

6. Vrification laide du logiciel RDM6

On trouve des rsultats ci-dessous :

| RDM 6 - Ossatures |
Utilisateur : TRAN Van Quan
Date : 3 juin 2011
Dplacements nodaux [ m, rad ]
Noeud
1
2
3

dx
dy
rotz
0.000E+00 0.000E+00 -1.485E-03
1.016E-22 -3.505E-03 -3.449E-20
0.000E+00 0.000E+00 1.485E-03

Dplacement maximal sur x = 1.0169E-22 m [ Noeud 2 ]


Dplacement maximal sur y = 3.5055E-03 m [ Noeud 2 ]
Dplacement maximal = 3.5055E-03 m [ Noeud 2 ]
Action(s) de liaison [ N N.m ]
Noeud 1 - Rx = -249950.1 Ry = 250000.0 Mz =
Noeud 3 - Rx = 249950.1 Ry = 250000.0 Mz =

0.0
0.0

Somme des actions de liaison :


Rx =
0.0 N
Ry = 500000.0 N
Somme des forces appliques la structure :
Fx = 0.00000000000000E+0000 N
Fy = 5.82076609134674E-0011 N
Efforts intrieurs [ N N.m ]
N = Effort normal TY = Effort tranchant MfZ = Moment flchissant
ELE ori
ext

No
Ne

TYo
TYe
TYmax

MfZo
MfZe
MfZmax

dL(m)

1
2

353518.1
353518.1

-35.3
-35.3
35.3

-0.0
88.3
88.3

2.479E-03

2
3

353518.1
353518.1

35.3
35.3
35.3

88.3
-0.0
88.3

2.479E-03

Une comparaison avec le logiciel RDM6 nous permet donc de confirmer nos rsultats sous
MATLAB. Les valeurs surlignes en jaune sont en total accord avec celles obtenues prcdemment.

10

II.

CALCULS SUR ELEMENTS DE TYPE POUTRE

1. Etapes de calcul
Nous procdons au mme type de calculs que prcdemment mais cette fois ci avec la matrice de
rigidit globale pour llment barre :

Puis la matrice de rigidit pour llment poutre en 2 dimensions :

2. Modlisation sous MATLAB : Elment poutre-portique

11

Le systme comporte : 2 poteau et 1 poutre et de 4 nuds de coordonnes (en mm) :


1(0 ;0)
2(0 ;1770) 3(3540 ;1770)
4(3540 ;0)
Le moment M=10 KN.m ;
le Module Young E=210 GPa
La section A=1700 mm2( section en rectangulaire)

Code de calcul dans MATLAB


E=21*10^10; % E est le module d'Young en Pa
Mc=[0 0 ; 0 5 ; 5 5 ; 5 0]; % matrice des coordonnes
tc=[1 2 ; 2 3; 3 4]; % table de connectivit
b=40; % mm
h=42.5; % mm
I=b*h^3/12/10^12; % m4
A=0.001700; % en m
Fe=[0 ; 0 ; 0 ; 0 ; 0 ; 10000 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0];% des charges
extrieurs en N et moment en N.m
CL=[0 0 0 1 1 1 1 1 1 0 0 0]; % condition au limite l libre ; 0
bloqu
nn = 4 ;% nombre des noeuds
nb = 3 ;% nombre des barres
ndim = 3*nn ;
K=zeros(ndim,ndim); % matrice de rigidit global en dimension ndim*ndim
for i =1:nb;
XY(1,:)=Mc(tc(i,1),:);
XY(2,:)=Mc(tc(i,2),:);
L=sqrt((XY(2,1)-XY(1,1))^2+(XY(2,2)-XY(1,2))^2);%longeur de poutre et
poteau
c=(XY(2,1)-XY(1,1))/L;% consinus de l'angle entre poutre et l'axe x
s=(XY(2,2)-XY(1,2))/L;% sinsinus de l'angle entre poutre et l'axe y
% matrice de rigidit lmentaire
A=4*E*I/L;
B=2*E*I/L;
F=E*A/L*c^2+12*E*I/L^3*s^2;
P=E*A/L*s^2+12*E*I/L^3*c^2;
G=(E*A/L-12*E*I/L^3)*s*c;
H=-6*E*I/L^2*s;
Q=6*E*I/L^2*c;
Ke=[F G H -F -G H
G P Q -G -P Q
H Q A -H -Q B
-F -G -H F G -H
-G -P -Q G P -Q
H Q B -H -Q A];
%Ecriture de la matrice de rigidit de la 1re barre pour le problme
complet
Loc(i,:)=[3*tc(i,1)-2 3*tc(i,1)-1 3*tc(i,1) 3*tc(i,2)-2 3*tc(i,2)-1
3*tc(i,2)];
%d'o la matrice de rigidit de la barre i
K(Loc(i,:),Loc(i,:))=K(Loc(i,:),Loc(i,:))+Ke;
end;
S=K; % matrice de stockavit
K;
for i=1:ndim
if CL(i)==0
for j=1:ndim

12

K(i,j)=0;
K(j,i)=0;
end;
K(i,i)=1;
Fe(i)=0;
end;
end;
K;
U=K\Fe; % vecteur de dplacements et rotations
Ef=S*U; % vecteur des efforts rsultants
% affichage de rsultat
I
L
K
S
U
Ef

Rsultats

I = 2.5589e-007
L= 5
K = 1.0e+015
0
0.0000 0
-0.0000 -0.0000
0 -0.0000 0
0
0 1.8055
0
0
-1.8055 0
0
0
-0.0000 0
0.0000 0.0000
0
0.0000 0
-0.0000 0
0.0000 1.8055
0
0.0000 -1.8055 0
-0.0000
0 -1.8055
0
0
1.8055 0.0000 0
-0.0000
-0.0000 0
0.0000 0.0000
0.0000 0.0000 0
0
0
0
0 -1.8055 0
0
1.8055
1.8055
0
0
0
0 -0.0000 -0.0000
0
-0.0000
0
0
0
0 0.0000 0.0000
0.0000
0
0
0
0
0
0
0
-0.0000
-1.8055
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.0000

0
0
0
0
0.0000
0.0000
0.0000
-0.0000
0.0000
-0.0000
0
0.0000

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-0.0000
0
0.0000
0 -1.8055
0
-0.0000
0
0.0000
0.0000
0
-0.0000
0
1.8055
0
-0.0000
0
0.0000

S = 1.0e+015
0
0.0000
0
0
0
0
0
0
0
0 0.0000 0
0
0
0
0
0
0
0 0.0000 0
0
0
0
0
0
0
0 1.8055 0 0.0000 -1.8055
-0.0000
0
0
0
0 1.8055 0.0000 0
-0.0000
0
0
0 0.0000 0.0000 0.0000 0
0
0
0
0 -1.8055
0 0 1.8055
1.8055
0
0
0
0 -0.0000 -0.0000 0
0
0
0
0 0.0000 0.0000 0.0000 -0.0000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.0000
0
0
0
0.0000
0
0
0
0.0000
0
0
0
-0.0000
0
0
0
0.0000
0
0
0
0 0.0000 0
0
0
0 0.0000 0
0
0
0 0.0000

13

0
0
0
-0.1661
-0.0000
U= 0.1440
-0.1661
0.0000
-0.0111
0
0
0

Ef =1.0e+004 *

- 0.1000
0.1714
0.0952
0
0.0000
1.0000
0.0000
-0.0000
0.0000
0.1000
-0.1714
-0.2381

3. Vrification laide du logiciel RDM6

RDM 6 - Ossatures |
Utilisateur : TRAN Van Quan
Nom du projet : C:\Users\PC\Documents\Downloads\Compressed\rdm6
Date : 3 juin 2011
| Dplacements nodaux [ m, rad ] |

14

Noeud

dx

dy

rotz

1 0.000E+00 0.000E+00 0.000E+00


2 -1.876E-01 -2.401E-05 1.626E-01
3 -1.876E-01 2.401E-05 -1.249E-02
4 0.000E+00 0.000E+00 0.000E+00
Dplacement maximal sur x = 1.8760E-01 m [ Noeud 2 ]
Dplacement maximal sur y = 2.4009E-05 m [ Noeud 2 ]
Dplacement maximal = 1.8760E-01 m [ Noeud 2 ]
| Action(s) de liaison [ N N.m ] |
Noeud 1 - Rx =
Noeud 4 - Rx =

-1000.0 Ry =
1000.0 Ry =

1714.3 Mz =
-1714.3 Mz =

952.2
-2381.0

Somme des actions de liaison :


Rx =
Ry =

0.0 N
0.0 N

Somme des forces appliques la structure :


Fx = 1.69393388205208E-0009 N
Fy = 0.00000000000000E+0000 N
| Efforts intrieurs [ N N.m ] |
N = Effort normal TY = Effort tranchant MfZ = Moment flchissant
ELE ori
ext

No
Ne

TYo
TYe
TYmax

1 1 -1714.3 -1000.0
2 -1714.3 -1000.0
1000.0
2 2 1000.0 -1714.3
3 1000.0 -1714.3
1714.3
3 3 1714.3 1000.0
4 1714.3 1000.0
1000.0

MfZo
MfZe
MfZmax
-952.2
4047.7
4047.7
-5952.3
2618.9
5952.3
2618.9
-2381.0
2618.9

dL(m)

-2.401E-05

1.400E-05

2.401E-05

Dans ce cas aussi nous obtenons des rsultats en accord avec ceux de notre logiciel programm
sous MATLAB. On peut donc pens que nos tapes de programmation sont bonnes mme si certains
calculs pourraient encore tre optimiss pour acclrer les calculs.

15

CONCLUSION
Nous avons donc russi approcher de faon succincte les enjeux lis la programmation de
problmes mcaniques assez simples. Nos rsultats de calculs sont en accord total avec ceux de
RDM6. Cette premire approche nous a permis de comprendre rellement comment fonctionne les
logiciels de calcul mcaniques et surtout dtre capable davoir une formation sur des notions
informatiques concrtes. Nous pouvons tre amens, dans notre futur, dvelopper des logiciels de
calcul reprenant les bases que nous avons utilises pour ce mini-projet.

16