Documente Academic
Documente Profesional
Documente Cultură
u1e
ue e (4.1)
u2
vectorul deplasărilor nodurilor elementului curent e exprimate în sistemul
local de axe de coordonate. Între deplasarea unui nod exprimată în sistemul
de axe de coordonate global şi deplasarea aceluiaşi nod exprimată în
coordonate locale există relaţia:
uie Re uie (4.2)
unde i poate fi 1 sau 2. Re este 1 sau -1 după cum sensul lui xe coincide cu
sensul lui x sau nu. Ca urmare, la nivel de vectori se poate scrie:
u e Te ue (4.3)
unde matricea de transformare Te este:
Re 0
Te (4.4)
0 Re
Având în vedere aceste relaţii se modifică forma diferenţială şi
forma slabă a problemei calculului sistemelor de bare. Se poate observa că
în forma diferenţială se schimbă doar condiţiile de echilibru ale nodurilor şi
expresiile condiţiilor la limită esenţiale, acestea scriindu-se în sistemul de
coordonate global. Rezultă:
R N
e Ei
e i
e
Fi 0, i N F (4.5)
Re uie U i , e E i , i N U (4.6)
În formularea slabă se schimbă numai expresia condiţiilor la limită
esenţiale.
În vederea asamblării se înlocuiesc relaţiile:
ue Ae u , e Ae (4.7)
cu relaţia:
u e Ae u , e Ae (4.8)
Se ţine cont de
n
G N h , h Ge N h , h 0 (4.9)
e1
unde
Ge N h , h Geint N h , h Geext N h ,h (4.10)
Geint N h ,h T f eint (4.11)
e
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 125
f eint K e ue (4.13)
Relaţia dintre vectorii deplasărilor nodurilor elementului se scrie sub
forma:
ue Te1ue TeT ue Te ue (4.14)
şi se înlocuieşte în expresia ecuaţiei variaţionale. Rezultă:
n n
G N h , h Te K e ue Te f eext
e 1 e 1
(4.15)
n
T ext
n
Ae Te K eTe Ae u Ae Te f e 0
T T T T
e 1 e 1
Dacă sistemele de bare sunt plane sau spaţiale, relaţiile sunt, în
principiu, similare cu cele de mai sus. Totuşi, în aceste cazuri, matricea de
transformare are o formă mai complicată.
Un sistem plan de bare articulate este prezentat schematizat, ca
exemplu, în figura 4.1.
ye
y xe
Oe
O x
Fig. 4.2. Sistemul de coordonate local şi sistemul de coordonate global.
sau
v Re ve , ve ReT v (4.33)
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 129
f f1 K12 u2 (4.51)
După determinarea deplasărilor necunoscute u1 se pot determina
reacţiunile din legături folosind celelalte ecuaţii din (4.48):
f 2 K 21u1 K 22 u2 (4.52)
f 3 K 31u1 K 32 u2 (4.53)
În cazul general, condiţiile la limită pot apare sub forma unor
legături între deplasările nodurilor:
Au b (4.54)
O abordare simplă a determinării soluţiei în această situaţie este de a
transforma problema curentă într-o problemă de optimizare. Se înlocuieşte
sistemul de ecuaţii extins (4.39) şi condiţiile la limită (4.54) cu problema de
optimizare:
1 T
u Ku u
T
min f
u
2 (4.55)
Au b
Se aplică metoda multiplicatorilor Lagrange şi în acest scop se scrie
funcţia Lagrange:
1
L u, uT Ku uT f T Au b (4.56)
2
Se pun condiţii de staţionaritate a lui L u, în raport cu
deplasările u şi multiplicatorii Lagrange :
L u, Ku f AT 0 (4.57)
u
L u, Au b 0 (4.58)
Se obţine sistemul de ecuaţii liniare:
K AT u f
(4.59)
A 0 b
132 Sisteme de bare articulate plane şi spaţiale Capitolul 4
y F
3 4 4
5 3 H
2
F 1
1 2 x
B
Fig. 4.3 Sistem plan de bare articulate.
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 133
a) Descrierea nodurilor
b) Descrierea elementelor
y
ye j
xe
i
Oe
x
Fig. 4.4 Coordonate locale şi coordonate globale.
Se poate scrie:
l xe cos , l ye sin (4.131)
mxe sin , mye cos (4.132)
Mărimile cos şi sin se pot calcula în funcţie de coordonatele
nodurilor elementului astfel:
X Y
2 2
Le e
j X ie j
e
Yi e (4.133)
X ej X ie
cos (4.134)
Le
Yje Yi e
sin (4.135)
Le
Pentru calculul matricelor de rigiditate se poate utiliza algoritmul
următor.
ue TeT uˆ e (4.140)
Se poate utiliza algoritmul următor.
function amef_date
%
global COO FOR NOD MAT ID
%
% Descrierea datelor
%
% Valorile numerice ale parametrilor
%
B=1; % m
H=1; % m
F=100; % N
A=2e-4; % m
E=2e+11; % Pa
%
% Datele propriu-zise
%
% Descrierea nodurilor
%
COO=[0 0; B 0; 0 H; B H];
FOR=[-F 0; 0 0; 0 0; 0 -F];
ID=[0 0; 1 1; 1 1; 0 0];
%
% Descrierea elementelor
%
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 143
NOD=[1 2; 2 4; 4 1; 3 4; 1 3];
MAT=[A E; 2*A E; 3*A E; A E; 2*A E];
function [U,N]=amef_bare
%
global COO FOR NOD MAT ID
%
% Determina matricea de rigiditate extinsa
%
dim=2*size(COO,1);
K=zeros(dim);
R=zeros(4,4,size(NOD,1));
for j=1:size(NOD,1)
% Lungimea barei
c=COO(NOD(j,:),:);
d(1,:)=c(2,:)-c(1,:);
L(j)=sqrt(d(1)^2+d(2)^2);
% Matricea de rotatie
d=d/L(j);
Re=[d(1) -d(2); d(2) d(1)];
% Memoreaza matricea de rotatie
R(:,:,j)=[Re,zeros(2);zeros(2),Re];
% Matricea de rigiditate in coordonate locale
Ke=prod(MAT(j,:))/L(j)*[1 0 -1 0; 0 0 0 0;...
-1 0 1 0; 0 0 0 0];
% Matricea de rigiditate in coordonate globale
Ke=R(:,:,j)*Ke*R(:,:,j)';
% Asamblare
LM=2*NOD(j,[1,1,2,2])-[1,0,1,0];
K(LM,LM)=K(LM,LM)+Ke;
end
%
144 Sisteme de bare articulate plane şi spaţiale Capitolul 4
% Determina vectorul termen liber extins
%
F=zeros(dim,1);
for j=1:size(FOR,1)
LM=2*[j,j]-[1,0];
F(LM)=F(LM)+FOR(j,:)';
end
%
% Determina matricea redusa si vectorul redus
%
g=find(ID'==0);
Kr=K(g,g);
Fr=F(g);
%
% Rezolva sistemul de ecuatii si
% determina deplasarile
%
Ur=Kr\Fr;
U=zeros(dim,1);
U(g)=Ur;
%
% Determina tensiunile
%
for j=1:size(NOD,1)
LM=2*NOD(j,[1,1,2,2])-[1,0,1,0];
Ue=R(:,:,j)'*U(LM);
N(j,1)=prod(MAT(j,:))/L(j)*(Ue(3)-Ue(1));
end
U =
-0.2183 * 1.0e-005
0.0159 * 1.0e-005
0
0
0
0
-0.0317 * 1.0e-005
-0.1409 * 1.0e-005
N =
87.3187
-112.6813
17.9341
-12.6813
-12.6813
amef_plot(U,100000)
function amef_date_s
%
global COO FOR NOD MAT ID
%
% Descrierea datelor
%
% Definirea parametrilor
%
B=sym('B','positive');
H=sym('H','positive');
F=sym('F','positive');
A=sym('A','positive');
E=sym('E','positive');
H=B;
%
% Datele propriuzise
%
% Descrierea nodurilor
148 Sisteme de bare articulate plane şi spaţiale Capitolul 4
%
COO=[0 0; B 0; 0 H; B H];
FOR=[-F 0; 0 0; 0 0; 0 -F];
ID=[0 0; 1 1; 1 1; 0 0];
%
% Descrierea elementelor
%
NOD=[1 2; 2 4; 4 1; 3 4; 1 3];
MAT=[A E; 2*A E; 3*A E; A E; 2*A E];
function [U,N]=amef_bare_s
%
global COO FOR NOD MAT ID
%
% Determina matricea de rigiditate extinsa
%
dim=2*size(COO,1);
syms K R F U
K(1,1)=0; K(dim,dim)=0;
R(1,1,1)=0; R(4,4,size(NOD,1))=0;
for j=1:size(NOD,1)
% Lungimea barei
c=COO(NOD(j,:),:);
d(1,:)=c(2,:)-c(1,:);
L(j)=sqrt(d(1)^2+d(2)^2);
% Matricea de rotatie
d=d/L(j);
Re=[d(1) -d(2); d(2) d(1)];
% Memoreaza matricea de rotatie
R(:,:,j)=[Re,zeros(2);zeros(2),Re];
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 149
% Matricea de rigiditate in coordonate locale
Ke=prod(MAT(j,:))/L(j)*[1 0 -1 0; 0 0 0 0; -1 0
1 0; 0 0 0 0];
% Matricea de rigiditate in coordonate globale
Ke=R(:,:,j)*Ke*R(:,:,j)';
% Asamblare
LM=2*NOD(j,[1,1,2,2])-[1,0,1,0];
K(LM,LM)=K(LM,LM)+Ke;
end
%
% Determina vectorul termen liber extins
%
F(1,1)=0; F(dim,1)=0;
for j=1:size(FOR,1)
LM=2*[j,j]-[1,0];
F(LM)=F(LM)+FOR(j,:)';
end
%
% Determina matricea redusa si vectorul redus
%
g=find(ID'==0);
Kr=K(g,g);
Fr=F(g);
%
% Rezolva sistemul de ecuatii si
% determina deplasarile
%
Ur=Kr\Fr;
U(1,1)=0; U(dim,1)=0;
U(g)=Ur;
%
% Determina tensiunile
%
for j=1:size(NOD,1)
LM=2*NOD(j,[1,1,2,2])-[1,0,1,0];
Ue=R(:,:,j)'*U(LM);
N(j,1)=prod(MAT(j,:))/L(j)*(Ue(3)-Ue(1));
end
F B 119 6 2
1
146 AE
1
3 F B 9 2 2
119 6 2 F
146
292 A E 1 173 6 2 F
0 146
0
U , N 3 4 9 2 F (4.142)
0 146
0 3
9 2 2 F
146
3 F B
9 2 2
3
9 2 2 F
146 A E 146
1 F B 173 6 2
292 AE
4.13.4 Introducere
fˆe Te f e (4.146)
P p1 p2 p3 ... pn (4.152)
unde pi este un vector coloană de dimensiune doi; pi conţine valori zero
sau unu după cum gradul de libertate corespunzător este liber sau blocat;
prima componentă din pi se referă la gradul de libertate u al nodului i, iar a
doua componentă se referă la gradul de libertate v al nodului i.
A1 E1 b1
2
A E2 b2
AEb A3 E3 b3 (4.155)
Am Em b m
function date_ba
%
% Se presupune ca se face un calcul simbolic
global X P F Q AEb
%
E=sym('E','positive');
A=sym('A','positive');
B=sym('B','positive');
N=sym('N','positive');
H=B;
%
% Descrierea nodurilor
%
X=[0 0; B 0; 0 H; B H]';
P=[0 0; 1 1; 1 1; 0 0]';
F=[-N 0; 0 0; 0 0; 0 -N]';
%
% Descrierea elementelor
%
Q=[1 2; 2 4; 4 1; 3 4; 1 3];
AEb=[A E 0; 2*A E 0; 3*A E 0; A E 0; 2*A E 0];
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 155
date_ba;
[K,f,PAt]=asamb_red_0('mat_ba');
function [K,f,PAt]=asamb_red_0(f_mat)
function PAt=pre_asamb_0(P)
function [K,f]=init_k_redus(PAt)
function [K,f]=K_redus_0(mat_Ke, K, f, PAt)
function at=GLe(Q,PAt,e)
function [Ke,fe]=mat_ba(e)
% stabileste matricea Ke si vectorul fe pe elementul e
global Q X AEb KeL feL Tr
% nodurile elementului
n1=Q(e,1);
n2=Q(e,2);
% coordonatele nodurilor
x1=X(:,n1);
x2=X(:,n2);
% lungimea elementului
Le=sqrt((x2(1)-x1(1))^2+(x2(2)-x1(2))^2);
% cosinusii directori
lx=(x2(1)-x1(1))/Le;
ly=(x2(2)-x1(2))/Le;
% matricea de rotatie
R=[lx -ly; ly lx];
% matricea de transformare
Tr=[R zeros(2,2); zeros(2,2) R];
% caracteristici sectionale
Ae=AEb(e,1);
Ee=AEb(e,2);
be=AEb(e,3);
% matricea de rididitate
KeL=[1 0 -1 0; 0 0 0 0; -1 0 1 0; 0 0 0 0]*Ee*Ae/Le;
% vectorul de incarcare
156 Sisteme de bare articulate plane şi spaţiale Capitolul 4
feL=[1 ; 0; 1; 0]*be*Le/2;
% matrica se vectorul in coordonate globale
Ke=Tr*KeL*Tr';
fe=Tr*feL;
det_sol_0('sol_ba',K,f,PAt);
Funcţia:
function det_sol_0(tens,K,f,PAt)
function sol_ba(e,u)
elementul e
global Q X AEb
% nodurile elementului
n1=Q(e,1);
n2=Q(e,2);
% abscisele nodurilor
x1=X(n1);
x2=X(n2);
% lungimea elementului
Le=x2-x1;
% caracteristici sectionale
Ae=AEb(e,1);
Ee=AEb(e,2);
be=AEb(e,3);
% deplasarile pe element
u1=u(n1);
u2=u(n2);
% tensiunea pe element
s=(u2-u1)*Ee*Ae/Le;
s_=char(s);
% afisare tensiune
fprintf('%5d %14s\n',e,s_);
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 157
Se obţin rezultatele:
n Deplasari
1 -1/146*(119+6*2^(1/2))*N*B/A/E
-3/292*(-9+2*2^(1/2))*N*B/A/E
2 0
0
3 0
0
4 3/146*(-9+2*2^(1/2))*N*B/A/E
1/292*(-173+6*2^(1/2))*N*B/A/E
e Eforturi
1 1/146*(119+6*2^(1/2))*N
1/146*(119+6*2^(1/2))*N
2 1/146*(-173+6*2^(1/2))*N
1/146*(-173+6*2^(1/2))*N
3 3/146*N*(-4+9*2^(1/2))
3/146*N*(-4+9*2^(1/2))
4 3/146*(-9+2*2^(1/2))*N
3/146*(-9+2*2^(1/2))*N
5 3/146*(-9+2*2^(1/2))*N
3/146*(-9+2*2^(1/2))*N
4.13.7.4 Concluzii
date_ba;
[K,f,PAt]=asamb_red_0('mat_ba');
det_sol_0('sol_ba',K,f,PAt);
158 Sisteme de bare articulate plane şi spaţiale Capitolul 4
function date_ba_1
%
% Se presupune ca se face un calcul simbolic
global X P F Q AEb
%
H=1; % m
F=100; % N
A=2e-4; % m
E=2e+11; % Pa
H=B;
%
% Descrierea nodurilor
%
X=[0 0; B 0; 0 H; B H]';
P=[0 0; 1 1; 1 1; 0 0]';
F=[-N 0; 0 0; 0 0; 0 -N]';
%
% Descrierea elementelor
%
Q=[1 2; 2 4; 4 1; 3 4; 1 3];
AEb=[A E 0; 2*A E 0; 3*A E 0; A E 0; 2*A E 0];
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 159
function sol_ba_n(e,u)
global Q X IEb KeL feL Tr
% nodurile elementului
n1=Q(e,1);
n2=Q(e,2);
% deplasarile pe element
Ue=[u(2*n1-1); u(2*n1); u(2*n2-1); u(2*n2)];
% calculeaza matricea de rididitate si termenul
liber
[Ke,fe]=mat_ba(e);
% calculeaza eforturile
UeL=Tr'*Ue;
Te=KeL*UeL-feL;
% converteste pentru afisare
N0_=-Te(1);
N1_=Te(3);
% afisare tensiune
fprintf('%5d %14.5g %14.5g\n',e,N0_,N1_);
cu utilizarea funcţiilor:
function [K,f,PAt]=asamb_red_0_n(f_mat)
function [K,f]=init_k_redus_n(PAt)
function det_sol_0_n(tens,K,f,PAt)
function [K,f,PAt]=asamb_red_0_n(f_mat)
%
% asamb_red_0
%
160 Sisteme de bare articulate plane şi spaţiale Capitolul 4
% Asambleaza matricea redusa
%
global P
PAt=pre_asamb_0(P);
[K,f]=init_k_redus_n(PAt);
[K,f]=K_redus_0(f_mat, K, f, PAt);
function [K,f]=init_k_redus_n(PAt)
%
% Initializare K si f redus
%
% Initializare la zero
%
d=max(max(PAt));
K(1,1)=0;
K(d,d)=0;
f(1,1)=0;
f(d,1)=0;
function det_sol_0_n(tens,K,f,PAt)
%
% determina si afiseaza solutia
global Q
%
ut=K\f; % rezolva sistemul de ecuatii
%
% genereaza si afiseaza u
%
% dimensiunea lui u
dim_u=prod(size(PAt));
u(1,1)=0;
u(dim_u,1)=0;
indt=find(PAt~=0);
u(indt,1)=ut;
Gn=size(PAt,1); % nr. de grade de libertate pe nod
N=size(PAt,2); % numarul de noduri
i=1;
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 161
fprintf(' n Deplasari\n');
for j=1:N
fprintf('%5d',j);
for k=1:Gn
a=u(i);
fprintf(' %14.5g',a);
i=i+1;
end;
fprintf('\n');
end
fprintf('\n');
%
% calculeaza si afiseaza sigma
%
Ne=size(Q,1); % numarul de elemente
fprintf(' e Eforturi\n');
for e=1:Ne
feval(tens,e,u);
end
date_ba_1;
[K,f,PAt]=asamb_red_0_n('mat_ba');
det_sol_0_n('sol_ba_n',K,f,PAt);
Se obţin rezultatele:
n Deplasari
1 -2.183e-006 1.5852e-007
2 0 0
3 0 0
4 -3.1703e-007 -1.4085e-006
e Eforturi
1 87.319 87.319
2 -112.68 -112.68
3 17.934 17.934
4 -12.681 -12.681
5 -12.681 -12.681