Sunteți pe pagina 1din 39

4

Sisteme de bare articulate


plane şi spaţiale

4.7 Matricea de transformare a coordonatelor

În capitolul 3, s-a admis că sistemele de axe de coordonate locale au


axa xe în sensul şi pe direcţia axei x globale. Această simplificare a permis
utilizarea la nivel local şi la nivel global a aceloraşi grade de libertate.
Această simplificare face însă dificilă pregătirea datelor în vederea
rezolvării unei probleme particulare şi, în plus, nu permite generalizarea
relaţiilor pentru analiza sistemelor plane şi spaţiale de bare. În continuare, se
consideră, mai general, că axele de coordonate locale au direcţii şi sensuri
diferite de axele de coordonate globale. În plus, se consideră că gradele de
libertate, definite la nivel de element, sunt pe direcţiile axelor de coordonate
locale şi nu neapărat pe direcţiile axelor de coordonate globale. Matricele şi
vectorii locali (la nivel de element finit) se deduc utilizând aceste grade de
libertate locale. Pentru a obţine matricea de rigiditate globală (la nivel de
structură) şi vectorul forţelor global, exprimate având în vedere gradele de
libertate globale, este necesar să se facă o legătură dintre direcţiile
(sensurile) locale ale gradelor de libertate şi direcţiile (sensurile) globale ale
gradelor de libertate. Este, deci, necesar să se stabilească o relaţie între
direcţiile axelor de coordonate locale şi direcţiile axelor de coordonate
globale. Utilizând această relaţie, se transformă matricele şi vectorii locali
astfel încât să corespundă gradelor de libertate globale.
Pentru exemplificare, se presupune pentru început că se urmăreşte
doar rezolvarea problemelor la limită corespunzătoare sistemelor de bare
mono-dimensionale. În acest caz, este, deci, firesc să se admită restricţia ca
axele de coordonate locale xe să fie pe direcţia axei globale x. Se va renunţa
însă la restricţia ca aceste axe să aibă şi acelaşi sens. Se notează:
124 Sisteme de bare articulate plane şi spaţiale Capitolul 4

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:
uie  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)
e1

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

Geext  N h ,h   T f eext (4.12)


e

f eint  K e ue (4.13)
Relaţia dintre vectorii deplasărilor nodurilor elementului se scrie sub
forma:
ue  Te1ue  TeT ue   Te ue  (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.

Fig. 4.1 Sistem plan de bare articulate.

În capitolul 3, unde s-au studiat sistemele de bare mono-


dimensionale, fiecărui nod îi era asociat un singur grad de libertate şi anume
deplasarea u după direcţia x. De asemenea, unui element de bară îi
corespundeau două grade de libertate şi anume deplasările u ale nodurilor de
capăt în direcţia x.
Dacă un nod aparţine unei structuri bidimensionale, atunci acestuia îi
vor fi asociate două grade de libertate şi anume: deplasarea u după direcţia x
şi deplasarea v după direcţia y. Sistemul de coordonate global xOy nu va mai
126 Sisteme de bare articulate plane şi spaţiale Capitolul 4

coincide cu sistemul de axe de coordonate local. La nivel local (la nivelul


unui element finit) se defineşte şi utilizează un sistem de axe de coordonate
cu axa xe pe lungimea elementului. În figura 4.2 se prezintă sistemul local
xe Oe ye şi sistemul global xOy de axe de coordonate în cazul unui sistem de
bare articulate plan.

ye

y xe

Oe

O x
Fig. 4.2. Sistemul de coordonate local şi sistemul de coordonate global.

Asemănător, unui nod aparţinând unei structuri tridimensionale, îi


vor fi asociate trei grade de libertate şi anume: deplasarea u după direcţia x,
deplasarea v după direcţia y şi deplasarea w după direcţia z.
Deoarece, la nivel global, există pe nod două sau trei grade de
libertate vectorul deplasărilor se expandează de la:
u1e 
ue   e  (4.16)
u2 
la
T
ue  u1e v1e u2e v2e  (4.17)
sau la
T
ue  u1e v1e w1e u2e v2e w2e  (4.18)
La nivel local, gradele de libertate vie şi wie sunt artificiale şi se
introduc numai pentru a exista o corespondenţă, între numărul de grade de
libertate pe nod în coordonate locale şi numărul de grade de libertate pe nod
în coordonate globale. Se consideră că vie şi wie sunt deplasările nodurilor pe
direcţiile ye şi ze. La nivel global gradele de libertate v şi w reprezintă
deplasările nodurilor pe direcţiile globale y şi z.
În vederea asamblării se utilizează, ca şi în paragraful anterior (4.7),
(4.8), relaţiile:
u e  Ae u ,  e  Ae  (4.19)
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 127

Între vectorul local al deplasărilor exprimat în coordonate globale şi


vectorul local al deplasărilor exprimat în coordonate locale există relaţia:
u e  Te ue (4.20)
unde matricea de transformare Te este:
 Re 0
Te   (4.21)
0 Re 
Matricea de rotaţie, Re , care intră în compunerea matricei de
transformare, este formată utilizând cosinuşii directori ai axelor locale.
Sistemul de ecuaţii extins se obţine, ca şi în cazul anterior, sub
forma:
 n T  n
  Ae Te K eTe Ae u   AeT Te f eext
T
(4.22)
 e1  e1

unde, de data aceasta, matricea de rigiditate a unui element este extinsă


având în vedere gradele de libertate conţinute de vectorul ue astfel:
 1 0 1 0 
 
Ee Ae  0 0 0 0
Ke  (4.23)
Le 1 0 1 0
 0 0 0 0
în cazul unei analize 2-D sau
1 0 0 1 0 0
0 0 0 0 0 0
 
Ee Ae  0 0 0 0 0 0
Ke  (4.24)
Le 1 0 0 1 0 0
 
0 0 0 0 0 0
 0 0 0 0 0 0
în cazul unei analize 3-D.
128 Sisteme de bare articulate plane şi spaţiale Capitolul 4

4.8 Matricea de rotaţie

În expresia matricei de transformare (4.21) apare matricea de rotaţie


Re . În acest paragraf se va stabili cum se calculează elementele acestei
matrice.
Un vector se exprimă în sistemul de axe de coordonate local astfel:
   
v  x e ie  y e je  z e k e (4.25)
Corespunzător, se utilizează, pentru a specifica coordonatele,
notaţia:
 xe 
 
ve   ye  (4.26)
 
 ze 
Acelaşi vector se exprimă în sistemul de axe de coordonate global
astfel:
   
v  xi  yj  zk (4.27)
Corespunzător, se utilizează, pentru a specifica coordonatele,
notaţia:
x
 
v   y (4.28)
 
z
De asemenea, versorii axelor de coordonate locale se pot exprima în
sistemul de axe de coordonate globale prin relaţiile
   
ie  l xe i  mxe j  n xe k (4.29)
   
je  l ye i  m ye j  n ye k (4.30)
   
k e  l ze i  mze j  n ze k (4.31)
Înlocuind în (4.25) relaţiile (4.29), (4.30) şi (4.31) se obţine prin
identificare cu (4.27) relaţia matriceală
 x   l xe l ye l ze  x e 
   e  
 z    mx mye mze  y e  (4.32)
 y  ne ne n ze  ze 
   x y

sau
v  Re ve , ve  ReT v (4.33)
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 129

unde s-a avut în vedere ortogonalitatea matricei de rotaţie, adică:


Re1  ReT (4.34)
În concluzie, matricea de rotaţie folosită în exprimarea matricei de
transformare (4.21) conţine pe coloane cosinuşii directori ai axelor de
coordonate locale. Matricea de transformare se foloseşte la exprimarea
matricei de rigiditate globale în conformitate cu relaţia:
Kˆ  T K T T
e e e e (4.35)
Se fac aceste precizări deoarece unii autori preferă o exprimare a
matricei de rigiditate globale folosind o relaţie de forma:
Kˆ e  TeT K eTe (4.36)
caz în care, în matricea de transformare se foloseşte inversa matricei de
rotaţie deduse aici, adică:
 RT 0   Re 0 
Te  TeT   e T
  (4.37)
 0 Re   0 Re 
Matricea de rotaţie Re folosită la exprimarea matricei de
transformare (4.37) este formată pe linii din cosinuşii directori ai axelor de
coordonate locale.

4.9 Tratarea condiţiilor la limită

Pentru impunerea condiţiilor la limită se poate proceda în mai multe


moduri. Se prezintă în continuare o modalitate simplă de lucru în care se
utilizează sistemul de ecuaţii extins.
Se presupune pentru început că asupra structurii se impun condiţii la
limită, de formă omogenă, adică în anumite noduri se impun condiţiile:
u  0 sau v  0 sau w  0 , (4.38)
Se notează
Ku  f (4.39)
sistemul de ecuaţii extins. Acesta se descompune astfel:
 K11 K12   u1   f1 
    (4.40)
 K 21 K 22  u2   f 2 
unde
u2  0 (4.41)
130 Sisteme de bare articulate plane şi spaţiale Capitolul 4

sunt gradele de libertate care corespund legăturilor. Sistemul de ecuaţii se


rescrie sub forma:
 K11u1  f1
 (4.42)
 K 21u1  f 2
Primul grup de ecuaţii reprezintă sistemul de ecuaţii redus şi se scrie
de obicei folosind notaţiile:
   f
Ku (4.43)
Sistemul de ecuaţii (4.43) se foloseşte pentru a determina deplasările
necunoscute, adică u  u1
Al doilea grup de relaţii din (4.42) se poate folosi pentru a calcula
forţele care se dezvoltă în aceste legături (reacţiunile):
f 2  K 21u1 (4.44)
In situaţia în care asupra structurii se aplică condiţii la limită
neomogene:
u  0 sau v  0 sau w  0 , (4.45)
se formează mai întâi sistemul de ecuaţii extins (4.39), iar apoi acesta se
descompune astfel:
 K11u1  K12 u2  K13 u3  f1

 K 21u1  K 22 u2  K 23 u3  f 2 (4.46)
K u  K u  K u  f
 31 1 32 2 33 3 3

unde, în u2 au fost grupate condiţiile la limită neomogene, iar în u3


condiţiile la limită omogene. De notat că atât mărimile u2 , cât şi mărimile
u3 sunt date, cunoscute. Se ţine cont de
u3  0 (4.47)
şi se rescrie sistemul de ecuaţii (4.46) sub forma:
 K11u1  K12 u2  f1

 K 21u1  K 22 u2  f 2 (4.48)
K u  K u  f
 31 1 32 2 3

Primul grup de ecuaţii din (4.48) este sistemul de ecuaţii redus


K11u1  K12 u2  f1 (4.49)
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 131

care se poate scrie în forma standard (4.43) dacă se identifică termenii


corespunzători:
K  K11 (4.50)

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

La rezolvarea sistemului de ecuaţii (4.59) trebuie să se aibă în vedere


că matricea sa nu este pozitiv definită. Se poate verifica uşor această
afirmaţie, dacă se consideră un vector de forma:
u    0 
  0 (4.60)
    0 
şi se observă că are loc relaţia:
K AT  0 
0       0
T T
(4.61)
A 0   

4.10 Algoritmul de rezolvare al sistemelor plane de bare

Pentru a clarifica aspectele practice, ale aplicării MEF, se vor


prezenta în continuare, principalele etape ale rezolvării unei probleme.
Având în vedere faptul că MEF este destinată utilizării pe calculator
şi nu calculului manual, se va prezenta şi un algoritm de calcul.
Pentru a simplifica expunerea, se consideră că:
- se tratează numai cazul sistemelor plane de bare articulate;
- deplasările impuse sunt numai de forma u = 0 sau v = 0, u şi v fiind
deplasările nodurilor pe direcţia axelor de coordonate globale;
- încărcarea (exterioară) se poate aplica numai în noduri.
Prezentarea va avea un caracter general însă atunci când va fi
necesar se vor face particularizările corespunzătoare sistemului plan de bare
articulate din figura 4.3.

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

4.10.4 Descrierea datelor problemei

Datele introduse sunt utilizate pentru:


- descrierea nodurilor;
- descrierea elementelor.
Există diverse posibilităţi de a descrie problema. Se prezintă aici o
modalitate utilizată frecvent în software-ul scris pe baza MEF.

a) Descrierea nodurilor

Datele asociate unui nod sunt:


- coordonatele nodului;
- codurile de deplasare;
- încărcarea.

În vederea exprimării coordonatelor nodurilor, a codurilor de


deplasare şi a încărcării, se utilizează un sistem global de axe de coordonate.
(xOy în exemplul tratat aici).
Codurile de deplasare sunt utilizate pentru a specifica legăturile pe
direcţia axelor de coordonate globale, adică pentru a specifica deplasări
impuse de forma u = 0 sau v = 0, u şi v fiind deplasările nodurilor.
Datele privind descrierea nodurilor structurii pot fi grupate în trei
matrice. O matrice conţine coordonatele nodurilor, alta codurile de
deplasare, iar ultima încărcarea. Dacă se notează cu n numărul de noduri,
atunci fiecare dintre aceste matrice au n linii şi două coloane.
Matricea coordonatelor conţine pe prima coloană coordonatele x ale
nodurilor, iar pe a doua coloană coordonatele y.
Pentru specificarea legăturilor unui nod, se utilizează în mod
obişnuit codurile de deplasare 0 sau 1. Prin 1 se specifică o deplasare
blocată (o legătură pe direcţia respectivă), iar prin 0 situaţia contrară (adică
o deplasare liberă).
Matricea încărcărilor conţine pe prima coloană încărcările
concentrate pe direcţia x, iar pe a doua coloană încărcările pe direcţia y.
Se numerotează nodurile 1,2,...,n şi se asociază fiecărui nod i linia i
din matricea coordonatelor, linia i din matricea codurilor de deplasare şi
linia i din tabloul încărcărilor.
134 Sisteme de bare articulate plane şi spaţiale Capitolul 4

Dacă se notează COO matricea coordonatelor, ID matricea codurilor


de deplasare şi FOR tabloul încărcărilor, atunci pentru exemplul tratat aici
se poate scrie:
0 0  0 0   F 0 
B 0  1 1  0 0 
COO    , ID    , FOR   (4.126)
0 H  1 1  0 0 
     
B H  0 0   0  F

b) Descrierea elementelor

Datele asociate unui element sunt:


- nodurile de capăt;
- caracteristicile secţionale;
- caracteristicile de material.

Se presupune că aria transversală este constantă pe lungimea unui


element.
În privinţa materialului este suficient să se cunoască modulul de
elasticitate longitudinal E.
Acceptând că elementele se numerotează 1,2,...,m, m fiind numărul
total de elemente, datele privind elementele se pot grupa în două matrice,
denumite de exemplu NOD şi MAT, fiecare având m linii şi două coloane.
Unui element i îi sunt asociate linia i din tabloul NOD şi linia i din tabloul
MAT. Tabloul NOD va conţine nodurile de capăt, iar tabloul MAT va
conţine pe prima coloană aria, iar pe a doua coloană modulul de elasticitate.
Particularizând la exemplul curent, se poate scrie:
1 2   A E
 2 4 2 A E 
   
NOD  4 1 , MAT  3 A E  (4.127)
   
 3 4  A E
1 3 2 A E 
unde s-a presupus că barele orizontale au aria A, barele verticale au aria 2A,
iar bara înclinată are aria 3A. S-a presupus de asemenea că toate barele au
acelaşi modul de elasticitate longitudinală E.

Algoritmul 1. (*Introducerea datelor*)


Capitolul 4 Sisteme de bare articulate plane şi spaţiale 135

1. Citeşte n (*numărul de noduri*)


2. Pentru i=1 până la n execută:
Citeşte COO[i,j], j=1,2 (*coordonatele nodurilor*)
Citeşte ID[i,j], j=1,2 (*codurile de deplasare*)
Citeşte FOR[i,j], j=1,2 (*forţele concentrate*)
3. Citeşte m (*numărul de elemente*)
4. Pentru i=1 până la m execută:
Citeşte NOD[i,j], j=1,2 (*nodurile de capăt*)
Citeşte MAT[i,j], j=1,2 (*aria secţiunii transversale şi materialul*)

4.10.5 Stabilirea gradelor de libertate

Un nod aparţinând unei structuri plane formate din bare articulate


poate avea cel mult două grade de libertate: deplasarea u în direcţia axei x şi
deplasarea v în direcţia axei y. Tipurile gradelor de libertate asociate
nodurilor, libere sau blocate, au fost definite la descrierea datelor prin
tabloul ID. Există două posibilităţi de numerotare a gradelor de libertate şi,
corespunzător, două posibilităţi de a impune deplasările zero
corespunzătoare legăturilor exterioare, şi anume:
a) Se consideră pe nod exact două grade de libertate. Se numerotează
acestea în ordinea crescătoare a nodurilor. În final, după asamblarea
sistemului de ecuaţii (extins), se impun deplasările zero direct asupra
sistemului de ecuaţii.
b) Se consideră pe nod numărul real de grade de libertate
(corespunzător datelor conţinute în tabloul ID). Se numerotează acestea în
ordinea crescătoare a nodurilor. În acest fel se obţine direct sistemul de
ecuaţii redus (gradele de libertate corespunzătoare deplasărilor zero nu mai
apar în sistemul de ecuaţii obţinut după asamblare).
Varianta b) are avantajele:
- se lucrează cu matrice şi vectori de dimensiuni mai mici;
- se elimină etapa de modificare a sistemului final de ecuaţii.
În continuare se va utiliza, în acest algoritm, varianta b).
Pentru a stabili o numerotare globală a gradelor de libertate, se are în
vedere faptul că zerourile din tabloul ID corespund gradelor de libertate
reale (libere, neblocate, diferite de zero). Se vor numerota zerourile din
tabloul ID crescător, începând cu 1. Această numerotare se face în mod
obişnuit chiar pe tabloul ID, modificând în acest scop valorile 0 şi
înlocuindu-le cu numărul de ordine al gradului de libertate. În cazul
utilizării lui ID se înlocuiesc simultan şi valorile 1 (reprezentând deplasări
136 Sisteme de bare articulate plane şi spaţiale Capitolul 4

zero) cu o valoare ilegală pentru un număr de ordine de grad de libertate, de


exemplu 0. Se poate utiliza algoritmul următor.
Algoritmul 2. (*Numerotarea gradelor de libertate*)

1. Atribuie contor=0 (*valoarea curentă a numărului gradului de libertate*)


2. Pentru i=1 până la n execută:
Pentru j=1 până la 2 execută:
Dacă ID[i,j]=0 atunci
Atribuie contor=contor+1
Atribuie ID[i,j]=contor
altfel
Atribuie ID[i,j]=0
Valoarea finală a variabilei contor reprezintă numărul total de grade
de libertate, deci dimensiunea matricei de rigiditate a structurii şi,
corespunzător, dimensiunea vectorului de încărcare.

4.10.6 Calculul matricelor şi vectorilor la nivel de element

La nivel de element este necesar să se determine:


- matricea de rigiditate;
- matricea de expansiune.
În vederea calculului matricei de rigiditate, se stabileşte mai întâi
matricea de rigiditate în coordonate locale şi matricea de rotaţie şi apoi
matricea de rigiditate în coordonate globale.
Matricea de rigiditate în coordonate locale are expresia:
 1 0 1 0 
 
E e Se 0 0 0 0
Ke    (4.128)
Le  1 0 1 0
 0 0 0 0
Pentru exprimarea în coordonate globale se utilizează:
Kˆ  T K T T
e e e e (4.129)
unde
 Re 0  l xe l ye 
Te   , Re   e  (4.130)
0 Re   mx mye 
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 137

Pentru definirea cosinuşilor directori care intră în componenţa


matricei elementare de rotaţie Re , se utilizează coordonatele nodurilor i şi j
care aparţin elementului curent e. Se utilizează notaţiile din figura 4.4.

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.

Algoritmul 3. (*Calculul matricelor de rigiditate*)

1. Pentru e=1 până la m execută:


1.1 Atribuie I=NOD[e,1] (*nodul i*)
1.2 Atribuie XI=COO[I,1], YI=COO[I,2] (*coordonatele nodului i*)
1.3 Atribuie J=NOD[e,2] (*nodul j*)
1.4 Atribuie XJ=COO[J,1], YJ=COO[J,2] (*coordonatele nodului j*)
138 Sisteme de bare articulate plane şi spaţiale Capitolul 4

1.5 Atribuie A=MAT[e,1] (*aria*)


1.6 Atribuie E=MAT[e,2] (*modulul de elasticitate*)
1.7 Calculează L cu relaţia (133) (*lungimea elementului*)
1.8 Calculează CA şi SA cu relaţiile (134) şi (4.135) (*cosinuşii
directori*)
1.9 Formează matricea R din relaţia (4.130) (*matricea de rotaţie*)
1.10 Formează matricea KL din relaţia (4.128) (*matricea de
rigiditate în coo. locale*)
1.11 Formează matricea KG din relaţia (4.129) (*matricea de
rigiditate în coo. globale*)
1.12 Scrie matricea KG (*memorare pe suport extern*)

Matricea de expansiune se înlocuieşte în mod obişnuit cu un vector


de expansiune notat de exemplu LM, vector de dimensiune egală cu numărul
de grade de libertate pe element, în acest caz de dimensiune 4. Vectorul LM
va fi utilizat la asamblare în locul matricei de expansiune. LM conţine
numerele gradelor de libertate globale ce corespund gradelor de libertate
locale şi se completează utilizând informaţia din tabloul ID modificat în
algoritmul 2. În acest caz se utilizează relaţiile:
LM[1]=ID[I,1], LM[2]=ID[I,2], LM[3]=ID[J,1], LM[4]=ID[J,2]
(4.136)
I,J fiind nodurile de capăt ale elementului curent e.

Pentru generarea vectorilor LM se poate utiliza algoritmul următor.

Algoritmul 4. (*Calculul vectorilor de expansiune*)

1. Pentru e=1 până la m execută:


1.1 Atribuie I=NOD[e,1] (*nodul i*)
1.2 Atribuie J=NOD[e,2] (*nodul j*)
1.3 Atribuie LM[1]=ID[I,1]
1.4 Atribuie LM[2]=ID[I,2]
1.5 Atribuie LM[3]=ID[J,1]
1.6 Atribuie LM[4]=ID[J,2]
1.7 Scrie vectorul LM (*memorare pe suport extern*)

4.10.7 Asamblarea sistemului de ecuaţii


Capitolul 4 Sisteme de bare articulate plane şi spaţiale 139

Se va presupune în continuare, pentru simplificare, că se lucrează cu


întreaga matrice de rigiditate globală K fără a ţine seama de simetria
acesteia şi de faptul că elementele sale sunt grupate în jurul diagonalei
principale (matricea K are o formă bandă simetrică).
În vederea asamblării sistemului de ecuaţii se parcurg două etape
- se asamblează matricea de rigiditate;
- se asamblează vectorul de încărcare.
Asamblarea matricei de rigiditate constă în sumarea
m
K   AeT Kˆ e Ae (4.137)
e 1

unde se evită produsele cu matricele A prin utilizarea vectorilor de


expansiune LM.

Algoritmul 5. (*Asamblarea matricei de rigiditate*)

1. Atribuie K[i,j]=0, i,j=1,...,contor (*iniţializarea matricei de rigiditate


globale*)
2. Pentru e=1 până la m execută:
2.1 Citeşte matricea KG (*matricea de rigiditate a elementului*)
2.2 Citeşte vectorul LM (*vectorul de expansiune al elementului*)
2.3 Pentru i=1 până la 4 execută:
(*L este linia din K unde se va suma*)
2.3.1 Atribuie L=LM[i]
2.3.2 Pentru j=1 până la 4 execută:
(*C este coloana în K unde se va suma*)
2.3.1.1 Atribuie C=LM[j]
2.3.1.2 Dacă L  0 şi C  0 atunci
(*sumare=asamblare*)
Atribuie K[L,C]=K[L,C]+KG[i,j]

În algoritmul 5 la pasul 2.3.1.2 se testează L  0 şi C  0 pentru că


gradele de libertate locale curente pot corespunde unor grade de libertate
globale blocate care nu mai apar în matricea redusă K.
Pentru a asambla vectorul de încărcare se au în vedere matricele
FOR şi ID. Practic, generarea termenului de încărcare se reduce la
vectorizarea matricei FOR, ţinând cont de numărul real de grade de
libertate. Se poate utiliza algoritmul următor.

Algoritmul 6. (*Generarea vectorului de încărcare*)


140 Sisteme de bare articulate plane şi spaţiale Capitolul 4

1. Atribuie F[i]=0, i=1,...,contor (*iniţializarea vectorului de încărcare*)


2. Pentru i=1 până la n execută:
Pentru j=1 până la 2 execută:
Dacă ID[i,j]  0 atunci
Atribuie F[ID[i,j]]=FOR[i,j]

4.10.8 Rezolvarea sistemului de ecuaţii


În MEF, sistemul de ecuaţii se rezolvă, în mod obişnuit, utilizând o
metodă directă şi mai rar utilizând metode iterative. Standard, se utilizează
metoda eliminării Gauss sau una din variantele sale. Se prezintă în
continuare un algoritm în care se modifică atât matricea K, cât şi vectorul F,
iar soluţia se obţine chiar în vectorul de încărcare F. Având în vedere că
matricea de rigiditate redusă este pozitiv definită, rezultă că nu este necesar
să se utilizeze pivotarea, deoarece nu vor apare pivoţi nuli. În practică, la
rezolvarea sistemelor de ecuaţii rezultate din modelarea cu MEF, pivotarea
se utilizează foarte rar deoarece nu numai că nu garantează reducerea
erorilor de rotunjire, dar conduce şi la complicarea algoritmului de
rezolvare.

Algoritmul 7. (*Rezolvarea sistemului de ecuaţii*)

(*etapa de eliminare a variabilelor*)


1. Pentru c=1 până la contor execută:
1.1 Pentru j=c+1 până la contor execută:
Atribuie K[c,j]=K[c,j]/K[c,c]
1.2 Atribuie F[c]=F[c]/K[c,c]
1.3 Pentru i=c+1 până la contor execută:
Pentru j=c+1 până la contor execută:
Atribuie K[i,j]=K[i,j]-K[i,c]*K[c,j]
Atribuie F[i]=F[i]-K[i,c]*F[c]

(*etapa de substituţie inversă*)


2. Pentru c=contor până la 1 execută:
Pentru j=c+1 până la contor execută:
Atribuie F[c]=F[c]-K[c,j]*F[c]

4.10.9 Afişarea rezultatelor


Capitolul 4 Sisteme de bare articulate plane şi spaţiale 141

Se afişează deplasările nodurilor şi forţele din bare. Pentru afişarea


deplasărilor nu este suficientă afişarea vectorului F, deoarece acesta nu
conţine toate gradele de libertate. Se poate utiliza algoritmul.

Algoritmul 8. (*Afişarea deplasărilor*)

1. Pentru i=1 până la n execută:


Pentru j=1 până la 2 execută:
Dacă ID[i,j]  0 atunci
Scrie F[ID[i,j]]
Altfel
Scrie 0

Forţele axiale din bare se calculează cu:


E A
N e  e e  u2e  u1e  (4.138)
Le
unde forţa şi deplasările sunt exprimate în coordonate locale.
În vederea calculării forţelor axiale, se extrag, din vectorul
deplasărilor globale, deplasările care corespund elementului curent, apoi, în
funcţie de aceste deplasări şi utilizând matricea de transformare, se obţin
deplasările în coordonate locale. Aceste ultime deplasări se utilizează la
calculul forţelor axiale. Deci:
uˆ e  Ae u (4.139)

ue  TeT uˆ e (4.140)
Se poate utiliza algoritmul următor.

Algoritmul 8. (*Afişarea eforturilor*)

1. Pentru e=1 până la m execută:


1.1 Citeşte vectorul LM (*vectorul de expansiune al elementului*)
(*construieşte vectorul global al deplasărilor după relaţia (4.139)*)
1.2 Pentru i=1 până la 4 execută:
1.2.1 Atribuie j=LM[i]
1.2.2 Dacă j  0 atunci
Atribuie UG[i]=F[j]
altfel
Atribuie UG[i]=0
142 Sisteme de bare articulate plane şi spaţiale Capitolul 4

1.3 Calculează UL cu relaţia (4.140) (*construieşte vectorul local al


deplasărilor*)
1.4 Calculează N cu relaţia (4.138) (*calculează forţa axială*)

4.11 Implementare numerică în MATLAB

4.11.4 Descrierea datelor

Pentru a descrie datele unei probleme concrete, este necesar să se


scrie o funcţie sau un script MATLAB având structura generală prezentată
în exemplul următor.
Pentru a descrie datele asociate rezolvării problemei prezentate mai
sus se foloseşte funcţia amef_date. Se observă că sunt declarate ca date
globale matricele COO, FOR, ID, MAT şi NOD. În descrierea acestora s-au
folosit parametrii B, H, A, E şi F ai căror valori numerice au fost precizate.

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];

4.11.5 Determinarea soluţiei

Pentru ca programul să fie cât mai simplu, s-a preferat asamblarea


matricei de rigiditate extinse şi a vectorului termen liber extins. Se aminteşte
aici că matricea extinsă şi vectorul extins conţin elemente care corespund la
toate gradele de libertate, fie ele libere (reale) sau blocate.
Pentru determinarea soluţiei problemelor plane formate din bare
articulate se poate folosi implementarea MATLAB prezentată în continuare.

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

Se prezintă în continuare semnificaţia variabilelor principale folosite


în program.

U – vectorul deplasărilor nodurilor structurii (în forma extinsă);


Ur – vectorul deplasărilor nodurilor structurii (în forma redusă);
Ue – vectorul deplasărilor nodurilor unui element (în coordonate locale);
N – vector care conţine forţele axiale în barele structurii;
K – matricea de rigiditate extinsă a structurii;
Kr – matricea de rigiditate redusă a structurii;
Ke – matricea de rigiditate a unui element;
F – vectorul de încărcare extins;
Fr – vectorul de încărcare redus;
Re – matricea de rotaţie a unui element;
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 145

R – matrice tridimensională în care se memorează toate matricele de rotaţie;


L – vector în care se memorează lungimile elementelor;
LM – vector de conexiune de tip extins.

Dacă se folosesc funcţia amef_bare şi datele din amef_date, se


obţin rezultele:

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

4.11.6 Afişarea soluţiei

Pentru o apreciere rapidă a soluţiei obţinute, este recomandabil ca


aceasta să se pună într-o formă grafică. De aceea, se prezintă în continuare o
implementare a reprezentării grafice a deplasărilor. Această implementare
este foarte simplă şi este conţinută în funcţia amef_plot. Funcţia are doi
parametri: primul (U) este vectorul deplasărilor nodurilor structurii, iar al
doilea este un factor de scară folosit la reprezentarea formei deformate a
structurii. Factorul de scară este folosit pentru a multiplica deplasările în
vederea unei reprezentări grafice mai sugestive.

function amef_plot(U, scara)


global COO NOD
m=min(COO);
M=max(COO);
m=m-1/4*(M-m);
M=M+1/4*(M-m);
146 Sisteme de bare articulate plane şi spaţiale Capitolul 4
plot(m(1),m(2));
hold on;
plot(M(1), M(2));
for j=1:size(NOD,1)
c=COO(NOD(j,:),:);
% nedeformat
plot(c(:,1),c(:,2),'b-');
LM=2*NOD(j,[1,1,2,2])-[1,0,1,0];
Ue=U(LM)';
c(1,:)=c(1,:)+Ue([1 2])*scara;
c(2,:)=c(2,:)+Ue([3 4])*scara;
% deformat
plot(c(:,1),c(:,2),'r-');
end
hold off;

Dacă se foloseşte comanda:

amef_plot(U,100000)

atunci se obţine reprezentarea grafică din figura 4.5.

4.12 Implementare simbolică MATLAB

4.12.4 Descrierea datelor

Uneori este utilă o soluţie simbolică (analitică). Este posibil să se


obţină o asemenea soluţie dacă se modifică în mod adecvat funcţiile
prezentate în paragrafele anterioare. Este evident că atunci când numărul de
parametri utilizaţi la descrierea structurii este mare, rezultatele obţinute sunt
greu de înţeles şi probabil că este preferabil să se determine mai multe
soluţii numerice în loc de o soluţie simbolică.
Se prezintă în continuare funcţia amef_date_s folosită la
introducerea datelor structurii, funcţie despre care s-a discutat şi în
paragrafele anterioare.
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 147

Fig. 4.5 Sistem plan de bare articulate.

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];

Se observă că s-a înlocuit doar definirea numerică a parametrilor cu


definirea acestora în mod simbolic. S-a presupus că între B şi H există
relaţia:
H B (4.141)

4.12.5 Determinarea soluţiei

Pentru determinarea soluţiei simbolice, este necesar să se modifice


funcţia amef_bare. Modificările sunt minore şi sunt legate de definirea
unor mărimi cum ar fi K, F, R şi U pentru a impune calculul simbolic.
Versiunea modificată a funcţiei este prezentată în continuare.

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

Dacă se folosesc funcţia amef_bare_s şi datele din


amef_date_s, se obţin rezultele:
150 Sisteme de bare articulate plane şi spaţiale Capitolul 4

 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 
 

Pentru verificare, se pot înlocui parametrii din aceste expresii cu


valorile lor numerice. Procedând astfel, se obţin rezultatele numerice
calculate anterior folosind abordarea numerică.

4.13 Implementare standard - MATLAB

4.13.4 Introducere

Se calculează sisteme de bare articulare plane. Se consideră că barele


sunt solicitate strict axial. Se rezolvă folosind metoda elementelor finite. Se
presupune că sistemul de bare este format din mai multe bare de secţiune
transversală constantă, încărcate cu forţe distribuite constant şi cu forţe
concentrate, aplicate în nodurile structurii. Se consideră că se impun condiţii
la limită de tip esenţial de formă omogenă:
u 0, v 0 (4.143)

Despre fiecare bară se cunosc:


- aria transversală;
- lungimea barei;
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 151

- forţa distribuită pe lungimea barei.


Despre structură se cunosc:
- topologia structurii (modul în care sunt interconectate barele);
- forţele concentrate aplicate în nodurile structurii;
- condiţiile la limită.
Se calculează:
- deplasările nodurilor;
- tensiunile pe elemente.

4.13.5 Mărimi caracteristice unui element

Matricea de rigiditate a unui element finit se calculează cu relaţia:


 1 0 1 0 
 
Ee Ae  0 0 0 0
Ke  (4.144)
Le 1 0 1 0
 0 0 0 0
unde
Ae este aria secţiunii transversale a barei e;
Ee este modulul de elasticitate al barei e;
Le este lungimea barei e;
K e este matricea de rigiditate a barei e.

Matricea de rigiditate în coordonate globale se calculează cu relaţia (4.129).

Vectorul de încărcare corespunzător unui element încărcat cu forţă


distribuită constant este:
1 
 
b L 0 
fe  e e   (4.145)
2 1 
0 
unde
be este forţa distribuită pe lungimea barei e (în unităţi forţă/lungime);
f e este vectorul de încărcare al elementului e;
152 Sisteme de bare articulate plane şi spaţiale Capitolul 4

Vectorul de încărcare în coordonate globale se calculează cu o relaţie


similară cu (4.129), şi anume:

fˆe  Te f e (4.146)

Forţa axială pe un element se poate calcula cu relaţia:


AE
N e  e e  u2e  u1e  (4.147)
Le
sau se pot utiliza relaţiile de echilibru la nivel de element finit şi atunci se
obţine pentru calculul eforturilor pe element relaţia:
N e  K e ue  f e (4.148)
În vectorul N e se găsesc pe prima poziţie şi pe poziţia a treia valorile forţei
axiale de la capetele elementului. Valoarea de pe prima poziţie are semnul
inversat, iar valoarea de pe a treia poziţie are semnul corect.
T
N e    N1e 0 N 2e 0  (4.149)
În vederea aplicării acestor relaţii este necesar să se cunoască deplasările în
coordonate locale. Acestea se calculează cu relaţia:
ue  TeT uˆ e (4.150)

4.13.6 Descrierea structurii

4.13.6.1 Descrierea nodurilor

Se introduc coordonatele nodurilor prin matricea X . Se presupune


că X este de forma:
X   x1 x2 x3 ... xn  (4.151)
unde xi este un vector coloană care conţine abscisa (x-ul) şi ordonata (y-ul)
nodului i.

Se consideră că există două grade de libertate pe nod şi anume


deplasarea u după direcţia globală Ox şi deplasarea v după direcţia
globală Oy . Se specifică tipul gradelor de libertate (libere sau blocate)
folosind o matrice P care este de forma:
Capitolul 4 Sisteme de bare articulate plane şi spaţiale 153

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.

Se presupune că în noduri pot acţiona forţe concentrate. Aceste forţe


se găsesc în matricea F
F   F1 F2 F3 ... Fn  (4.153)
unde Fi este un vector coloană de dimensiune doi; Fi conţine pe prima
poziţie forţa concentrată aplicată în nodul i pe direcţia Ox şi pe a doua
poziţie forţa concentrată aplicată în nodul i pe direcţia Oy.

4.13.6.2 Descrierea elementelor

Se descrie topologia structurii folosind o matrice Q . Aceasta este de


forma:
 q11 q12 
 2 
 q1 q22 
Q   q13 q23  (4.154)
 
  
qm q2m 
 1
unde pe linia i a matricei Q se găsesc elementele q1i , q2i care sunt numerele
nodurilor de capăt ale elementului i.

Se foloseşte matricea AEb pentru a specifica aria transversală,


modulul de elasticitate şi forţa distribuită la fiecare element. Matricea
AEb este de forma:
154 Sisteme de bare articulate plane şi spaţiale Capitolul 4

 A1 E1 b1 
 2 
A E2 b2 
AEb   A3 E3 b3  (4.155)
 
    
 Am Em b m 

4.13.7 Implementare simbolică

4.13.7.1 Descrierea problemei

Se foloseşte funcţia date_ba pentru a descrie o problemă concretă. Se


presupune că datele sunt transmise de la o funcţie la alta folosind o comandă
globală. Ca exemplu, se rezolvă aceeaşi problemă din sub-capitolul anterior.

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

4.13.7.2 Asamblarea matricei de rigiditate şi a vectorului termen liber.

Se utilizează secvenţa de comenzi:

date_ba;
[K,f,PAt]=asamb_red_0('mat_ba');

Majoritatea funcţiilor utilizate la rezolvarea problemelor cu metoda


elementelor finite au fost deja prezentate în capitolul 2. Au fost descrise
funcţiile următoare:

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)

În vederea utilizării elementelor finite de bară, acestora li se adaugă


funcţia:

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;

4.13.7.3 Rezolvarea sistemului de ecuaţii şi afişarea rezultatelor

Pentru afişarea soluţiei se utilizează comanda:

det_sol_0('sol_ba',K,f,PAt);

Funcţia:

function det_sol_0(tens,K,f,PAt)

a fost descrisă în capitolul 2.

Funcţia sol_ba utilizată în det_sol_0 este prezentată în continuare.

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

De observat că în vederea afişării a fost modificat semnul forţei


axiale corespunzătoare primului nod al fiecărui element finit. Valorile
afişate de program au semnul corect pentru ambele capete ale barei. Semnul
 indică o solicitare de întindere, iar semnul  indică o solicitare de
compresiune în capătul respectiv al barei.

4.13.7.4 Concluzii

Pentru a calcula prin metoda elementelor finite o structură plană


formată din bare articulate, solicitate axial, se parcurg paşii:
a) se descrie structura folosind o funcţie cum este date_ba
b) se execută secvenţa de comenzi:

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

4.13.8 Implementare numerică

În vederea realizării calculelor numerice, este necesar să se introducă


date numerice, să se afişeze rezultate numerice şi, în plus, este necesar să se
elimine instrucţiunile sym, syms, simple şi char din funcţiile care le
folosesc. Concret, pentru a rezolva numeric problema de mai sus, este
necesar să se înlocuiască funcţia date_ba cu o altă funcţie, de exemplu
data_ba_1, care să conţină o descriere numerică a structurii. În plus, este
necesar să se elimine instrucţiunile sym, syms, simple şi char din
funcţiile:
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 det_sol_0(tens,K,f,PAt)

Pentru descrierea datelor se poate folosi funcţia date_ba_1.

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

Se observă că funcţia date_ba_1 se obţine din date_ba prin


înlocuirea declaraţiilor sym cu atribuiri numerice concrete.

Pentru afişarea rezultatelor se poate folosi funcţia sol_ba_n.

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_);

Este necesar să se înlocuiască utilizarea funcţiilor :


function [K,f,PAt]=asamb_red_0(f_mat)
function [K,f]=init_k_redus(PAt)
function det_sol_0(tens,K,f,PAt)

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)

Funcţiile noi, utilizate în calculul numeric, sunt prezentate în


continuare.

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);

Se observă că singura modificare efectuată în funcţia


asamb_red_0_n se referă la utilizarea funcţiei init_k_redus_n.

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

După efectuarea acestor modificări se poate rezolva numeric


problema, folosind secvenţa de instrucţiuni MATLAB:

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

S-ar putea să vă placă și