Sunteți pe pagina 1din 122

OBIECTIVELE CURSULUI

METODA ELEMENTULUI FINIT

• Înţelegerea ideilor fundamentale ale Metodei Elementului Finit (MEF)


• Cunoaşterea comportarării şi modului de utilizare al principalelor tipuri de elemente Page | 1
finite (EF)
• Construirea unui model adecvat cu EF pentru o problemă dată
• Interpretarea şi evaluarea calității rezultatelor obţinute.
• Conştientizare limitelor MEF ca procedeu numeric de calcul

1. INTRODUCERE

Metoda elementului finit (MEF) aplicată structurilor este o metodă multidisciplinară,


bazată pe cunoştinţe din trei domenii:
1) Mecanica structurilor, incluzând teoria elasticităţii, rezistenţa materialelor, teoria
plasticităţii, dinamica structurilor etc,
2) Analiza numerică, incluzând metode aproximative, rezolvarea sistemelor de
ecuaţii algebrice liniare, probleme de valori proprii, etc, şi
3) Ştiinţa aplicată a calculatoarelor, care se ocupă cu dezvoltarea şi implementarea
unor programe mari de calculator.
MEF este utilizată pentru rezolvarea unor probleme analitice de mari dimensiuni.
Obiectivul acesteia este modelarea şi descrierea comportării mecanice a structurilor cu
geometrie complexă. Metoda este un procedeu de discretizare: forma geometrică şi
câmpurile deplasărilor, deformaţiilor specifice şi tensiunile sunt descrise prin cantităţi
discrete (de ex. coordonate) distribuite în toată structura. Aceasta impune o notaţie
matriceală. Uneltele sunt calculatoarele numerice, capabile să memoreze liste lungi de
numere şi să le prelucreze.

1.1 Obiectul MEF

Obiectul MEF este înlocuirea sistemului cu număr infinit de grade de libertate întâlnit
în aplicaţiile referitoare la continuum printr-un sistem finit care posedă aceeaşi bază într-o
analiză discretă.
Scopul este găsirea unei soluţii aproximative la o problemă cu condiţii la limită
bilocale sau cu parametri inţiali prin împărţirea domeniului sistemului în mai multe
subdomenii de dimensiuni finite, interconectate între ele, având dimensiuni şi forme diferite,
şi prin definirea variabilelor de stare necunoscute, printr-o combinaţie liniară de funcţii de
aproximare.
Subdomeniile se numesc elemente finite, totalitatea elementelor finite formează o
reţea (mesh) iar funcţiile de aproximare se numesc funcţii de interpolare. Impunând
compatibilitatea funcţiilor definite individual pe fiecare subdomeniu în anumite puncte numite
noduri, funcţia necunoscută este aproximată pe întregul domeniu.
Principala diferenţă între MEF şi alte metode aproximative pentru rezolvarea
problemelor cu condiţii la limită (diferenţe finite, reziduuri ponderate, Rayleigh-Ritz, Galerkin)
constă în faptul că în MEF aproximarea se face pe subdomenii relativ mici.
MEF este o versiune localizată a metodei Rayleigh-Ritz. În loc să se găsească o
funcţie admisibilă care să satisfacă condiţiile la limită pe întregul domeniu, ceea ce adesea
este dificil, dacă nu imposibil, în MEF funcţiile admisibile (numite funcţii de formă) se
definesc pe domeniul unor elemente cu geometrie simplă şi nu ţin cont de complicaţiile de la Page | 2
frontiere.
Deoarece întregul domeniu este divizat în mai multe elemente şi funcţia este
aproximată prin (în funcţie de) valorile ei la nodurile elementelor, evaluarea unei astfel de
funcţii necesită rezolvarea unor ecuaţii algebrice simultane. Acest lucru este posibil doar cu
ajutorul calculatoarelor. Dezvoltarea metodei elementelor finite s-a făcut în paralel cu cea a
calculatoarelor numerice de mare capacitate, ceea ce a condus la automatizare.
Calculatoarele sunt capabile nu numai să rezolve ecuaţiile de echilibru discretizate, ci şi să
ajute la formularea ecuaţiilor, prin decizii privind rafinarea reţelei de discretizare, şi la
asamblarea matricilor de rigiditate.
Cel mai important este că metoda elementelor finite poate fi aplicată unor sisteme cu
geometrie complexă şi distribuţii complicate ale parametrilor.
Larga utilizare a metodei clasice Rayleigh-Ritz a fost limitată de imposibilitatea
generării unor funcţii admisibile adecvate pentru un mare număr de probleme practice.
Într-adevăr, sistemele cu condiţii la limită complexe sau cu geometrie complicată nu
pot fi descrise adecvat prin funcţii admisibile globale, definite pe întregul domeniu, care tind
să aibă expresii complicate, dificil de utilizat în mod sistematic. În schimb, în MEF se
construieşte o soluţie aproximativă pe baza unor funcţii admisibile locale, definite pe
subdomenii mici ale structurii.
Pentru a descrie un contur neregulat sau o distribuţie neuniformă a unor parametri,
MEF poate modifica nu numai dimensiunea elementelor finite ci şi forma acestora. Această
versatilitate extremă, combinată cu dezvoltarea unor programe de calculator performante
bazate pe această metodă, unele distribuite gratuit ca sursă deschisă (open source), ca
Z88Aurora, au făcut ca MEF să fie adoptată ca metoda preferată pentru analiza structurilor.
În MEF, ecuaţiile de echilibru se obţin din principii variaţionale care implică
staţionaritatea funcţionalei de energia potenţială totală definite. În timp ce rezolvarea
ecuaţiilor diferenţiale cu condiţii la limită complicate este dificilă, integrarea, chiar
aproximativă, a unor funcţii polinomiale este mai facilă. Din punct de vedere matematic, a
rezolva sistemul A x = b este echivalent cu a minimiza P (x)=1/2 xT A x - xT b.

1.2 Istoric

Ideea reprezentării unui domeniu dat prin elemente discrete a apărut înaintea
metodei elementelor finite. În antichitate, matematicienii au estimat valoarea numărului pi
aproximând circumferinţa unui cerc prin perimetrul unui poligon regulat înscris în cerc.
Recent, ideea a găsit aplicaţii în analiza structurii avioanelor, unde aripile şi fuselajele sunt
tratate ca ansambluri de longeroane, lise, panouri, nervuri şi elemente de rigidizare.
Aproximarea unei funcţii necunoscute printr-o funcţie continuă definită diferit pe
subdomenii a fost utilizată încă din 1943 de Courant în studiul problemei torsiunii (Saint-
Venant), împărţind secţiunea unei bare în elemente triunghiulare mici şi folosind principiul
minimului energiei potenţiale totale. Motivul pentru care articolul lui Courant nu a atras
atenţia poate fi atribuit apariţiei acestuia într-un moment nepotrivit. La începutul anilor 1940
nu existau calculatoare capabile să rezolve sisteme mari de ecuaţii, astfel că metoda a
apărut a fi nepractică. Page | 3
Baza teoretică a MEF o reprezintă metodele energetice din Mecanica structurilor şi
metodele aproximative de calcul. Primele teoreme energetice au fost formulate de Maxwell
(1864) şi Castigliano (1875). Metodele aproximative au fost dezvoltate de Rayleigh (1877),
Ritz (1908) şi Galerkin (1915). Prima carte despre metoda deformaţiilor a fost publicată de
Ostenfeld (1926).
După cel de-al doilea război mondial, Metoda forţelor (metoda flexibilităţii) a fost
promovată de Levy (1947) şi Garvey (1951), iar Metoda matricială a deplasărilor (metoda
rigidităţii) a fost utilizată de Levy (1953) în analiza aripii săgeată a avioanelor. Turner a
formulat şi perfecţionat Metoda directă a rigidităţii la Boeing (1959). Dezvoltarea Metodei
forţelor a încetat în 1969.
Dezvoltarea aripilor delta ale avioanelor a revigorat interesul pentru metoda
rigidităţilor. Modelarea acestora necesită elemente de panou bidimensionale cu geometrie
arbitrară. După o primă încercare făcută de Levy (1953) cu elemente triunghiulare, într-o
serie de articole publicate de Argyris în patru numere ale revistei Aircraft Engineering (1954,
1955), colectate apoi într-o carte de Argyris şi Kelsey (1960), se prezintă dezvoltarea matricii
de rigiditate a unui panou dreptunghiular plan utilizând funcţii de interpolare biliniare ale
deplasărilor. S-a constatat însă că elementele dreptunghiulare nu sunt adecvate pentru
modelarea aripilor delta.
Prezentarea formală a metodei elementelor finite este atribuită lui Turner, Clough,
Martin şi Topp (1956), care în perioada 1952-1953 au reuşit să calculeze direct rigiditatea
unui panou triunghiular la Boeing. Termenul “element finit” a fost utilizat pentru prima dată
de Clough (1960).
Prima carte dedicată MEF a fost scrisă de Zienkiewicz şi Cheung (1967), urmată de
cărţile lui Przemieniecki (1968) şi Gallagher (1973). Articole importante au fost publicate de
Fraeijs de Veubeke (1964), Argyris (1965), Irons şi colaboratorii (1964, 1966, 1970).
Cercetări în domeniu s-au făcut cu deosebire la Civil Engineering Department,
Berkeley, conduse de Clough, la Washington University, conduse de Martin, şi la Swansea
University, sub conducerea lui Zienkiewicz. Începând din 1963, programele de calculator
bazate pe metoda elementelor finite au fost răspândite gratuit în afara comunităţii
aerospaţiale.
Contribuţii majore au adus:
• B. M. Irons, care a inventat elementele izoparametrice, funcţiile de formă, algoritmii
de rezolvare frontală a ecuaţiilor liniare şi testul “petecului” (1964-1980),
• R. J. Melosh, care a sistematizat calculul pe baze variaţionale al matricilor de
rigiditate şi a recunoscut că MEF este o metodă Rayleigh-Ritz aplicată pe elemente
de mici dimensiuni (1963),
• J. S. Archer, care a introdus conceptul de matrice de masă coerentă (1963)
• E. L. Wilson, care a studiat metode de asamblare a matricilor rare şi de rezolvare a
sistemelor liniare aferente (1963), a dezvoltat algoritmul de condensare statică
(1974) precum şi trei programe de calculator SAP (prima sursă gratuită de
software în MEF). Mai târziu i s-a alăturat K.-J. Bathe împreună cu care a dezvoltat
programele SAP4 (1973), SAP5 şi NONSAP.
• Începând din 1965 sistemul de analiză cu elemente finite NASTRAN a fost dezvoltat
de COSMIC, MacNeal Schwendler, Martin Baltimore şi Bell Aero Systems sub
contract cu NASA, completat în 1968 şi revizuit prima dată în 1972. Page | 4
Alte programe cu elemente finite sunt ANSYS, dezvoltat de Swanson Analysis
Systems (1970), STRUDL - de Civil Engineering Department la Massachusetts Institute of
Technology şi McDonnell Douglas Automation Company (1967), STARDYNE – de
Mechanics Research Inc, ADINA – dezvoltat de K.-J. Bathe la M.I.T. (1975), SESAM – de
către Det Norske Veritas, NISA – de Engineering Mechanics Research Corporation, MARC
– de Marc Analysis Research Corporation, ABAQUS – de Hibbitt, Karlsson & Sorensen, Inc.
(1978), COSMOS-M – de Structural Research & Analysis Corp. (1985), SAMCEF – de
SAMTECH (1965), IDEAS-MS, PATRAN, ALGOR etc.
Programele de uz general permit analize dinamice, incluzând calculul frecvenţelor
proprii, analiza răspunsului liniar şi neliniar, răspunsul la şoc, calculul stabilităţii statice şi
dinamice, precum şi calculul la solicitări termice.
După 1967, MEF a fost aplicată cu succes la rezolvarea problemelor de mecanica
fluidelor, câmpuri electromagnetice şi transfer de căldură.

1.3 Ce sunt elementele finite?

Conceptul va fi parţial ilustrat prin intermediul unei probleme antice – determinarea


perimetrului L al unui cerc de diametru dat d . Intrucât L = πd, problema este echivalentă cu
determinarea valorii numerice a lui π.

Figura 1. Problema lui Arhimede (anul 250 î.e.n) tratată prin MEF.

1) Desenează un cerc cu raza r, diametrul d=2r –figura a.


2) Înscrie în cerc un poligon regulat cu n laturi – figura b. Laturile poligonului se
numesc elemente iar vârfurile se numesc noduri.
3) Extrage din poligon un element – de exemplu elementul cuprins între nodurile 4 şi
5 –figura c.
4) Analizează elementul şi determină lungimea Lij= 2r sin(π/n). Toate elementele au
aceeaşi lungime
5) Asamblează poligonul din elemente şi determină perimetrul acestuia Ln= nLij şi
determină aproximaţia lui π cu relaţia πn = Ln/d = n sin(π/n).
Prin acest exemplu se pot identifica elementele de bază ale MEF:
1) Cercul poate fi identificat ca modelul matematic al problemei analizate,
2) Cercul este înlocuit printr-un poligon care reprezintă aproximarea discretă a
cercului,
3) Laturile poligonului = elemente finite. Vârfurile poligonului = nodurile modelului
discret,
4) Fiecare element finit este definit prin nodurile sale. Caracteristica fiecărui element– Page | 5
lungimea Lij poate fi determinată independent de celelalte elemente. Pe această cale
poligonul a fost dezasamblat în elemente componente simple care pot fi analizate separat,
5) Perimetrul poligonului (necunoscuta) se obţine reconectând laturile acestuia şi
adunând lungimile elementelor. Aceasta corespunde etapei de asamblare şi calculul soluţiei
din MEF.

1.4 Problemele ce se pot rezolva cu MEF

Problemele care se pot rezolva cu ajutorul metodei elementelor finite se pot clasifica
în trei categorii:
a) probleme de echilibru, caz în care funcţiile necunoscute nu depind de timp. Acest
tip de probleme apare la determinarea comportării elastice, a corpurilor solid deformabile, în
regim static;
b) probleme de valori proprii, în care parametrii sunt independenţi de timp,
determinându-se anumite valori critice ale acestor parametri. Problemele de valori proprii
apar la determinarea forţelor critice de pierdere a stabilităţii unei structuri sau în problemele
de analiză modală a structurilor, când se determină frecvenţele proprii şi modurile proprii
asociate acestor frecvenţe;
c) probleme de propagare, sau probleme în care funcţiile necunoscute sunt
dependente de timp. Astfel de probleme apar la studiul răspunsului dinamic al unei structuri.

1.5 Etapele MEF

MEF implică trei etape distincte: preprocesarea, procesarea şi postprocesarea


datelor.
Preprocesarea include introducerea şi pregătirea datelor, coordonatele nodale,
conectivitatea elementelor, condiţiile la limită, proprietăţile materialelor şi încărcările.
Introducerea datelor se poate face fie interactiv, printr-o interfaţă user-friendly, sau prin citire
dintr-un fişier de date. Unele date de intrare pot fi importate din alte programe C.A.D. sau de
MEF.
Generarea automată a reţelei de discretizare poate fi utilizată pentru definirea
coordonatelor nodale, numerotarea optimă a nodurilor şi definirea conectivităţii elementelor.
Afişarea desenului reţelei este un mod util şi simplu de verificare a datelor de intrare. În
acest fel se pot pune în evidenţă nodurile amplasate incorect sau blocarea greşită a
nodurilor de pe contur.
Două reţele de discretizare tridimensionale, obţinute cu programul SIMPAT
dezvoltat de I.T.I. Italia, reprezentate cu afişarea doar a liniilor vizibile, sunt date în Figura 2
de mai jos, pentru o bielă şi pentru un piston de motor de automobil. Modelul cu elemente
finite al cadrului cabinei unui autoturism, obţinut cu programul SC/NASTRAN, este arătat în
Figura 3.

Page | 6

Figura 2. Reţele de discretizare tridimensionale, obţinute cu programul SIMPAT

Figura 3. Modelul cu elemente finite al cadrului cabinei unui autoturism

În etapa de procesare, programul cu elemente finite prelucrează datele de intrare şi


calculează mai întâi variabilele nodale, cum sunt deplasările şi temperaturile (rezolvarea
ecuaţiilor), apoi mărimi ca tensiunile şi derivatele variabilelor primare (retrocalculul).
În analizele dinamice, procesarea include rezolvarea unei probleme de valori proprii
sau determinarea răspunsului tranzitoriu prin metode incrementale. Costul analizei dinamice,
măsurat în funcţie de resursele calculatorului, creşte cu puterea a treia a dimensiunii
problemei.
În analizele statice, costul rezolvării sistemului de ecuaţii algebrice liniare creşte doar
liniar cu dimensiunile problemei. În principiu, în analize dinamice pare a fi convenabilă
utilizarea aceluiaşi model cu elemente finite ca cel construit pentru analiza statică. Totuşi
adesea modelul static conţine mai multe detalii decât sunt necesare în analiza dinamică,
astfel că se face apel la condensare sau substructurare dinamică pentru a reduce ordinul
problemei dinamice înaintea etapei de procesare.
Postprocesarea se ocupă cu prezentarea rezultatelor. Programele de calcul mai
vechi utilizau listarea tabelară. Majoritatea programelor actuale reprezintă grafic configuraţia
deformată, formele modurilor proprii de vibraţie şi distribuţia tensiunilor.
Figura 4(a) arată reţeaua iniţială şi forma deformată a unui turn de răcire sub
acţiunea vântului, obţinute utilizând programul ALGOR SUPERSAP. Variabilele nodale
scalare, cum sunt temperaturile şi presiunile, se prezintă sub formă de linii contur de
parametru constant, ca izotermele şi izobarele.
Programe cu elemente finite mai recente oferă reprezentări animate ale configuraţiei
deformate, ca cea din Figura 4(b) pentru un arbore cotit.
Page | 7

Figura 4. Reţeaua iniţială şi forma deformată a unui turn de răcire sub acţiunea vântului

Partea stângă a Figurii 5 prezintă reţeaua iniţială bidimensională pentru analiza unui
dinte de roată dinţată, constând din 1174 elemente triunghiulare cu 6 noduri. Partea
dreaptă arată reţeaua optimizată obţinută cu postprocesorul ESTEREF, constând din
numai 814 elemente şi care a condus la o eroare de discretizare globală de patru ori
mai mică.

Figura 5. Rețele pentru analiza unui dinte de roată dințată

1.6 Interpretări ale Metodei Elementelor Finite

1.6.1. Interpretare Fizică


Conceptul de bază al MEF constă în descompunerea (partiţionarea) unui sistem
mecanic complex în sisteme simple numite elemente finite, interconectate între ele în puncte
discrete numite noduri, la care se definesc parametrii necunoscuţi (deplasări, temperaturi
etc.). Răspunsul fiecărui element finit este caracterizat în funcţie de parametrii definiţi la
noduri şi sunt numiţi grade de libertate. Acest răspuns este definit prin relaţii algebrice
simple de tipul relaţiei de rigiditate. Răspunsul sistemului mecanic original este aproximat de
modelul discret asociat obţinut prin asamblarea (reconecatarea) acestuia din elementele
sale componente simple (elementele finite).

1.6.2. Interpretare Matematică


Din punct de vedere matematic, MEF poate fi tratată ca un procedeu de obţinere a
unei soluţii numerice aproximative pentru rezolvarea unui sistem de ecuații diferenţiale
definite pe un domeniu finit (D) cu condiţii limită (la frontieră) date.
Domeniul (D) este descompus într-un număr finit de subdomenii simple (elemente
finite), conectate între ele pe frontierele de separaţie într-un număr finit de puncte numite
noduri. În general geometria domeniului (D) este aproximată de reuniunea subdomeniilor
simple.
Funcţia necunoscută (deplasare, temperatură etc.) este aproximată local pe fiecare
element finit prin funcţii de interpolare definite în raport cu valorile acesteia în punctele
nodale situate pe marginile elementelor finite. Aceste funcţii poartă numele de funcţii de
formă.
Reuniunea funcţiilor de interpolare pentru întreg domeniul (D) reprezintă un set de
funcţii test de aproximare, iar valorile nodale ale acestora reprezintă coordonate Page | 8
generalizate. Funcţiile test sunt introduse în sistemul ecuaţiilor diferenţiale, iar valorile
nodale se determină prin procedee încadrate în domeniul calculului variaţional (metoda Ritz,
Galerkin, metoda rezidurilor ponderate etc.).

1.7 Rezumat
Page | 9
Posibilități de alegere a structurii reale

Page | 10
2. NOŢIUNI DE REZISTENŢA MATERIALELOR

Rezistenţa materialelor are ca obiect stabilirea metodelor şi procedeelor de calcul ale


eforturilor, tensiunilor şi deformaţiilor ce apar în diferite puncte ale elementelor de rezistenţă,
când asupra acestora acţionează forţe, precum şi stabilirea şi utilizarea relaţiilor dintre
Page | 1
eforturi şi dimensiunile secţiunii.
Din totalitatea caracteristicilor elementelor de rezistenţă, în rezistenţa materialelor, se
reţin numai acele caracteristici necesare calculului de rezistenţă făcând abstracţie de ceilalţi
factori care intervin. În acest scop corpurile se schematizează în modele matematice ce au
anumite caracteristici mecanice şi elastice. Ca urmare, corpurile se vor încadra în
următoarele cinci modele: fir, bară, membrană, placă şi bloc.
Prin aceste modele, rezistenţa materialelor schematizează, printr-o metodă de calcul,
numeroase organe de maşini şi elemente de construcţii şi deci, calculul de rezistenţă are o
largă generalizare.
În raport cu geometria lor, corpurile se împart în trei grupe:
a) Corpurile cu fibră medie, cele ce au una din dimensiuni, lungimea, mult mai mare
decât celelalte două, lăţimea şi grosimea. Ele se definesc prin:
- axa longitudinală - ce poate fi dreaptă, curbă, linie frântă, etc.
- secţiunea transversală - ce poate fi constantă sau variabilă în lungul axei longitudinale.
Din această grupă fac parte:
- firele - care pot fi solicitate numai la întindere şi nu opun practic nici o rezistenţă solicitărilor
transversale sau de compresiune;
- barele - care rezistă atât la solicitări axiale cât şi transversale.
După destinaţie şi modul de solicitare barele poartă diferite denumiri specifice: tiranţi
- când sunt solicitate la întindere, stâlpi – când sunt solicitate la compresiune, grinzi - când
sunt solicitate la încovoiere, arbori - când sunt solicitate, în special, la torsiune.
Prin fibră medie sau axă se înţelege locul geometric al centrelor de greutate al
secţiunilor plane normale pe axa barei (sau a firului), iar prin secţiune normală, secţiunea
plană perpendiculară pe axă.
b) Corpurile cu suprafaţă mediană au una dintre dimensiuni - grosimea - relativ mică
în raport cu celelalte două - lăţimea şi lungimea. Din această grupă fac parte membranele şi
plăcile.
- membranele, ce au grosimea foarte mică, nu rezistă la sarcini transversale sau de
compresiune ci numai la sarcini de întindere.
- plăcile, plane sau curbe, pot prelua şi sarcini transversale şi de compresiune.
Exemple de plăci: capace şi pereţi de rezervoare, cupole, planşee, etc. iar de
membrane: pânza de cort, membrane amortizoare etc.
c) Blocuri sau corpuri masive, care au dimensiunile de acelaşi ordin de mărime.
Exemple: bilele şi rolele de rulment, blocurile de fundaţii etc.
Calculele de rezistenţă diferă de la o grupă la alta, cele mai simple fiind la fire şi bare
drepte, cresc în dificultate la barele curbe şi cadre, fiind deosebit de complicate la plăci şi
blocuri.
Rezistenţa materialelor prezintă modul de determinare a eforturilor, tensiunilor şi
deformaţiilor în cele mai simple şi des utilizate corpuri şi din acest motiv studiul barei drepte,
de secţiune constantă sau variabilă, formează baza şi este tratată în cea mai mare parte în
cursurile de Rezistenţa materialelor.
Modelul unei bare drepte (Figura 1.a) se schematizează ca în Figura 1.b. Astfel,
modelul barei (trasat cu linie groasă în figură) conţine axa barei, de lungime L şi secţiunea Page | 2
transversală, dreptunghiulară în acest caz, de lăţime b şi înălţime h. Sistemul de axe ataşat
modelului, este un sistem triortogonal cu axa Ox - axa barei şi sistemul yOz, axele centrale
principale ale secţiunii.

Figura 1. Modul de schematizare a unei bare drepte de secţiune dreptunghiulară

Pentru a putea stabili relaţiile de calcul simple, în rezistenţa materialelor se folosesc


anumite ipoteze referitoare atât la structura materialelor cât şi la comportarea lor sub
acţiunea sarcinilor aplicate. Aceste ipoteze sunt uneori în concordanţă cu realitatea, iar
alteori ele reprezintă simplificări ale fenomenelor reale, care duc la rezultate verificate
experimental şi deci acceptabile pentru scopul rezistenţei materialelor.
Principalele ipoteze, cu care operează rezistenţa materialelor, sunt:
I. Ipoteza mediului continuu, prin care se admite că materialul unui element de
rezistenţă se consideră un mediu continuu ce ocupă întregul spaţiu delimitat de volumul său.
Această ipoteză corespunde satisfăcător materialelor amorfe, dar nu corespunde realităţii la
cele cristaline. Ipoteza este necesară întrucât mărimile din rezistenţa materialelor, cum sunt
tensiunile, deplasările, deformaţiile etc. pot fi scrise ca funcţii continue de punct şi nu ca
funcţii discrete specifice pentru fiecare cristal sau particulă, permiţând folosirea calculului şi
metodelor analizei matematice.
II. Ipoteza mediului omogen, prin care se admite că materialul elementului de
rezistenţă are în toate punctele din volumul său aceleaşi mărimi fizice. Nici această ipoteză
nu concordă în totalitate cu realitatea în special în cazul betonului, lemnului şi chiar al
metalelor.
III. Ipoteza izotropiei. Materialele se consideră izotrope când au pe toate direcţiile
aceleaşi caracteristici elastice E, G şi n. În caz contrar materialele se consideră anizotrope.
Un caz particular de anizotropie este cel al materialelor ortotrope (lemnul).
IV. Ipoteza elasticităţii perfecte. Dacă tensiunile nu depăşesc anumite valori limită,
materialele se consideră perfect elastice, ceea ce înseamnă că deformaţiile produse de
sarcini se anulează odată cu anularea sarcinilor.
V. Ipoteza proporţionalităţii între tensiuni şi deformaţii specifice. În cazul
solicitărilor în domeniul elastic se consideră că între tensiuni şi deformaţii specifice există o
relaţie liniară, adică este valabilă legea lui Hooke.
Page | 3
VI. Ipoteza deplasărilor mici. În afară de unele excepţii, în Rezistenţa materialelor
se consideră că deformaţiile unui element de rezistenţă sunt foarte mici în raport cu
dimensiunile acestuia. Ipoteza este foarte importantă întrucât ecuaţiile de echilibru static se
pot scrie raportând forţele la starea iniţială nedeformată a elementului de rezistenţă. Tot pe
baza acestei ipoteze, în calculele analitice, termenii ce conţin deformaţii specifice sau
deplasări la puteri superioare se pot neglija în raport cu termenii la puterea întâi (teoria de
ordinul întâi).
VII. Ipoteza proporţionalităţii dintre deformaţii specifice şi deplasări. În domeniul
elastic se consideră că între deformaţiile specifice şi deplasări există o relaţie liniară.
Această ipoteză este o consecinţă a ipotezei deformaţiilor mici.
VIII. Ipoteza secţiunilor plane (Bernoulli). Secţiunile plane şi normale pe axa barei
rămân plane şi normale şi după deformarea produsă de sarcini. Această ipoteză se verifică
experimental pe conturul barelor şi se admite valabilă şi în interiorul acestora.
Astfel în cazul barei din figura 2.a, supusă la întindere, secţiunea BC se deplasează
în B’C’ dar rămâne plană şi normală pe axa barei. La fel pentru bara din Figura 2.b supusă
la încovoiere secţiunea BC se deplasează şi se roteşte în poziţia B’C’, dar rămâne plană şi
normală pe axa barei.

Figura 2. Reprezentare grafică a ipotezei secţiunilor plane (ipoteza lui Bernoulli)

IX. Principiul lui Saint-Venant. Dacă se înlocuiesc forţele care acţionează pe o


porţiune mică a elementului de rezistenţă cu un alt sistem de forţe echivalent din punct de
vedere static cu primul (interpretare!!!), noua distribuţie a forţelor produce în locul de
aplicare diferenţe apreciabile faţă de prima, dar rămâne fără efect, sau cu efect neglijabil, la
distanţe mari de locul de aplicare a forţelor.
X. Principiul suprapunerii efectelor. Prin aplicarea unei sarcini asupra unui
element de rezistenţă până la limita prescrisă de proporţionalitate a materialului, eforturile,
tensiunile (diferențe), deformaţiile şi deplasările ce se produc în elementul de rezistenţă
depind exclusiv de mărimea acelei sarcini şi nu sunt influenţate de efectele altor sarcini
aplicate anterior sau concomitent. Acest principiu este o consecinţă a legii lui Hooke
(deformaţiile sunt proporţionale cu sarcinile) şi a ipotezei deformaţiilor mici ce indică teoria
de ordinul întâi.
3. NOȚIUNI FUNDAMENTALE ALE METODEI
ELEMENTULUI FINIT

3.1. Sisteme de referință


Page | 4

În sens larg, un element finit reprezintă modelul de aproximare al proprietăţilor:


- geometrice, elementul e caracterizat ca parte dintr- un corp cu anumite dimensiuni;
- fizice, elementul finit are ataşate proprietăţi fizice, cum ar fi: elasticitatea,
vâscozitatea, densitatea, conductibilitatea termică etc.;
- funcţionale - aproximează una sau mai multe variabile ale problemei în funcţie de
valorile nodale şi funcţiile de aproximare ale problemei.
Configuraţia spaţială la un moment dat a unui sistem mecanic este descrisă prin
gradele sale de libertate, cunoscute şi sub denumirea de coordonate generalizate sau
variabile de stare. Grad de libertate este adesea abreviat Gl sau DOF.
Un sistem mecanic la care numărul de grade de libertate este infinit este continuu, iar
dacă numărul gradelor de libertate este finit sistemul este discret.
Definirea geometriilor structurii de rezistenţă și a modului de comportare sub
acţiunea sarcinilor, implică utilizarea unor sisteme de referinţă prin intermediul cărora să se
realizeze o simplificare a modului de obţinere a ecuaţiilor algebrice aferente cazului studiat.
Sunt utilizate două sisteme de referinţă şi anume:
- sistemul global de referinţă (pentru întreg domeniul discretizat în elemente finite),
care este un sistem triortogonal prin intermediul căruia este definită geometria structurii,
modul în care este constrânsă şi modul în care este încărcată cu sarcini. Tot la sistemul
global de axe sunt raportate rezultatele privind modul de deformare al structurii.
- sistemul local de referinţă (ataşat fiecărui element finit în parte), este utilizat la
definirea deplasărilor nodale, a forţelor care acţionează în nodurile elementului finit. Tot în
sistemul local de axe se definesc ecuaţiile de echilibru ale fiecărui element finit. Utilizarea
sistemelor locale de referinţă este impusă de obţinerea unor relaţii de calcul cât mai simple.
Sistemele de coordonate locale pot fi grupate în următoarele categorii:
- normale, care se clasifică în: cartezian, cilindric şi sferic, având originea în unul din
nodurile sau centrele de greutate ale elementului. Trecerea de la sistemul de coordonate
global la cel local sau invers se face cu matricea de transformare [T], respectiv [T]-1.
- specifice (naturale – obţinute prin raportarea coordonatelor globale la mărimi
caracteristice ale elementului – lungimi, arii sau volume). În această categorie pot intra
următoarele sisteme de coordonate:
1. coordonate ξ- natural cu originea în centrul elementului având intervalul de variaţie
[-1,1]. Acest sistem este preferat la elementele patrulatere sau paralelipipedice;
2. coordonatele L– natural, unde intervalul de variaţie este [0,1]. Acest sistem este
utilizat pentru elemente finite triunghiulare şi tetraedrice.

2.2. Tipuri de elemente finite

Clasificare a elementelor finite se poate face o în funcţie de mai multe criterii.


În funcţie de geometria structurii analizate, sunt utilizate următoarele forme de
elemente finite (Figura 3):
• unidimensionale – pentru structuri din bare articulate, grinzi cu zăbrele, cadre
plane şi spaţiale etc.;
• bidimensionale – pentru plăci, membrane, rezervoare şi pot avea formă triunghiulară
sau de patrulater; Page | 5
• tridimensionale – pentru corpuri massive; pot avea formă de tetraedru, paralelipiped
sau cub.

Figura 3. Tipuri de elemente finite

Figura 4 conține exemple de modele de elemente 1D, 2D și 3D.

Figura 4. Modele cu elemente finite

În funcţie de numărul gradelor de libertate pe fiecare nod, se pot distinge


următoarele categorii de elemente finite:
a) cu un grad de libertate pe nod – cazul structurilor (barelor) solicitate
uniaxial;
b) cu două grade de libertate pe nod – cazul structurilor plane solicitate în
planul structurii, pentru structuri din bare articulate, grinzi cu zăbrele, cadre plane şi
spaţiale etc.;
c) cu trei grade de libertate pe nod.
Figura 5 arată numărul gradelor de libertate pentru diferite elemente 1D, iar Figura 6,
pentru elemente 2D. Page | 6

Figura 5. Grade de libertate – elemente 1D

Figura 6. Grade de libertate – elemente 2D

Grade de libertate sunt colectate într-un vector {d}, numit Vectorul DOF sau vectorul
de stare. În cazul sistemelor mecanice vectorul {d} este cunoscut sub numele de vectorul
deplasărilor nodale.
În Mecanica analitică, fiecărui grad de libertate îi corespunde o forţă generalizată.
Aceste forţe sunt colectate într-un vector numit vectorul forţelor nodale. Legătura dintre cei
doi vectori, grad de libertate şi al forţelor nodale este de natură liniară şi este cunoscută sub
numele universal de matrice de rigiditate:
K {d} = {F}.
In mecanica mediului continuu și structuri, vectorul {d} reprezintă deplasări, iar
vectorul {F} reprezintă forțe mecanice. Numele generic matrice de rigiditate se regăseşte
atât în problemele de modelare a comportării sistemelor mecanice cât şi nemecanice.
Clasificarea elementelor finite implicate într-o analiză structurală, este în strânsă
legătură cu funcţiunile pe care acestea le îndeplinesc în cadrul structurilor pe care le
modelează. Page | 7
A. Elemente structurale primitive – sunt elemente structurale de bază întâlnite în alcătuirea
structurilor de rezistenţă. Figura 7 arată corespondența dintre elementul structural,
modelul matematic și modelul discret cu elemente finite.

Figura 7. Elemente structurale primitive și modelul discret cu elemente finite

B. Elemente finite de mediu continuu, rezultate prin divizarea mediului continuu în ele-
mente cu geometrie simplă. Ele sunt mai bine înţelese prin raportarea la modelul
matematic pe care îl discretizează, anume plăci, diafragme, membrane, cupole etc.
(Figura 8).

Figura 8. Elemente structurale primitive și modelul discret cu elemente finite

C. Elemente finite speciale–sunt derivate din elementele finite de mediu continuu şi includ
caracteristici necesare modelării unor fenomene speciale: fisuri, mediu infinit, contact etc
(Figura 9).
D. Macroelemente – sunt obţinute prin asamblarea unor elemente finite cu funcţiuni
specifice, cu scopul de a obţine module structurale specializate utilizate la modelarea
structurilor complexe cu caracteristici repetative (Figura 10).
E. Substructuri – sunt unităţi structurale cu funcţiuni bine definite, obţinute prin ansamblarea
unor elemente finite specializate. Distincţia dintre macroelemente şi substructuri nu este
prea evidentă (Figura 11). Page | 8

Figura 9. Element cu fisură

Figura 10. Macroelemente

Figura 11. Substructuri

3. PRINCIPII DE BAZĂ ALE MEF

Problemele de fizică aplicată întalnite curent în ingineria civilă sunt:


• distribuția eforturilor unitare și a deformațiilor specifice în solide elastice.
• distribuția câmpului termic și transferul de caldură,
• curgerea prin medii poroase (infiltrații).
Toate aceste probleme pot fi rezolvate prin două abordări: (1) abordare diferențială
și (2) abordarea variațională.

3.1 Abordare diferențială


Soluția problemei se obține prin integrarea sistemului de ecuații cu derivate parțiale
care descriu fenomenul, ținând seama și de condițiile la frontieră. Într-o exprimare general,
rezolvarea presupune găsirea funcției necunoscute u, care satisface sistemul de ecuații

Page | 9

în interiorul unui domeniu D și condițiile la frontiera Γ a domeniului

A1(u), A2(u), …. sunt ecuații cu derivate parțiale.


Funcția necunoscută u poate exprima un scalar sau un vector de mai multe variabile
(componentele deplasărilor în raport cu axele de coordinate, în cazul problemelor din teoria
elasticității).

3.2 Abordare variațională

În cazul formulării variaționale, soluția problemei se obține prin căutarea


funcției u care minimizează sau face staționară o funcțională care cuprinde aceleași
condiții la frontieră. Funcționala este un scalar scris sub formă integrală

în care intervine funcția necunoscută u, iar F și G sunt operatori.


Dacă E este funcționala asociată problemei descrise în (1) și cu condițiile la
frontieră (2), atunci condiția de staționaritate a funcționalei, 𝛿𝐸 = 0, pentru o variație
foarte mică 𝛿𝑢 = 0 a funcției, poate fi pusă sub forma

Pentru ca egalitatea (4) să existe pentru orice creștere 𝛿𝑢 = 0 a funcției, este


necesar ca A(u)=0 pe D și B(u)=0 pe Γ.
Formularea variațională nu se poate generaliza deoarece numai anumite
clase de probleme admit funcționale asociate.
Găsirea unei funcții u care să satisfacă 𝛿𝐸 = 0 este foarte dificilă, iar în cazul
frontierelor mai complicate este chiar imposibilă. Pentru evitarea acestui
inconvenient se caută o soluție aproximativă de forma

Page | 10
în care Ni(x, y, z) sunt funcții de aproximare alese convenabil, iar ai sunt parametri
independenți.
În acest caz, funcționala E depinde numai de parametrii ai, iar condiția la
frontieră ia forma

Egalitatea (6) este îndeplinită dacă și numai dacă

Din sistemul (7) se pot calcula parametrii ai , deci se determină soluția problemei.
Acest procedeu de găsire a soluției este cunoscut sub denumirea de metoda Rayleigh-Ritz.
Dacă funcționala este cuadratică, adică funcțiile F și G de sub semnul integralei (3)
se exprimă sub formă de polinoame în u și derivate ale lui u până la ordinul 2, sistemul (7)
capătă forma unui sistem de ecuații algebrice liniare,
𝜕𝐸
= [𝐾]{𝑎} + {𝑅} = 0 (8)
𝜕𝑎
care are matricea coeficienților [K] simetrică.
În forma Rayleigh-Ritz funcțiile de aproximare Ni(x,y,z) se definesc și sunt continue
pe întregul domeniu, existând marele inconvenient privind găsirea unor funcții adecvate,
care să conducă la o soluție acceptabilă a problemei.
Metoda elementelor finite pornește tot de la formularea variațională a problemei.
Pentru a depăși inconvenientul legat de definirea funcțiilor de aproximare, domeniul de
studiu este divizat în mai multe subdomenii, denumite elemente finite. Conectarea acestora
se realizează printr-un număr finit de puncte pe granița elementelor.
Funcționala E, cu expresia integrală (3), se scrie ca o sumă de integrale pe domeniile
elementelor finite.
unde De este domeniul unui element, Γ𝑒 este frontiera
elementului, care coincide cu frontiera domeniului.
Ca urmare, funcțiile de aproximare Ni(x,y,z) se definesc
Page | 11
și au anumite proprietăți de continuitate numai pe
domeniul unui element, având de această dată forme
simple.
Parametrii independenți ai se aleg ca fiind valorile nodale ui. Funcționala se exprimă
la nivelul elementului în funcție de valorile nodale corespunzătoare nodurilor elementului, iar
prin sumarea (9) se obține funcționala E în funcție de valorile nodale din întregil domeniu.
În cazul funcționalelor cuadratice, cum sunt cele care intervin în problemele de
calculul structurilor, funcționala se poate pune sub forma simplă
E = 1/2{u}T[K] {u} + {u}T{R} (10)
care prin minimizare conduce la relația matriceală (8).
Definirea funcționalei ca o sumă a contribuțiilor elementelor conduce la exprimarea

în care [k] este matricea characteristică a unui element, iar [r] este vectorul asociat.
În relația (10), {u} semnifică vectorul valorilor nodale din întreg domeniul, iar în (11),
{u} semnifică vectorul valorilor din nodurile unui element.
Condiția de staționaritate se exprimă la fel ca și înainte, prin relațiile (7), rezultând și
de data aceasta un sistem de ecuații algebrice liniare

Rezolvarea sistemului (12) permite evaluarea valorilor nodale ui. În funcție de


acestea, pe baza funcțiilor de aproximare, se găsesc, pentru fiecare element finit, valorile
funcției u și ale mărimilor derivate în orice punct al elementului.
Avantajele metodei sunt:
• exprimarea funcționalei la nivelului elementului și calculul matricelor caracteristice [k]
devin procese standard, ușor de implementat în programe de calcul,
• ansamblarea sistemului (12) urmează reguli simple de sumare a matricilor și
vectorilor,
• simetria matricei coeficienților [K] ușurează mult rezolvarea sistemului.

3.3 Variante ale Metodei Elementelor Finite

3.4 Metoda deplasărilor în analiza cu elemente finite (rezumat)


În modelarea cu elemente finite, o structură este discretizată (ipotetic) în elemente
finite. Pe conturul şi în interiorul acestora se definesc puncte numite noduri. Deplasările
nodurilor se aleg ca variabile discrete primare. Deplasările în interiorul elementelor se
exprimă în funcţie de deplasările nodale prin funcţii de interpolare denumite funcţii de formă.
Elementele finite sunt atât de mici încât forma câmpului de deplasări poate fi aproximată cu Page | 12
eroare relativ mică, urmând a se determina doar intensitatea acestuia.
Determinarea formei şi a deplasării nodurilor elementelor finite se poate face cu
ajutorul funcţiilor de interpolare în raport cu coordonatele globale.
Condiţiile pe care trebuie să le îndeplinească funcţiile de aproximare (în cazul în care
au derivate până la ordinul k+1) pentru a asigura convergenţa la micşorarea elementelor
finite sunt:
• continuitatea, care să asigure variaţii mici ale parametrului necunoscut pe tot
domeniul elementului finit, inclusiv pe frontiera acestuia.
De exemplu dacă elementul finit are în noduri doar deplasări, funcţia de aproximare
trebuie să fie continuă adică de clasa C0 – funcţie generalizată de tip Lagrange, iar în cazul
în care elementul finit are în noduri atât deplasări cât şi rotiri, este necesar ca funcţia de
aproximare şi prima ei derivată să fie continue, adică de clasă C1 – funcţie generalizată de
tip Hermite;
• compatibilitatea, adică în timpul modificării domeniului problemei de-a lungul frontierei
comune, elementele finite să nu trebuiască să se separe, iar valorile funcţiilor de
aproximare pe frontiera comună să depindă numai de necunoscutele din nodurile de pe
această frontieră;
• completitudinea, care este asigurată de modul cum sunt alese funcţiile de aproximare.
De exemplu în mecanica solidului deformabil, funcţia de aproximare care satisface
condiţiile de completitudine conţine moduri ale deplasărilor care fac posibil să se descrie
atât comportarea de corp rigid cât şi de deformaţii constante;
• invarianţa, care reprezintă proprietatea elementului finit de a avea aceeaşi stare fizică
indiferent de orientarea axelor locale în raport de care această stare este formulată.
Polinoamele reprezintă principala categorie de funcţii de aproximare utilizată în
cadrul metodei elementelor finite şi pot fi grupate în următoarele categorii:
A. polinoame simple, care asigură o descriere analitică a domeniului comportării
elementului şi facilităţile de a efectua un control asupra aproximaţiilor;
B. polinoame de tip Lagrange, care permit delimitarea coeficienţilor polinomului în
raport cu valorile funcţiei în punctele de pe o dreaptă;
C. polinoame de tip Hermite, care sunt utilizate pentru a satisfice atât funcţia cât şi
derivata sau derivatele acesteia în nodurile elementelor finite.
Elementele sunt asamblate astfel încât deplasările să fie continue (într-un anumit
fel) la traversarea frontierei, tensiunile interne să fie în echilibru cu sarcinile aplicate şi
condiţiile la limită să fie satisfăcute. În final, ecuaţiile de echilibru sunt generate printr-o
metodă variaţională.
Prima parte a procesului de modelare cu elemente finite constă în alegerea unor
elemente corecte şi adecvate, înţelegerea originii acestora şi interpretarea rezultatelor
incorecte generate de utilizarea unor elemente nepotrivite.
Partea a doua a procesului constă în asamblarea elementelor şi rezolvarea ecuaţiilor
de echilibru a structurii. Aceasta implică recunoaşterea mesajelor de eroare, când acest
proces este întrerupt, sau când devine ineficient datorită modelării necorespunzătoare a
structurii.
În MEF se parcurg următoarele şase etape principale:
• discretizarea continuumului Page | 13
• alegerea funcţiilor de interpolare
• definirea proprietăţilor elementelor
• asamblarea proprietăţilor elementelor și impunerea condițiilor pe frontieră
• rezolvarea sistemului de ecuaţii
• retrocalculul pentru determinarea unor mărimi suplimentare.
Principalele surse de erori de aproximare sunt:
• definirea domeniului (fizică sau geometrică);
• discretizarea domeniului (tăierea colţurilor, înlocuirea liniilor curbe cu linii drepte şi a
elementelor curbe cu elemente plane);
• algoritmii de rezolvare a ecuaţiilor.
Modelarea îmbinărilor şi a contactului între părţile componente ale unei structuri, şi
modelarea amortizării în probleme dinamice, sunt cele mai dificile. Rafinarea reţelelor (şi
generarea automată a acestora) nu conduce neapărat la o creştere a preciziei calculelor. O
reţea mai fină conduce la matrici de rigiditate mai mari, la un număr mai mare de ecuaţii de
rezolvat, deci necesită o memorie mai mare a calculatorului şi un timp mai lung de rezolvare.
Printre motivele pentru care MEF a căpătat o acceptare atât de largă se numără:
alegerea facilă a funcţiilor de formă, uşurinţa generării matricilor de rigiditate (şi a vectorilor
forţelor nodale), prin simpla asamblare a unor matrici specifice fiecărui element şi
versatilitatea.
Dezvoltată iniţial ca o metodă pentru analiza tensiunilor în structuri aeronautice, MEF
a evoluat ca metodă care poate fi aplicată unui număr mare de probleme inginereşti liniare şi
neliniare, statice, de stabilitate şi dinamice.

3.5 Funcții de formă

Funcțiile de interpolare care indică legea de variație asumată pentru mărimile


necunoscute (deplasări, temperaturi, etc) la nivelul elementului finit, se numesc funcții de
formă.
Pentru elementele finite cu două, trei, patru și, respectiv, cinci noduri, expresiile
funcțiilor de formă sunt următoarele:
• Pentru elemente cu 2 noduri (ξ = −1; ξ = 1)

În Figura 12a sunt reprezentate grafic funcțiile de formă în cazul unui element finit cu
două noduri. Funcțiile de formă au proprietățile:
Exemplul 1. Fie nodurile

Page | 14

Funcția de interpolare între cele două noduri este

f (𝜉) = 1-𝜉 +5/2(1+ 𝜉)=7/2+3/2 𝜉


fiind reprezentată grafic în Figura 12b.

Figura 12. (a) Funcțiile de formă în cazul unui element finit cu două noduri
(b) Funcția de interpolare f(ξ) asociată

• Pentru elemente cu 3 noduri (ξ 1 = -1; ξ2 = 0; ξ 3 =1) funcțiile de formă sunt

fiind reprezentate grafic în Figura 13a.

Figura 13. (a) Funcțiile de formă în cazul unui element finit cu trei noduri
(b) Funcția de interpolare f(ξ) asociată

Funcțiile de formă au proprietățile:


Exemplul 2. Fie nodurile Page | 15

Funcția de interpolare între cele trei noduri este

f (𝜉) = −𝜉 + 𝜉 2 +5-5𝜉 2 + 2𝜉 + 2𝜉 2 =−2𝜉 2 + 𝜉 + 5


fiind reprezentate grafic în Figura 13b.
Tema 4. Să se determine funcția de interpolare f pentru elementele cu 4 noduri, pe
cazul particular dat.

Transformarea în coordonate naturale pentru elementul liniar cu două noduri se mai


poate scrie cu ajutorul functiilor de interpolare (13) astfel

Ținând seama de proprietățile generale ale funcțiilor de interpolare, pentru un


element liniar cu r noduri transformarea de coordonate (15) se scrie

unde i () sunt funcțiile de interpolare Lagrange de grad (r −1), iar xi punctele de bază sau
nodurile elementului.
Diferențiând relația (16) se obține

unde J este jacobianul transformării de coordonate (16).


Să calculăm valoarea jacobianului
• pentru elementul liniar cu două noduri (funcția de interpolare de gradul întâi)

Page | 16

• pentru elementul liniar cu trei noduri (functia de interpolare de gradul doi)

Tema 5. Să se calculeze Jacobianul în cazul elementului linear cu patru noduri.

După cum rezultă din exemplele prezentate anteior, se deduce soluția û(x) cu
ajutorul funcțiilor de interpolare prin nodurile elementului Φi = Φi (x) având gradul (r-1), unde
r reprezintă numărul gradelor de libertate corespunzătoare numărului de noduri ale
elementului

Gradul funcțiilor de aproximare poate să difere de cel al funcției de interpolare.

3.6 Teoreme energetice

În scopul deducerii ecuației elementelor finite, se folosesc în mod curent procedee


energetice sau reziduale.
Exemplificăm aceste procedee în cazul mecanicii solidului deformabil, în care
trecerea structurii de la o stare de echilibru la alta se numeste deformație. Prin deformație
punctele de aplicație ale forțelor care actioneazã asupra structurii se deplaseazã, producând
lucru mecanic. Procesul deformatiei este guvernat de relatia
dW = dL (21)
unde
dW este energia interna totală,
dL este lucrul mecanic elementar exterior.
Se poate consideră că tot lucrul mecanic exterior de defomare se transformă în
energie potențială de deformare.
Page | 17
3.6.1. Lucrul mecanic exterior
Sarcinile exterioare care încarcă structura și generează lucrul mecanic pot fi
• forțe concentate: {F }= {Fx, Fy, Fz }T
• forțe distribuite pe suprafațã: { p }= {px, py, pz}T
• forțe masice distribuite în volumul V: { g}= { gx, gy, gz }T
Admițând o creștere liniară a sarcinilor, cu deplasarile punctelor de aplicație ale
acestora {δ } = {u, v, w}T , expresia lucrului mecanic exterior este

Energia potentială de deformare specifică, în cazul structurilor cu stări de tensiune


unidimensională cu comportare liniară, are expresia
W1 =𝜎𝜀/2
și reprezintă energia acumulată de unitatea de volum în urma deformării.

Volumul elementar dv al unei structuri spațiale acumuleaza energia potentială de deformare dată
de relația

În situația în care există stări inițiale de tensiune   și stări inițiale de deformare  , se


0 0

utilizează relația

Principiul lucrului mecanic virtual (deplasărilor virtuale)


Deplasarea virtuală este deplasarea cu valoare foarte mică, cu direcție și sens
arbitrare. Totalitatea deplasărilor virtuale continue, care satisfac condițiile la limită
geometrice, formează câmpul deplasărilor geometrice admisibile.
Sintetic, principiul lucrului mecanic virtual se exprima astfel: pentru un corp
deformabil încărcat exterior, și cu anumite condiții de frontieră (limită), lucrul mecanic virtual
al încărcărilor exterioare este egal cu lucrul mecanic virtual interior (energia de deformare),
pentru orice câmp de deplasari virtuale, geometric admisibile.
Principiul exprimă legatura existentă între solicitări și forțele interioare pentru
asigurarea unui echilibru stabil, respectiv corelatiile dintre deplasările nodurilor și
deformatiile corespunzatoare ale corpului pentru a satisface condițiile de compatibilitate.
Forma sintetică a acestui principiu este
dL• = dW• ,
sau după înlocuire
Teorema energiei potentiale
Potentialul total (energia potentială totală) P al unui sistem elastic deformabil se
obtine însumând energia potențială de deformare W și energia potențială a forțelor
exterioare Wp. Între lucrul mecanic al forțelor exterioare L și energia Wp al acestora există Page | 18
relația
L = −Wp .
Astfel, expresia energiei potențiale totale, P este
P=W−L (25)
unde
P este o functională în sens matematic (funcție de alte funcții);
W este energia potențială de deformare elastică;
L este lucrul mecanic al forțelor exterioare.
Tinând cont de expresiile energiei de deformare si a lucrului mecanic exterior relația
(25) devine:

Teorema energiei potențiale minime se poate enunța astfel: dintre toate câmpurile
deplasărilor geometric admisibile ale unei structuri stabile care respectă conditiile limită,
numai cele pentru care energia potentială are o valoare stationară (minimă) corespund
poziției de echilibru.
Pentru întreaga structură, energia potentială sau potentialul este suma potențialelor
elementelor finite. În cazul unei structuri divizate în n elemente finite
METODE NUMERICE PENTRU INTERPOLAREA FUNCȚIILOR

Fie f:[a, b]  R o funcţie. Se pune problema determinării unei funcţii F care să aproximeze
funcţia f. O astfel de aproximaţie este necesară în următoarele situaţii:
 Când nu se cunoaşte expresia analitică a lui f, ci doar valorile sale într- un număr finit de puncte
x0, x1, …, xn din intervalul [a, b].
 Când expresia analitică a lui f este prea complicată şi calculele efectuate cu ajutorul acesteia ar fi
prea dificile.
F trebuie să fie o funcţie simplă, uşor de evaluat, de diferenţiat şi de integrat. În cele ce
urmează F va fi un polinom.
Definiţie. Fie x0, x1, …, xn (n+1) puncte distincte două câte două din intervalul [a, b] (numite
noduri), şi fie yi = f(xi) pentru orice i = 0,1,…n. Se numeşte polinom de interpolare asociat
nodurilor x0, x1, …, xn şi valorilor y0 = f(x0), y1 = f(x1), …, yn= f(xn) un polinom Pn care îndeplineşte
condiţiile:
grad(Pn) ≤ n și Pn(xi) = yi, i = 0, 1, …, n.
Polinomul determinat de condiţiile anterioare există şi este unic. Într-adevăr, deoarece
grad(Pn) ≤ n, există an, an-1, ...a0 R astfel încât
Pn(X) = anXn + an-1Xn-1 + … + a1X + a0.
Relaţiile Pn(xi) = yi, i = 0, 1, …, n conduc la sistemul:

Determinatul acestui sistem este

(fiind un determinant Vandermonde). Deci 0, şi în consecinţă sistemul (*) este compatibil


determinat, adică polinomul de interpolare Pn este unic determinat. Coeficienţii polinomului de
interpolare pot fi determinaţi rezolvând sistemul (*), dar dacă n este mare, atunci volumul de calcul
este mare. De aceea se utilizează diferite forme comode ale polinoamelor care conduc la polinoame
de interpolare Lagrange, Newton, etc.
Teorema următoare stabileşte eroarea maximă cu care polinomul Pn aproximează funcţia f:
Teoremă (eroarea de interpolare). Fie f: [a, b] R o funcţie de clasă Cn+1. Fie x0, x1, …, xn
(n +1) puncte distincte două câte două din intervalul [a, b], şi yi = f(xi) pentru orice i = 0, 1, … , n.
Fie Pn polinomul de interpolare asociat nodurilor x0, x1, …, xn şi valorilor y0 = f(x0), y1 = f(x1), …, yn=
f(xn). Atunci oricare ar fi x[a,b], există ζx(a,b) astfel încât

În plus, oricare ar fi x  [a, b], avem:

pentru orice (a,b).

Deci g( ) = 0 şi g(xi) = 0 pentru orice i = 0, 1, ..., n. Aşadar g se anulează în n+2 puncte


distincte. Deoarece g este o funcţie Rolle, rezultă că derivata sa se anulează în n+1 puncte
distincte din intervalul (a,b). Repetând raţionamentul cu derivata de ordin 1, g’, rezultă că g’’ se
anulează în n puncte distincte din (a, b). Raţionând similar g(3) se anulează în n-1 puncte
distincte din (a, b), g(4) se anulează în n-2 puncte și așa mai departe. Se obtine ca exista  (a,
b) astfel încât
g(n+1)( ) = 0.
Pe de altă parte, deoarece gradul lui Pn este cel mult n, rezultă că Pn (n+1) (x) = 0 pentru orice
x  [a, b] şi deoarece x  (x – x0) (x – x1) … (x – xn) este o funcţie polinomială de grad n+1 cu
coeficientul termenului de grad maxim 1, rezultă că a n+1 derivată a sa este (n+1)!. În consecinţă,
pentru orice x[a, b], avem:

În particular, pentru x = se obţine,

2. POLINOM DE INTERPOLARE LAGRANGE

Definiție. Fie f:[a, b]  R o funcţie, x0, x1, …, xn (n+1) puncte distincte două câte două din
intervalul [a, b] (noduri), şi fie yi = f(xi) pentru orice i = 0,1,…n. Se numesc polinoame de
interpolare Lagrange cele (n+1) polinoame li, i = 0, 1, … , n cu proprietățile
Deoarece li are gradul n și admite drept rădăcini pe x0, x1, ..., xi-1, x i+1, ..., xn, rezultă că
li(X) = Ai(X – x0) (X – x1) …(X – xi-1) (X – xi+1) ... (X – xn).
Cum li(xi) = 1, rezultă

Ln(x) = y0l0(x) + y1l1(x) + … + ynln(x),


Ln(xi) = y0l0(xi) + y1l1(xi) + … + ynln(xi) = yili(xi) = yi
pentru orice i = 0, 1, …, n şi că grad(ln)  n.
Deci Ln este polinomul de interpolare asociat nodurilor x0, x1,..., xn şi valorilor y0, y1, …, yn.
În consecinţă, polinomul de interpolare asociat nodurilor x0, x1,..., xn și valorilor y0, y1, …, yn
poate fi scris sub forma

Aplicație
Sa se determine polinomul de interpolare Lagrange pentru functia care trece prin punctele A-

1,1)
 
4. MODELAREA SISTEMELOR MECANICE CU RESORTURI

4.1. Introducere

Filosofia calculelor practice cu elemente finite se bazează pe abordarea matriceală a


soluției analizelor structurale. Un accent major al analizelor structurale este de a afla relațiile Page | 1
dintre sarcini și deformațiile corespunzătoare dezvoltate în cadrul elementelor de transport
de sarcină constrânse corespunzător.
În aceast curs ne vom concentra mai ales pe analizele structurale ale elementelor
sub deformaţii elastice liniare. Pentru structurile pe care le vom studia, relațiile sarcină-
deformare pot fi obținute sau disponibile în mod forme analitice. Cu toate acestea, există o
multitudine de cazuri practice în care este imposibilă obţinerea de soluţii analitice, ceea ce
favorizează utilizarea metodelor numerice precum metodele cu elemente finite (MEF).
Vom începe, în acest capitol, explorarea conceptelor de MEF prin formularea
modelului și implementarea computerizată a elementului arc, care este adesea folosit pentru
a idealiza comportamentul mecanic al arcurilor elastice liniare, prin care înțelegem arcuri
pentru care proporționalitatea directă de forță și deformare este valabilă.
Studiul arcurilor liniare oferă o introducere simplă în teoria FEM pentru mai multe
motive.
- Arcurile oferă mijloace simple de stocare a energiei potențiale în mai multe sisteme
mecanice, ceea ce permite utilizarea acestora ca legături mecanice.
- Arcurile liniare sunt în centrul modelarii discrete a sistemelor mecanice.
Modelul matematic al arcurilor liniare, care datează de la Robert Hooke (1635–1703),
oferă o relație intuitivă care poate fi mapată, după manipulări matematice atente, către alte
sisteme complexe.
Forma uzuală a legii lui Hooke pentru arcurile elastice liniare ia forma:

F = k𝜹,

unde, conform Figurii 0a de mai jos, F este forța aplicată care generează o extensie δ , în
cadrul unui arc cu rigiditatea k.
Din perspectiva analizelor statice, Figura 0b reprezintă diagrama deplasării arcului
extins cu forța de reacție FR.

Figura 0. (a) Un arc liniar încărcat cu forța F la capătul liber și (b) diagrama deplasării
arcului

4.2. Ecuația matriceală a elementului de arc folosind metoda directă de formulare

Pentru un singur arc, legea lui Hooke este suficientă pentru a estima deplasarea
capătului liber. Cu toate acestea, în cazul unui sistem de arcuri interconectate, obţinerea
distribuţiei deplasărilor şi a forţelor de reacţie dezvoltate în cadrul sistemului într-o versiune
în formă închisă nu este atât de simplă. În în acest caz, soluțiile numerice bazate pe FEM
pot fi utilizate în acest scop.
Dezvoltarea elementului arc necesită diferite determinări în asemenea situatii.
Procedural, se pot formula expresiile pentru elementul arc bazându-se pe Figura 0, care Page | 2
prezintă un arc liniar izolat (care poate face inițial parte dintr-un sistem de arcuri) cu nodurile
i și j.
Dacă deplasările nodale (u1 și u2) și forțele nodale (f1 și f2) ale elementului arc liniar
sunt așa sunt simbolizate în Figura 3.2, atunci ecuațiile de echilibru pentru forțele nodale pot
fi scrise ca:
f1 = −f2 = k (u1 − u2 )

DE CE??? Ce implicatii are aceasta relatie in cazul sistemelor de resorturi?


Vom considera un element finit generic (Figura 1b).

Figura 1b. Element finit generic


Sistemul dat se descompune în elemente individuale, numite simbolic elemente
finite. Fiecare element se caracterizează prin prezența unui resort cu un coeficient de
proporționalitate k și a două noduri marginale (i, j). Pentru fiecare nod se notează variabilele
problemei, adică forțele nodale Fi , Fj și deplasările ui și uj (Figura 1b). Pentru obținerea
modelului elemental de comportare se consideră că deplasările finale ale nodurilor i și j ale
elementului generic se pot obține prin procedeul de suprapunere a efectelor.
Cazul a. Se consideră nodul i liber, iar nodul j fixat (Figura 2a).

Figura 2a. Nodul i este liber


Fie forta Fia, care actionând asupra acestui element produce o deplasare a nodului i
egală cu ui și, deoarece nodul j este fixat, deplasarea uj=0. Aplicând ecuatiile (1) si (2)
pentru acest caz, rezultă
Fia + Fja =0, (4)
Fia = k ui, (5)
Fja = - Fia = - k ui. (6)
Cazul b. Se consideră nodul i fixat (deci ui =0 ) și nodul j liber (Figura 2b).
Figura 2b. Nodul j este liber

Fie forta Fjb, astfel încât să producă deplasarea nodului j egală cu uj . Rezultă relațiile Page | 3
Fib +Fjb = 0 ⇔ Fib = −Fjb, (7)
Fjb = k uj, (8)
Fib = − kuj. (9)
Cazul c. Se suprapun cele două cazuri precedente, astfel încât să se obțină situația
caracterizată prin forțele Fi ,Fj și deplasările ui ,uj (Figura 2c.).

Figura 2c. Ambele noduri sunt libere

Din relațiile (5), (6) și (8), (9) rezultă sistemul

și care reprezintă relația forțe-deplasări nodale. Aceasta se poate scrie sub forma

4.3. Matricea Elementelor din Principiul Energiei Potenţiale Minime

Pentru elemente mai avansate, vom deriva ecuațiile lor matriceale prin metoda mai
puternică, bazată pe principiului energiei potențiale minime. Acesta afirmă că
Pentru sistemele conservative, dintre toate câmpurile admisibile ale
deplasărilor cinematice, cele corespunzătoare echilibrului extremizează energia
potențială totală.
Există două ingrediente principale pentru utilizarea acestui principiu. Prima este
identificarea energiei potențiale totale Πsp , care matematic este dată de:
Πsp =U −W Page | 4
unde U este energia de deformare care se dezvoltă din deformarea sistemului, iar W este
lucrul mecanic efectuat de forțele externe (W).
Al doilea este minimizarea expresiei energiei potenţiale totale în raport cu
deformarea

Rearanjarea și combinarea ecuațiilor conduce la aceeași ecuație (11), unde Fi = fi ,


i=1,2.
Pentru arcurile liniare conectate, trebuie să se formeze ecuația matriceală globală
din elementele sistemului conectat. Scris în sistemul de referință global, ecuația matriceală
globală pentru un sistem de arcuri conectate leagă vectorul forțelor nodale globale {F}, de
matricea de rigiditate globală [K] și vectorul deplasărilor nodale globale {U} prin:

• În ceea ce privește dimensiunea, matricea globală de rigiditate pentru sistemul de


conectat arcuri cu N noduri este N×N.
• Matricea K este simetrică, ceea ce înseamnă că îndeplinește condițiile KT = K.
• Matricea K este singulară, ceea ce înseamnă că trebuie să aplicăm condițiile la frontieră
ecuației matriceale a sistemului pentru a obține cele relevante variabile nodale (forțe și
deplasări).

4.3. Fazele rezolvarii problemelor de element finit pentru sisteme de arcuri

Faza precomputationala
• Discretizarea sistemului in elemente finite individuale.
• Etichetarea nodurilor si elementelor. Etichetarea nodurilor și elementelor, fără a avea
două elemente același set de etichete nodale
Faza computationala
1. Identificați proprietățile elementelor și scrieți matricea elementelor finite pentru fiecare
folosind (11)
2. Determinaţi gradul global de libertate al sistemului de arce şi extindeți ecuația matriceală
pentru fiecare element (de la pasul 1) pentru a se conforma la marimea gradului global de
libertate.
3. Stabiliți ecuația matriceală globală din ansamblul matricilor expandate ale elementelor.
4. Identificați condiția (condițiile) esențiale la limită și aplicați condițiile la limita la ecuația
matriceală globală pentru a obține ecuatia matriceala redusă
A. Obțineti vectorul redus al fortelor.
B. Utilizați condiția la limită identificată pentru a obține valoarea matricea de rigiditate redusă
5. Determinați deplasările nodale necunoscute folosind ecuația matriceală redusa.
6. Obţineţi forţele elementului nodal folosind deplasarea nodala.
7. Obțineți forțele globale necunoscute
Aplicatie:
Se consideră un sistem mecanic simplu, format din resorturi coliniare, care se află Page | 5
sub influența unor forțe exterioare acționând pe direcția sistemului de resorturi. Utilizând
metoda elementelor finite, ne propunem să determinăm distribuția deplasărilor în sistemul de
resorturi și reacțiunile în pereți. Pentru exemplificarea acestei probleme se consideră că
sistemul este format din patru resorturi, de caracteristici ki , i = 1, ..., 4, și este sub acțiunea
forțelor externe F2 = P, F3 = Q și F4 = R (Figura 1a).

Figura 1a. Sistemul fizic


Pentru a calcula deplasările capetelor libere ale resorturilor (u2, u3 și u4) și reacțiunile
provocate de reazeme (F1 și F5) se consideră modelul analitic, constituit din
1. Ecuația de echilibru: F1 + F2 + F3 + F4 + F5 = 0 , (1)
2. Ecuația constitutivă: F = k ⋅ u, (2)
3. Condiții la limită: u1 = 0 ; u5 = 0 (3)
În cazul sistemului considerat, se scriu pentru fiecare resort ecuațiile elementale și se
extinde (adică se raportează la sistemul global de noduri).
Elementul 1

Elementul 2
Page | 6

Asamblând acum contribuția fiecărui element, aplicând principiul suprapunerii


efectelor, se obține relația:

adică

unde s-a notat

Ecuația (13) reprezintă modelul global de comportare a sistemului considerat.


Sintetic, ea se poate scrie astfel
k × u = F, (14)
unde

iar det(k) = 0 .
Condițiile la limită u1 = 0, u5 = 0 se implementează sub forma

Page | 7

Se observă că această ecuație matriceală este echivalentă cu un sistem de 5 ecuații,


în care prima și ultima reprezintă condițiile la limită u1 = 0, u5 = 0.
Se impun și condițiile la limită F2 = P, F3 = Q și F4 = R, sub forma

Din acest sistem matriceal se determiă deplasarile u2, u3, u4 și valorile banale u1 = 0,
u5 = 0. Valorile u2, u3 și u4 s-ar putea determina considerând, în locul acestui sistem
matriceal, doar ecuațiile 2, 3 si 4 din sistemul algebric corespunzător.
Prin înlocuirea valorilor cunoscute u1 = 0, u5 = 0 și a forțelor P, Q si R cunoscute în
ecuația matriceală (13)

rezultă ecuația (16)

(16)
de unde se determină forțele F1 și F5 din reazemele sistemului. Aceste două forțe se pot
determina din sistemul algebric format din prima și a cincea ecuație a sistemului
corespunzător.
Caz particular. Să se simuleze un sistem de 4 resorturi în care se cunosc k1 = 1, k2
= 2, k3= 3, k4 = 4, P = 10, Q = −20 și R = 30.
Rezolvare numerica în MathCAD
ORIGIN =1
Datele inițiale:
k1 := 1 k2 := 2 k3 := 3 k4 := 4 P := 10 Q := -20 R := 30
Matricea proprietăților caracteristice este

Page | 8

Se impun condițiile la limită:


Kd := K
Kd1,1 := 1 Kd1,2 := 0 Kd2,1 := 0 Kd5,5 := 1 Kd4,5 := 0 Kd5,4 := 0

Se calculează deplasările și reacțiunile la capete:


u :=Kd-1 × Fd
F := K × u
u =(0 3.2 -0.2 4.2 0)T F= (-3.2 10 -20 30 -16.8)T
Verificare F1+F2+ F3 + F4 =0.
5. MODELAREA BARELOR LINIARE ȘI QUADRATICE PRIN
METODA ELEMENTELOR FINITE
Acest capitol introduce modelele de element finit și implementarea computațională
pentru bare drepte elastice cu secțiuni transversale constante. Barele aparțin familiei Page | 1
elementelor încărcate axial. Într-un anumit sens, comportamentul barelor este analog cu cel
al arcurilor. În consecință, încărcarea axială a unei bare produce o deformare asociată
îndreptată de-a lungul axei principale a acesteia [1].
Elementul bară discutat în acest capitol are aplicații pentru analize de bare conectate
încărcate axial, tije, cabluri tensionate plan, țevi încărcate axial, tuburi cu pereți subțiri.

5.2 Ecuațiile Elementului Finit pentru bară

5.2.1 Element bară cu două noduri


Derivarea ecuației matriceale a elementului finit pentru elementul bară se bazează
pe schemele prezentate mai jos.

Figura 5.1. Bare elastice drepte: (a) stare neîncărcată, (b) bare neîncărcate segmentate, (c)
încărcate segmentate, (d) un element izolat al barei.

Pentru început, se ia în considerare starea neîncărcată, prezentată în Figura 5.1a, a


unei bare cu aria secțiunii transversale (A). În Figura 5.1b, am impus o segmentare virtuală
pe această bară neîncărcată, creând un element de lungime L care posedă nodurile 1 și 2.
Sub influența unei forțe axiale (F), lungimea și secțiunea transversală a barei se modifică
așa cum este ilustrat în Figura 5.1c. În consecință, deplasările nodurilor 1 și 2 ale
elementului barei pot fi descrise ca u1x și u2x, însoțind forțele de reacție f1x și f2x.
Acum, să examinăm o bucată de lungime dx a elementului de bară izolat prezentat în
Figura 4.1d. Pentru această mică bucată, energia diferențială de deformare asociată cu
deformarea elementului se poate scrie ca:

Din equation 5.1, energia totală de deformare de-a lungul întregului element poate fi
obținută prin integrare
Pentru bare isotrope elastice încărcate axial, există o stare de stress uniaxial și are
loc relația:

Page | 2
unde A este aria secțiunii transversale, E este modulul de elasticitate (Young), x - este
deformația specifică, x - este efortul unitar.
Pe baza ecuației 5.3, ecuația 5.2 devine:

Relația deformație – deplasare pentru un element de bară cu două noduri este de


forma

Prin înlocuirea ecuației 5.5 în ecuația 5.4, se obține:

Integrarea ecuației (5.6) duce la

Lucrul mecanic (W) efectuat de forțele nodale f1x și f2x este dat de relația:

Folosind ecuațiile (5.7) și (5.8), ecuația matriceală a elementului finit pentru un


element bară cu două noduri (Figura 5.2) este obținută utilizând principiul energiei potențiale
minime.

Figura 5.2. Element bară cu două noduri

Reamintind definiția principiului energiei potențiale minime din Capitolul 3, scriem


energia potențială totală (Πbar) a elementului barei ca:

Minimizând Πbar with în raport cu ukx (k = 1,2), rezultă:


Rearanjând și combinând ecuațiile 5.10 și 5.11, rezulă ecuația matriceală a Page | 3
elementului de bară cu sarcini nodale concentrate ca fiind:

Ecuația 5.12 este similară cu ecuația matricei elementelor finite prezentată pentru
elementul arc, cu diferența fiind că matricea de rigiditate ke al elementului barei se
caracterizează prin termenul EA/L, care descrie rigiditatea axială a unei bare elastice.

5.2.2 Elementul de bară quadratică cu trei noduri


Elementul de bară cu două noduri prezentat în secțiunea precedentă este cel mai
comun element utilizat pentru a studia stressul normal și deformarea structurilor
unidimensionale încărcate axiale. Cu toate acestea, elementul de bară quadratic, care este
element de ordin superior cu trei noduri (Figura 5.3) are aplicații în cazuri practice.

Figura 5.3. Element de bară quadratică cu trei noduri

Ecuația matriceală pentru elementul quadratic de bară este:

unde f1x, f2x, f3x caracterizează forțele nodale, u1x, u2x, u3x sunt cle trei deplasări nodale care
însoțesc forțele nodale.

5.3 Implementare

Scopul implementării computaționale este de a ușura procesul de lucru cu problemele care


implică sisteme de bare conectate. În astfel de situații, ecuația matriceală globală leagă
vectorul global al forțelor nodale {F}, matricea globală de rigiditate [K], și vectorul global al
deplasărilor nodale {U} prin:
{F}=[K]{U} (5.14)
unde K este obținută folosing ecuația 5.12 sau 5.13, depinzând de problemă.

5.3.1 Procedura sistematică pentru rezolvarea problemelor statice legate de


bare elastice conectate longitudinal
5.3.1.1 Faza de precomputație
• Discretizarea sistemului în elemente individuale
• Etichetarea nodurilor și a elementelor, fără a avea două elemente cu același set de
etichete nodale
5.3.1.2 Faza de calcul
Page | 4
1. Scrierea ecuației matriceale a elementelor finite folosind ecuația (5.12).
2. Determinarea gradului global de libertate al barelor discretizate și ecuația matriceală
extinsă pentru fiecare element (de la pasul 1) pentru a se conforma la mărimea gradului
global de libertate.
3. Stabilirea ecuației matriceale globale prin însumarea matricelor extinse a elementelor.
4. Identificarea condițiilor esențiale la capete (frontieră) și aplicarea condițiile la frontieră
ecuației matriceale globale. Acest pas implică două acțiuni:
A. Utilizarea condițiilor la limită identificate pentru a obține matricea redusă de rigiditate.
B. Obținerea vectorului redus al forțelor.
5. Determinați deplasările nodale necunoscute ale barelor utilizând ecuația matriceală
redusă. Folosind deplasările nodale determinate se pot obține alte informații, cum ar fi forțele
în elementele nodale și forțele globale necunoscute, care includ forțele de reacțiune.

5.3.2 Funcții R implementate pentru elemental liniar de bară


Bar_Element_Matrix = function(DOF=2,stiffbar)
#DOF este numarul gradelor de libertate pt elemental de bara, adica 2. Ramane neschimbat.
#Stiffbar este EL/A si este analog lui k de la arcuri
{
ematrix=stiffbar*matrix(c(1,-1,-1,1),nrow=DOF,byrow=T);
return (ematrix)
}
#Calculeaza matricea de rigiditate pt un element de bara.
Bar_ExpandedElement_Matrix = function(TDOF,eMatrix,i,j)
#Calculeaza matricea de rigiditate expandata pt. un element de bara.
#TDOF reprezinta numarul de grade de libertate total, si este egal cu numarul de noduri.
{
bigMatrix = matrix(vector(l = TDOF * TDOF),nrow = TDOF,byrow = T);
bigMatrix[c(i,j),c(i,j)]= eMatrix;
return (bigMatrix)
}
#Calculeaza matricea de rigiditate globala prin insumarea matricilor de rigiditate ale
elementelor de bara.
Bar_Element_ReducedStiffnessMatrix = function(bigKmatrix,knownforcenodes)
{
reducedsmatrix=bigKmatrix[c(knownforcenodes),(knownforcenodes)];
return(reducedsmatrix)
}
#Se determina vectorul fortelor cunoscute si vectorul care contine pozitiile acestor forte in
noduri
Bar_Element_ReducedForceVector = function(forcevector)
{
reducedforcevector = matrix(forcevector,ncol = 1)
return(reducedforcevector)
}
#Calculeaza vectorul redus al fortelor
Bar_Element_NodalDisplacement = function(reducedmatrix,reducedforcevec)
{
return(solve(reducedmatrix,reducedforcevec)) Page | 5
}
Bar_Element_Forces = function(DOF=2,stiffbar,totalnodaldisp,i,j)
{
nodaldisplacment=totalnodaldisp[c(i,j)]
stiffnessmatrix=stiffbar*matrix(c(1,-1,-1,1),nrow=DOF,byrow=T)
nodal_forces=stiffnessmatrix %*% nodaldisplacment
return(nodal_forces)
}
#Se calculeaza deplasarile necunoscute
Bar_Global_Forces = function(bigKmatrix,totalnodaldisp)
{
global_forces = bigKmatrix %*% totalnodaldisp
return(round(global_forces))
}
#Se calculeaza vectorul global al fortelor.

Tabelele 5.1 și 5.2 descriu fiecare dintre funcțiile listate împreună cu parametrii pe
care aceste funcții îi acceptă.

Tabelul 5.1. Funcții pentru faza de preprocesare

Tabelul 5.2. Funcții pentru faza de rezolvare


Page | 6

5.3.3 Funcții R implementate pentru elementul quadratic de bară


QuadraticBar_Element_Matrix = function(DOF = 3,stiffbar)
{
ematrix =(1/3)*stiffbar*matrix(c(7,-8,1,-8,16,-8,1,-8,7),nrow = DOF,byrow =T);
return(ematrix)
}
QuadraticBar_ExpandedElement_Matrix = function(TDOF,eMatrix,i,j,k)
{
bigMatrix = matrix(vector(l = TDOF * TDOF),nrow = TDOF,byrow = T);
bigMatrix[c(i,j,k),c(i,j,k)]= eMatrix;
return (bigMatrix)
}
QuadraticBar_Element_ReducedStiffnessMatrix = function(bigKmatrix,knownforcenodes)
{
reducedstiffnessmatrix = bigKmatrix[c(knownforcenodes),(knownforcenodes)]
return(reducedstiffnessmatrix)
}
QuadraticBar_Element_ReducedForceVector = function(forcevector)
{
reducedforcevector = matrix(forcevector,ncol = 1)
return(reducedforcevector)
}
QuadraticBar_Element_NodalDisplacement = function(reducedmatrix,reducedforcevec)
{
return(solve(reducedmatrix,reducedforcevec))
}
QuadraticBar_Element_Forces = function(DOF,stiff,totalnodaldisp,i,j,k)
{
nodaldisplacment=totalnodaldisp[c(i,j,k)]
stiffnessmatrix =(1/3)*stiff*matrix(c(7,-8,1,-8,16,-8,1,-8,7),nrow = DOF,byrow = T)
nodal_forces = stiffnessmatrix %*% nodaldisplacment
return(nodal_forces)
}
QuadraticBar_Global_Forces = function(bigKmatrix,totalnodaldisp)
{
global_forces = bigKmatrix %*% totalnodaldisp
return(round(global_forces))
}

Page | 7
5.4. EXEMPLE

5.4.1. Un ansamblu de bare este încărcat cum se arată în Figura 5.4. Să se stabilească
matricea globală de rigiditate și să se determine deplasările nodale necunoscute, știind că E
= 201×109N/m2, A = 1×10−4m2 și L = 1m.

Figura 5.4. Un sistem longitudinal conectat de 3 elemente

Pe baza sistemului discretizat, se formează tabelul de conectivitate (Tabelul 5.3).


Pentru fiecare element se calculează rigiditatea axială folosind expresia AE/L.

Tabelul 5.3. Conectivitatea elementelor și rigiditate


Elemente Noduri Rigiditate axiale
1 1,2 630 MN/m
2 2,3 210 MN/m
3 3,4 420 MN/m

La pașii 1–3, răspundem la prima parte a întrebării (stabilirea matricei globale de


rigiditate), iar în pașii 4-6 se răspunde la partea a doua a întrebării (determinarea
deplasărilor nodale totale).
Pas 1: Se scrie matricea de rigiditate a fiecărui element folosind funcția
Bar_Element_Matrix().
Bar_Element_Matrix() cere informații asupra proprietăților elementelor structurii. Se
începe prin declararea proprietăților elementelor.

E=210*10^9; A=1*10^(-4); L=1;p=10000;


Axialstiffness1=(E*3*A)/L;
Axialstiffness2=E*A/L;
Axialstiffness3=(4*E*A)/(2*L);

Se calculează matricea de rigiditate.

k1=Bar_Element_Matrix(2,Axialstiffness1);k1
k2=Bar_Element_Matrix(2,Axialstiffness2);k2
k3=Bar_Element_Matrix(2,Axialstiffness3);k3
Pas 2. Se determină gradul global de libertate al ansamblului și matricea extinsă
pentru fiecare element de la Pasul 1. Bara cu două noduri are un grad de libertate pe nod.
Datorită faptului că există patru noduri pentru system, gradul total de libertate va fi 4.
Variabila Total_dof conține această valoare, care este unul dintre parametrii funcției
Bar_ExpandedElement_Matrix().
Page | 8
n_nodes=4;Total_dof=n_nodes*1;
K1=Bar_ExpandedElement_Matrix(Total_dof,k1,1,2);K1
K2=Bar_ExpandedElement_Matrix(Total_dof,k2,2,3);K2
K3=Bar_ExpandedElement_Matrix(Total_dof,k3,3,4);K3

Pas 3. Stabilirea matricei globale de rigiditate prin adunarea matricelor de rigiditate


extinse ale a elementelor:

GlobalK= K1+K2+K3; GlobalK

Pas 4. Identificarea condițiilor esențiale la frontieră și aplicarea condițiilor ecuației


matriceale globale.
Sistemul este fix în nodurile 1 și 4, deci condițiile la frontieră sunt :
U1 =U4 = 0 (5.17)
Vectorul încărcărilor nodale este:

Considerând ecuația (4.18), vectorul redus al forțelor poate fi stabilit folosind funcția
Bar_Element_ReducedForceVector().

vec_values_of_knownloads=c(0,10000)
ReducedForceVector=Bar_Element_ReducedForceVector(vec_values_of_knownloads);
ReducedForceVector

Știind că forțele cunoscute sunt aplicate în nodurile 2 și 3, cum se vede ăn ecuaia


(5.18), matricea de rigiditate redusă poate fi obținută prin:

vec_rows_of_knownloads=c(2,3)
ReducedK=Bar_Element_ReducedStiffnessMatrix(GlobalK,vec_rows_of_knownloads);
ReducedK

Pas 5. Determinarea deplasărilor nodale necunoscute folosind funcția


Bar_Element_NodalDisplacement():

UnknwonNodalDisp=Bar_Element_NodalDisplacement(ReducedK,ReducedForceVector);
UnknwonNodalDisp

5.4.2. Un ansamblu de bare cu patru elemente este încărcat așa cum se arată în
Figura 5.5 [7]. Dat E = 201 GPa și A = 3 × 10−4m2:
• Stabiliți matricea globală de rigiditate.
• Determinați deplasările nodale necunoscute.
• Determinați forțelele de reacțiune.
Page | 9

Figura 5.5. Ansamblu de bare

Tabelul 5.4 conține datele relative la ansamblu, ca și rigiditatea axială pentru


fiecare element (calculată din AE/L).

Tabelul 5.4. Conectivitatea elementelor și rigiditatea axială


Element Noduri (i,j) Rgiditatea axială
1 1,2 21 MN/m
2 2,3 21 MN/m
3 2,4 21 MN/m
4 2,5 21 MN/m

Pas 1: Se scrie matricea elementelor folosind informația privind rigiditatea axială.

Axialstiffness=(210*(10^9)*(3*10^(-4)))/3;Axialstiffness
k1=Bar_Element_Matrix(2,Axialstiffness);k1
k2=Bar_Element_Matrix(2,Axialstiffness);k2
k3=Bar_Element_Matrix(2,Axialstiffness);k3
k4=Bar_Element_Matrix(2,Axialstiffness);k4

Pas 2: Se determină gradul total de libertate al ansamblului de bare și matricea


extinsă de rigiditate a elementelor.

n_nodes=5;Total_dof=n_nodes*1;
K1=Bar_ExpandedElement_Matrix(Total_dof,k1,1,2);K1
K2=Bar_ExpandedElement_Matrix(Total_dof,k2,2,3);K2
K3=Bar_ExpandedElement_Matrix(Total_dof,k3,2,4);K3
K4=Bar_ExpandedElement_Matrix(Total_dof,k4,2,5);K4

Pas 3: Stabilirea matricii de rigiditate global prin adunarea matricilor extinse.


GlobalK=K1+K2+K3+K4;
GlobalK

Pas 4: Identificarea condițiilor la frontieră esențiale și obținerea matricii de rigiditate


redusă și vectorul redus la forțelor.
Cu matricea globală de rigiditate obținută la Pas 3, putem scrie sistemul matriceal
global pentru sistem.
Știind că ansamblul este fixat în nodurile 1, 3, 4, și 5, stabilim condițiile la frontieră:
U1 =U3 =U4 =U5 = 0. (5.24)
Cum singurul nod încărcat, este nodul 2, vectorul forțelor nodale va fi (în Newton):
{F2} = {30000}. (5.25) Page | 10
Din ecuația (5.25), forțele cunoscută aparține coloanei 2. Această informative este
folosită cu funcția Bar_Element_ReducedForceVector() ca:

vec_rows_of_knownloads=c(2);
ReducedK=Bar_Element_ReducedStiffnessMatrix(GlobalK,vec_rows_of_knownloads);
ReducedK

Vectorul forțelor reduse este obținut prin:

vec_values_of_knownloads=c(30000)
ReducedForceVector=Bar_Element_ReducedForceVector(vec_values_of_knownloads);
ReducedForceVector

Pas 5: Determine the unknown nodal displacement with the function


Bar_Element_NodalDisplacement().

UnknwonNodalDisp=Bar_Element_NodalDisplacement(ReducedK,ReducedForceVector);
UnknwonNodalDisp

Vectorul deplasărilor globale este calculat prin:


allglobalNodalDisp=matrix(rep(0,Total_dof),byrow=T);
allglobalNodalDisp[vec_rows_of_knownloads]=UnknwonNodalDisp
allglobalNodalDisp

In final se calculează vectorul global al forțelor nodale Bar_Global_Forces():

globalforces=Bar_Global_Forces(GlobalK,allglobalNodalDisp);
globalforces

5.4.3. Structura de bare din Figura 5.6 arată un sistem longitudinal conectat cu cinci
noduri. Dacă bara are modulul lui Young E = 210 GPa și o arie a secțiunii A = 3 × 10−3m2,
folosiți cunoștințele legate de elementul de bară cu trei noduri pentru a stabili
• Matricea globală de rigiditate.
• Deplasările nodale necunoscute.
• Forțele nodale globale.

Figura 5.6. Ansamblu de bare


Pentru fiecare dintre pașii care urmează, vom folosi funcțiile pentru elementele de
bară quadratice prezentate în secțiunea 5.3.3. Să desemnăm elementul ansamblului așa
cum se arată în Tabelul 5.5 și apoi să folosim funcțiile implementate pentru fiecare pas din
algoritm.
Tabelul 5.5. Conectivitatea elementelor și proprietățile lor
Elemente Noduri (i,j) Rigiditate axială Page | 11
1 1,2,3 315NM/m
2 3,4,5 315NM/m

Pasul 1: Se scriu matricele elementelor folosind informațiile despre rigiditatea axială.

Axialstiffness=(0.003*210*10^9)/2;Axialstiffness
k1=QuadraticBar_Element_Matrix(3,Axialstiffness);k1
k2=QuadraticBar_Element_Matrix(3,Axialstiffness);k2

Pasul 2: Se determină numărul gradelor globale libertate pentru ansamblul de bare și


matricea extinsă a elementelor.
n_nodes=5;Total_dof=n_nodes*1;
K1=QuadraticBar_ExpandedElement_Matrix(Total_dof, k1,1,2,3);K1
K2=QuadraticBar_ExpandedElement_Matrix(Total_dof, k1,3,4,5);K2
Pasul 3: Se determină matrice globală de rigiditate prin ănsumarea matricelor extinse
ale elementelor.
GlobalK=K1+K2;GlobalK

Pasul 4: Se determină condețiile esențiale la capete și se obșine matricea de


rigiditate extinsă și vectorul redus al forțelor. Folosind matrices globală de rigiditate de la
pasul 3 se poate scrie ecuația matriceală globală.
Stuctura este fixate în nodul 1, ceea ce înseamnă că avem următoarea condiție la
capăt:
U1 = 0 (5.30)
Vectorul cunoscut al forțelor nodale (in Newton) este:

Cunoscând aceste date se obține matricea redusă de rigiditate și vectorul forțelor


reduse:

vec_rows_of_knownloads=c(2,3,4,5)
vec_values_of_knownloads=c(5000,-10000,-7000,10000)
ReducedK=QuadraticBar_Element_ReducedStiffnessMatrix(GlobalK,vec_rows_of_knownlo
ads); ReducedK
ReducedForceVector=QuadraticBar_Element_ReducedForceVector(vec_values_of_knownl
oads); ReducedForceVector

Pasul 5: Se determină deplasările nodale necunoscute. Din cele de mai sus rezultă
că deplasările nodale pot fi scrise compact ca:
UnknwonNodalDisp=QuadraticBar_Element_NodalDisplacement(ReducedK,ReducedForce
Vector);
UnknwonNodalDisp

Pasul 6: Folosind deplasările nodale găsite, vor rezulta forțele nodale globale.

allglobalNodalDisp=matrix(rep(0,Total_dof),byrow=T); Page | 12
allglobalNodalDisp[vec_rows_of_knownloads]=UnknwonNodalDisp
allglobalNodalDisp
globalforces=QuadraticBar_Global_Forces(GlobalK,allglobalNodalDisp);globalforces

5.5 Exerciții

1. Un ansamblu este format din bare conectate din cupru, cu E=101 GPa, ca în
Figura 5.7. Fiecare element al ansamblului are diametrul D = 30 mm și lingimea arătată în
figură.
a. Să se construiască matricea globală de rigiditate a sistemului.
b. Să se determine deplasarea nodului 3 (care suportă o forță totală de 100 kN).
c. Să se determine forțele de reacțiune în nodurile 1, 2, și 4.

2. Folosiți două elemente quadratice de bară pentru a determina deplasările nodale


și forțele necunoscute de reacțiune pentru sistemul din Figura 5.8. Fie E = 210 GPa and A =
4×10−4.
6. SISTEME DE BARE ARTICULATE
(TRUSS) ÎN PLAN ȘI SPAȚIU

6.1 Ecuațiile elementului finit pentru elementul plan


Page | 1
6.1.1. Ecuațiile deplasării

În această secțiune, vom extinde modelarea barelor poziționate orizontal prezentate în


Capitolul 5. Ceea ce diferențiază tratamentul elementului truss de cel al barei este faptul că
elementele unui truss au orientări. Aceste orientări implică stabilirea a două sisteme de
coordonate: primul fiind cel de coordonate locale (în care se raportează elementul) și al
doilea este sistemul global de coordonate (care este sistemul de referință pentru întregul
truss). Pentru derivarea ecuației matriceale a elementelor finite pentru elementul plan truss
facem apel la Figura 5.1a, care descrie o bară prismatică orientată de arie A (în starea
descărcată), modulul lui Young E și lungimea Le. Ca urmare, se simbolizează sistemul
global de coordonate, așa cum se arată în Figura 5.1a, prin XY, în timp ce xy reprezintă
sistemul local de coordonate (cu x direcționat de-a lungul lungimii elementului și θ fiind
orientarea lui x față de X).
Figura 6.1b este o reprezentare schematică a barelor nedeformate și deformate,
inițial coliniare (separate aici doar pentru a permite o analiză geometrică mai clară).
Analizând Figura 6.1b, fie u1x și u2x deplasările nodale care apar sub influența forțelor nodale
(f1x, f2x). Cu aceste sarcini axiale, presupunem că elementul suferă numai deplasări axiale,
cele transversale fiind neglijabile. În consecință, putem determina o funcție liniară pentru
variația deplasării de-a lungul lungimii sale, sub forma:
u = A1+A2x (6.1)

Figura 6.1. (a) Sistemul local (x, y) și global (X,Y) de coordinate pentru elemental truss doi-
dimensional și (b) Elementul truss the nedeformat și deformat

unde A1 și A2 sunt coeficienți necunoscuți, iar 0< x< Le.


In Equation 6.1, numărul total de coeficienți Ai este ales de obicei egal cu numărul de
grade de libertate associate elementului (cel de față are două grade de libertate în sistemul
local de coordonate).
Prin impunerea condițiilor la capete, Se determină coeficienții necunoscuți ecuației
6.1, după cum urmează:
• În nodul 1: x= 0, u=u1x
• În nodul 2: x= Le, u=u2x
Înlocuind condițiile la frontieră în ecuația (6.1) rezultă
u1x = A1 (6.2)
u2x = A1+A2Le (6.3) Page | 2
Ecuațiile (6.2) și (6.3) pot fi scrise compact ca:

sau

unde [H] este matricea coordonatelor, iar {A} este vectorul coeficienților necunoscuți.
Folosind ecuația (6.5), se poate scrie:

unde

Ecuația (6.6) dă valorile constantelor necunoscute funcție de parametrii geometrici și


valorile deplasărilor nodale locale u1x și u2x. Pentru generalizare, se dorește decompunerea
deplasărilor nodale locale în sistemul global de coordinate. Pentru aceasta, se consideră
triunghiurile BAC și BMD in Figure 6.1b, și se scrie vectorul u1x ca:
u1x = u1X cosθ + u1Y sinθ (6.10)
Analog, dacă se consideră triunghiurile în nodul 2:
u2x = u2X cosθ + u2Y sinθ (6.11)
Folosind ecuațiile (6.10) și (6.11), se rescrie ecuația (6.7) ca:

Vom folosi noua expresie a lui { ue } pentru a o înlocui în (6.6), ca să obținem:


Ecuația (6.14) permite definirea lui A1 și A2 în funcție de unghiul θ și deplasările Page | 3
globale nodale. Înlocuind valorile lui A1 și A2 in ecuația (6.1) rezultă:

unde funcțiile de formă [N] în coordonate locale pot fi extrase din ecuația (6.15) ca:

6.1.2. Relația efort-deplasare

Expresia efortului (ε) pentru un element 3D cu deplasările u, v, w de-a lungul direcțiilor x, y,


z este:

Pentru o bară cu o deformare uniaxială, singura componentă nenulă a efortului este


εxx, care, conform ecuației (6.17), este definită ca:

Având in vedere ecuația (6.1), se poate evalua ecuația (6.18), care dă:

Din ecuația (6.14), se știe forma lui A2, și atunci se poate rescrie (6.19) ca:

Pentru simplificare se renunță la subscriptul asociat efortului. Să notăm în continuare


termenul subliniat prin:

În formă compactă, ecuația (6.20) devine:


Vom folosi acum legea constitutivă care leagă câmpul de efort de stress. Din legea
lui Hooke avem:

unde [D] se numește matricea proprietăților materialului. Pentru încărcare uniaxială a unei Page | 4
bare isotropice omogene, [D] = E (modulul lui Young). Atunci:

Substituind expresia lui {ε} din ecuația (6.22) în (6.24), rezultă:

6.1.4 Minimizarea energiei potențiale totale pentru truss în plan

Energia potentială totală Pt pentru bare este

După cum s-a arătat în capitolul precedent (secțiunea 5.2), dacă se consideră o
porțiune mică de element, de lungime dx, se poate scrie energia deformare (U) și lucrul
mecanic efectuat de forțele externe (W):

Înlocuind ecuațiile (6.22) și (6.25) în (6.27) se obține:

S-au folosit notațiile

Din definiția lui [B] - ecuația (6.21) - se obține matricea de rigiditate [ke ] a elementului:
6.2 Ecuațiile elementului finit pentru elemente spațiale de bare
articulate

6.2.1. Funcția de deplasare Page | 5

Când o bară este orientată în mod arbitrar în spațiul tridimensional, este implicată ecuația
matriceală a elementului finit. Pentru deducerea aceastei ecuații pentru bara în spațiu, vom
pleca de la relațiile care descriu transformarea deplasărilor nodale locale în sistemul global
de coordonate. Aceasta este [5]:

unde ecuațiile (6.35) și (6.36) implică cosinurile unghiurile θX, θY, θZ și componentele
deplasărilor globale uX, uY, și uZ. Equațiile (6.35) și (6.36) se rescriu în formă matriceală ca:

Folosind noua ecuație a lui {ue }, din ecuația (6.6.), A=[H]-1{ue }, duce la:

După înmulțirea termenilor subliniați rezultă că ecuația (6.38) se scrie:

Deformarea specifică axială pentru bară devine:


Page | 6

Se notează vectorul funcțiilor trigonometrice din (6.40) prin [B]:

Atunci rezultă următoarele relații matriceale deformație – deplasare și stress -


deformație:

sau

6.2.2 Minimizarea energiei potențiale totale pentru elementul truss în spațiu

Urmând procedura de minimizare a energiei potentiale totale descrisă în secțiunea


precedentă, pentru elemental truss în spațiu, se derivează energia potential totală în raport
cu ue și se egalează cu zero. Se obține:

Ca urmare,

Formele matriceale ale vectorilor încărcărilor și deplasărilor și matricea de rigiditate a


sistemului sunt:
Page | 7

unde

Considerând coordonatele nodurilor elementelor în spațiu ca fiind x1,y1,z1 și x2 ,y2 ,z2,


atunci se pot determina cosinușii unghiulari și lungimea elementului Le:

6.3. Implementare computațională

Implementarea computerizată din această secțiune va ușura procesul de analiză care


implică structuri truss (cadru) având bare cu unghiuri de orientări diferite. În astfel de situații,
trebuie formată ecuația matriceală globală, care leagă vectorul global al forțelor nodale {F},
matricea globală de rigiditate [K] și vectorul deplasărilor nodale globale {U}. Apoi are loc
aplicarea condițiilor la limită adecvate pentru a rezolva:
{F} = [K]{U} (6.52)
Pentru cadre plane, ecuația fiecărui element al acestuia este formată din:

Pentru cadre spațiale, ecuația fiecărui element este:

6.3.1 Procedura sistematică de analiză a structurilor de bare (truss)


Pentru rezolvarea ecuației (6.52) se urmează o procedură sistematică, având următorii pași.

6.3.1.1 Faza precomputațională


• Se stabilește sistemul global de coordonate. Pentru un truss plan, originea va fi
poziționată în punctul în care coordonatele tuturor celorlalte puncte sunt pozitive.
• Se discretizează sistemul în bare individuale orientate.
• Se notează nodurile și elementele (aceasta ajută la formarea tabelului de
conectivitate).

6.3.1.2 Faza computațională


1. Se specifică sau se determină lungimile geometrice și orientările unghiurilor Page | 8
(folosind coordonatele nodale) dacă acestea nu sunt furnizate deja.
2. Se stabilește ecuația matriceală a elementului finit pentru fiecare element de bară
(folosind ecuația (6.53) pentru un sistem plan și ecuația (6.54) pentru cel spațial). Mai precis,
avem nevoie de matricea de rigiditate a fiecărui element.
3. Se determină gradul global de libertate pentru structură și se determină matricele
extinse (ale celor de la pasul 1) pentru a se conforma la mărimea gradului se libertate global.
4. Se formează matricea globală de rigiditate prin însumarea matricelor expandate și
se folosește matricea globală de rigiditate pentru formarea ecuației matriceale globale.
5. Se determină condițiile esențiale la frontieră și se aplică acestea ecuației
matriceale globale pentru a obține ecuația matriceală redusă. Acest pas presupune două
acțiuni:
a. Stabilirea vectorului redus al forțelor.
b. Folosirea condițiilor la frontieră identificate pentru a obține matricea de rigiditate
redusă.
6. Se determină deplasările globale necunoscute folosind ecuația matriceală redusă.
Aceasta se utilizează pentru a determina alte variabile, cum ar fi vectorul local al forțelor,
vectorul global al forțelor și valoarea stresului.
a. Se obțin forțele elementale globale folosind deplasările nodale globale (de la Pasul
6) și matricea de rigiditate elementală.
b. Se obține stresul dezvoltat în fiecare membru și forțele locale (dacă se dorește).

6.3.2 Funcțiile R implementate pentru sistemele truss plane

PlaneTruss_LengthOrientation = function(vec_nodalcoordinates)
{
ysquared=(vec_nodalcoordinates[4]-vec_nodalcoordinates[2])^2
xsquared=(vec_nodalcoordinates[3]-vec_nodalcoordinates[1])^2
length_of_element=sqrt(ysquared+xsquared)
ydiff=(vec_nodalcoordinates[4]-vec_nodalcoordinates[2])
xdiff=(vec_nodalcoordinates[3]-vec_nodalcoordinates[1])
orientation_of_element=(180/pi)*atan(ydiff/xdiff)
return(round(c(length_of_element,orientation_of_element),3))
}
PlaneTruss_GeometricLengths =
function(num_ele,vec_xnodalcoordinates,vec_ynodalcoordinates)
{
length_of_nodalcoordinates=length(vec_xnodalcoordinates)
numberofelement=length_of_nodalcoordinates/2
length_of_element=vector(mode="numeric",length=numberofelement)
counter=1;
for (j in seq(1,length_of_nodalcoordinates-1,by=2))
{
ysquared=(vec_ynodalcoordinates[j+1]-vec_ynodalcoordinates[j])^2
xsquared=(vec_xnodalcoordinates[j+1]-vec_xnodalcoordinates[j])^2
length_of_element[counter]=sqrt(ysquared+xsquared)
counter=counter+1
} Page | 9
return(round(length_of_element))
}
PlaneTruss_Orientations=function(num_ele,vec_xnodalcoordinates,vec_ynodalcoordinates
)
{
length_of_nodalcoordinates=length(vec_xnodalcoordinates)
numberofelement=length_of_nodalcoordinates/2
orientation_of_element=vector(mode="numeric",length=numberofelement)
counter=1
for (j in seq(1,length_of_nodalcoordinates-1,by=2))
{
ydiff=(vec_ynodalcoordinates[j+1]-vec_ynodalcoordinates[j])
xdiff=(vec_xnodalcoordinates[j+1]-vec_xnodalcoordinates[j])
orientation_of_element[counter]=(180/pi)*atan(ydiff/xdiff)
counter=counter+1
}
return(round(orientation_of_element,0))
}
PlaneTruss_Element_Matrix = function(DOF = 4,stifftruss,theta)
{
m=cos(theta*pi/180);
n=sin(theta*pi/180);
stiffnesscoefficients=c(m^2,m*n,-m^2,-m*n,m*n,n^2,-m*n,-n^2,-m^2,-m*n,m^2,m*n,-m*n,-
n^2,m*n,n^2)
ematrix=stifftruss*matrix(stiffnesscoefficients,nrow=DOF,byrow=T)
}

PlaneTruss_ExpandedElement_Matrix = function(TDOF,eMatrix,i,j)
{
r1=(i-1)+i;r2=(i-1)+(i+1);r3=(j-2)+(j+1);r4=(j-2)+(j+2);
bigMatrix=matrix(vector(l=TDOF*TDOF),nrow=TDOF,byrow=T);
bigMatrix[c(r1,r2,r3,r4),c(r1,r2,r3,r4)]=eMatrix;
return (bigMatrix)
}

PlaneTruss_ReducedStiffnessMatrix = function(bigKmatrix,knownforcenodes)
{
reducedstiffnessmatrix = bigKmatrix[c(knownforcenodes),(knownforcenodes)]
return(reducedstiffnessmatrix)
}
PlaneTruss_ReducedForceVector = function(forcevector)
{
reducedforcevector = matrix(forcevector,ncol = 1)
return(reducedforcevector)
}
PlaneTruss_NodalDisplacement = function(reducedmatrix,vec_reducedforce)
{ Page | 10
return(solve(reducedmatrix,vec_reducedforce))
}

PlaneTruss_Global_Forces = function(bigKmatrix,vec_globalnodaldisp)
{
global_forces = bigKmatrix %*% vec_globalnodaldisp
return(round(global_forces))
}

PlaneTruss_Local_Forces = function(stifftruss,theta,vec_globalnodaldisp,i,j)
{
m=cos(theta*pi/180);
n=sin(theta*pi/180);
r1=(i-1)+i;r2=(i-1)+(i+1);r3=(j-2)+(j+1);r4=(j-2)+(j+2);
elementdisp=vec_globalnodaldisp[c(r1,r2,r3,r4)];
localstiffnessmatrix=matrix(c(1,-1,-1,1), byrow=T,nrow=2);
transformationmatrix=matrix(c(m,n,0,0,0,0,m,n),byrow=T,nrow=2);
local_forces = (stifftruss)*localstiffnessmatrix%*%transformationmatrix%*%elementdisp
return(round(local_forces))
}
PlaneTruss_AxialStress = function(YoungMod,elem_len,theta,vec_globalnodaldisp,i,j)
{
m=cos(theta*pi/180);
n=sin(theta*pi/180);
r1=(i-1)+i;r2=(i-1)+(i+1);r3=(j-2)+(j+1);r4=(j-2)+(j+2);
elementdisp=vec_globalnodaldisp[c(r1,r2,r3,r4)];
transformationmatrix=matrix(c(-m,-n,m,n),nrow=1,byrow=T);
local_stress=(YoungMod/elem_len)*transformationmatrix%*%elementdisp;
return(local_stress)
}

Descrierea fiecăreia dintre funcțiile folosite împreună cu parametrii pe care le


acceptă sunt prezentate în Tabelele 6.1 – 6.3.

Tabelul 6.1. Funcții pentru evaluarea elementului plan Truss


Descrierea funcțiilor
PlaneTruss_LengthOrientation(vec_nodalcoordinates)
Această funcție returnează un vector al lungimilor geometrice și orientarea unui anumit
element. Acceptă parametrul vec_nodalcoordinates, care este un vector al coordonatelor
nodale ale elementului (în forma (xi , yi , xj , yj).
PlaneTruss_GeometricLengths(num_ele,vec_xnodalcoordinates,
vec_ynodalcoordinates) Această funcție returnează un vector al lungimilor geometrice ale
tuturor elementelor. Funcția acceptă parametrii: num_ele, care notează numărul
elementelor; vec_xnodalcoordinates, un vector al coordonatelor nodale x ale tuturor
elementelor (de forma xi , xj, … , xn) și vec_ynodalcoordinates, un vector ale
coordonatelor nodale y ale tuturor elementelor (de forma yi , yj ,… , yn). Page | 11
PlaneTruss_Orientations(num_ele,vec_xnodalcoordinates,vec_ynodalcoordinates)
Această funcție returnează un vector al orientărilor unghiurilor pentru toate elementele.
Aceasta acceptă aceeași mulțime de parametri ca și funcția precedentă.

Tabelul 6.2. Funcții pentru formularea matricilor elementului și vectorilor


Descrierea funcțiilor
PlaneTruss_Element_Matrix (DOF = 4,stifftruss, theta)
Această funcție generează și returnează matricea de rigiditate extinsă pentru un truss plan.
Ea acceptă ca și parametri: DOF, care reprezintă gradul de libertate al elementului
(predefinit ca 4); stifftruss, care reprezintă rigiditatea axială a unui membru (i.e., AE/L) și
theta, care reprezintă orientarea unui membru.
PlaneTruss_ExpandedElement_Matrix(TDOF,eMatrix,i,j)
Această funcție formează matricea de rigiditate expandată. Ea acceptă patru parametri.
Primul este TDOF – gradul total de libertate pentru întregul system, al doilea este eMatrix,
care reprezintă matricea de rigiditate neextinsă a unui membru al structurii.
PlaneTruss_ReducedStiffnessMatrix(bigKmatrix,knownforcenodes)
Această funcție generează o matrice de rigiditate redusă pentru sistem. Parametrii săi sunt
bigKmatrix (matricea de rigiditate globală) și knownforcenodes (un vector care specifică
liniile pe care se găsesc forțele cunoscute).
PlaneTruss_ReducedForceVector(forcevector)
Această funcție stabilește vectorul forțelor reduse necesar pentru a determina deplasările
nodale necunoscute. Acesta acceptă parametrul forcevector (un vector al forțelor cunoscute)
și transformă acest vector într-o matrice coloană.

Tabelul 6.3. Funcții pentru soluția analizei unui truss plan


Descrierea funcțiilor
PlaneTruss_NodalDisplacement(reducedmatrix,reducedforcevec)
Dați parametrii reducedmatrix (matricea de rigiditate extinsă) și reducedforcevec (vectorul
forțelor reduse), această funcție determină deplasările nodale necunoscute.
PlaneTruss_Global_Forces (bigKmatrix,vec_globalnodaldisp)
Această funcție calculează forțele globale (inclusive reacțiunile). Parametrii săi sunt
BigKmatrix (matricea globală de rigiditate) și vec_globalnodaldisp (un vector al
deplasărilor nodale globale).
PlaneTruss_Local_Forces(stifftruss,theta,vec_globalnodaldisp,i,j)
Această funcție calculează forțele locale ăntr-un membru al truss. Parameterii săi sunt
stifftruss, care reprezintă rigiditatea axială a unui element (AE/L); theta, care dă orientarea
elementului; vec_globalnodaldisp - un vector al deplasăriloe nodale globale, și etichetele
nodale i,j ale membrilor.
PlaneTruss_AxialStress(YoungMod,elem_len,theta,vec_globalnodaldisp,i,j)
Această funcție calculează stresul dezvoltat ăntr-un membru. Parametrii săi sunt
YoungMod, care reprezintă modulul lui Young al membrului, elem_len, care reprezintă
lungimea geometrică a elementului, theta, care reprezintă orientarea elementelor,
vec_globalnodaldisp, vectorul deplasărilor globale și etichetele nodale i, j ale membrului.

6.3.3 Funcțiile R implementate pentru sistemele truss spațiale

SpaceTruss_LengthOrientations = function(vec_nodalcoordinates) Page | 12


{
xsquared=(vec_nodalcoordinates[4]-vec_nodalcoordinates[1])^2
ysquared=(vec_nodalcoordinates[5]-vec_nodalcoordinates[2])^2
zsquared=(vec_nodalcoordinates[6]-vec_nodalcoordinates[3])^2
length_of_element=sqrt(xsquared+ysquared+zsquared)
cx=(1/length_of_element)*(vec_nodalcoordinates[4]-vec_nodalcoordinates[1])
cy=(1/length_of_element)*(vec_nodalcoordinates[5]-vec_nodalcoordinates[2])
cz=(1/length_of_element)*(vec_nodalcoordinates[6]-vec_nodalcoordinates[3])
orientation_of_element=(180/pi)*acos(c(cx,cy,cz))
return(c(length_of_element,orientation_of_element))
}
SpaceTruss_Element_Matrix = function(DOF=6,stifftruss,thetas)
{
cx=cos(thetas[1]*pi/180);
cy=cos(thetas[2]*pi/180);
cz=cos(thetas[3]*pi/180);
submatrix=stifftruss*matrix(c(cx^2,cx*cy,cx*cz,cy*cx,cy^2,cy*cz,cz*cx,cz*cy,cz^2),nrow=3,b
yrow=T);
eMatrix=matrix(vector(l=DOF*DOF),nrow=DOF,ncol=DOF);

eMatrix[1:3,1:3]=submatrix;
eMatrix[4:6,1:3]=-submatrix;
eMatrix[1:3,4:6]=-submatrix;
eMatrix[4:6,4:6]=submatrix;
return(round(eMatrix,2))
}
SpaceTruss_ExpandedElement_Matrix = function(TDOF,eMatrix,i,j)
{
r1=2*(i-1)+i;
r2=2*(i-1)+(i+1);
r3=2*(i-1)+(i+2);
r4=(j-1)+(j+2)+(j-3);
r5=(j-1)+(j+3)+(j-3);
r6=(j-1)+(j+4)+(j-3);
bigMatrix=matrix(vector(l=TDOF*TDOF),nrow=TDOF,byrow=T);
bigMatrix[c(r1,r2,r3,r4,r5,r6),c(r1,r2,r3,r4,r5,r6)]=eMatrix;
return (bigMatrix)
}
SpaceTruss_ReducedStiffnessMatrix = function(bigKmatrix,knownforcenodes)
{
reducedstiffnessmatrix = bigKmatrix[c(knownforcenodes),(knownforcenodes)]
return(reducedstiffnessmatrix)
}
SpaceTruss_ReducedForceVector = function(forcevector)
{
reducedforcevector=matrix(forcevector,ncol = 1)
return(reducedforcevector) Page | 13
}
SpaceTruss_NodalDisplacement = function(reducedmatrix,vec_reducedforce)
{
return(solve(reducedmatrix,vec_reducedforce))
}
SpaceTruss_Global_Forces = function(bigKmatrix,vec_globalnodaldisp)
{
global_forces = bigKmatrix %*% vec_globalnodaldisp
return(round(global_forces))
}
SpaceTruss_Local_Forces = function(YoungMod,Area,thetas,vec_globalnodaldisp)
{
cx=cos(thetas[1]*pi/180);
cy=cos(thetas[2]*pi/180);
cz=cos(thetas[3]*pi/180);
localstiffnessmatrix=matrix(c(1,-1,-1,1), byrow=T,nrow=2);
transformationmatrix=matrix(c(cx,cy,cz,0,0,0,0,0,0,cx,cy,cz),byrow=T,nrow=2);
local_forces = (YoungMod/Area)*localstiffnessmatrix%*%transformationmatrix %*%
vec_globalnodaldisp
return(round(local_forces))
}
Spacetruss_AxialStress = function(YoungMod,elem_len,thetas,vec_globalnodaldisp)
{
cx=cos(thetas[1]*pi/180);
cy=cos(thetas[2]*pi/180);
cz=cos(thetas[3]*pi/180);
disp_vec=matrix(vec_globalnodaldisp,nrow=length(vec_globalnodaldisp),byrow=T,ncol = 1);
transformationmatrix=matrix(c(-cx,-cy,-cz,cx,cy,cz),nrow=1,byrow=T);
local_stress=(YoungMod/elem_len)*transformationmatrix%*%disp_vec;
return(local_stress)
}

Descrierea fiecăreia dintre funcțiile folosite împreună cu parametrii pe care le


acceptă sunt prezentate în Tabelele 6.4 – 6.6.

Tabelul 6.4. Funcții pentru evaluarea proprietăților geometrice (element spatial truss)
Descrierea funcțiilor
SpaceTruss_LengthOrientation(vec_nodalcoordinates)
Această funcție returnează un vector al lungimilor geometrice (L) și orientările unghiulare
(θX,θY, θZ) ale unui anumit element. Acceptă parametrul vec_nodalcoordinates, care este
un vector al coordonatelor nodale ale elementului (în forma (xi , yi , zi, xj , yj, zj).
Tabelul 6.5. Funcții pentru formularea matricilor elementului și vectorilor (element spatial
truss)
Descrierea funcțiilor
SpaceTruss_Element_Matrix (DOF = 6,stifftruss, theta)
Această funcție generează și returnează matricea de rigiditate extinsă pentru un truss Page | 14
spațial. Ea acceptă ca și parametri: DOF, care reprezintă gradul de libertate al elementului
(predefinit ca 6); stifftruss, care reprezintă rigiditatea axială a unui membru (i.e., AE/L) și
theta, care reprezintă orientarea unghiulară (θX, θY, θZ) a unui membru.
SpaceTruss_ExpandedElement_Matrix(TDOF,eMatrix,i,j)
Această funcție formează matricea de rigiditate expandată. Ea acceptă aceiași parametri ca
și funcția PlaneTruss_ExpandedElement_Matrix(TDOF,eMatrix,i,j)
SpaceTruss_ReducedStiffnessMatrix(bigKmatrix,knownforcenodes)
Această funcție generează o matrice de rigiditate redusă pentru sistem. Parametrii săi sunt
aceiași ca ai funcției
SpaceTruss_ReducedForceVector(forcevector) generează vectorul redus al forțelor
nodale necesar pentru pentru determinarea deplasărilor nodale necunoscute. Aceaptă
parametrul forcevector (vectorul forțelor cunoscute) și transformă acest vector în matrice
coloană.

Tabelul 6.6. Funcții pentru soluția analizei unui truss spațial


Descrierea funcțiilor
SpaceTruss_NodalDisplacement(reducedmatrix,reducedforcevec)
Dați parametrii reducedmatrix (matricea de rigiditate extinsă) și reducedforcevec (vectorul
forțelor reduse), această funcție determină deplasările nodale necunoscute.
SpaceTruss_Global_Forces (bigKmatrix,vec_globalnodaldisp)
Această funcție calculează forțele globale (inclusive reacțiunile). Parametrii săi sunt
BigKmatrix (matricea globală debrigiditate) și vec_globalnodaldisp (un vector al
deplasărilor nodale globale).
SpaceTruss_Local_Forces(stifftruss,thetas,vec_globalnodaldisp)
Această funcție calculează forțele locale într-un membru al truss. Parameterii săi sunt
YoungMod care reprezintă modulul lui Young; Area, care reprezintă aria, thetas, care
reprezintă orientările unghiulare (θX, θY, θZ ) și and vec_globalnodaldisp, vectorul
deplasărilor nodale globale.
SpaceTruss_AxialStress(YoungMod,elem_len,theta,vec_globalnodaldisp)
Această funcție calculează stresul dezvoltat într-un membru. Parametrii săi sunt YoungMod,
care reprezintă modulul lui Young al membrului, elem_len, care reprezintă lungimea
geometrică a elementului, thetas, care reprezintă orientarea elementelor,
vec_globalnodaldisp, vectorul deplasărilor globale.

6.4 Exemple

6.4.1 Exemplul 6.1

Se consideră truss-ul din Figura 6.2 din oțel, cu aria transversală de 10×10−5m2. Să se
determine deplasările nodale și forțele în fiecare membru
Page | 15

Figura 6.2. Truss plan


6.4.1.1 Soluție

Vom folosi pașii prezentați în cele două secțiuni precedente și funcțiile R furnizate
pentru a rezolva problema. Conectivitatea elementelor este arătată în Tabelul 6.7.

Tabel 6.7. Tabelul de conectivitate pentru sistemul discretizat

Modulul lui Young pentru un oțel A36 are modulul lui Young 200GPa.
Pas 1: Se specifică geometria și proprietățile de material pentru fiecare dintre
elemente.
Proprietățile geometrice include lungimea și orientarea unghiulară pentru fiecare
element. Trei funcții au fost implementate pentru a determina lungimea și orientările
unghiulare ale membrilor unui truss plan:
• PlaneTruss_LengthOrientation()
• PlaneTruss_GeometricLengths()
• PlaneTruss_Orientations()
Vom folosi ultimele două funcții pentru a obține lungimile și orientările pentru toate
elementele deodată, după cum se arată în următorul bloc:

YoungModulus=200*10^9;
A=1*10^(-4);
n_ele=7;
nodalxcoord=c(0,4,4,8,8,6,4,6,6,2,4,2,0,2)
nodalycoord=c(0,0,0,0,0,3.46,0,3.46,3.46,3.46,0,3.46,0,3.46)
lengths=PlaneTruss_GeometricLengths(n_ele,nodalxcoord,nodalycoord)
lengths
Axialstiffness=(YoungModulus*A)/lengths;Axialstiffness
orientations=PlaneTruss_Orientations(n_ele,nodalxcoord,nodalycoord) Page | 16
orientations

Codul precedent returnează valorile rigidității axiale, lungimea geometrică și


unghiurile de orientare pentru toate elementele.

Pasul 2: Se scrie matricea de rigiditate pentru fiecare element folosind funcția


PlaneTruss_Element_Matrix().

k1=PlaneTruss_Element_Matrix(4,Axialstiffness[1],orientations[1]);k1
k2=PlaneTruss_Element_Matrix(4,Axialstiffness[2],orientations[2]);k2
k3=PlaneTruss_Element_Matrix(4,Axialstiffness[3],orientations[3]);k3
k4=PlaneTruss_Element_Matrix(4,Axialstiffness[4],orientations[4]);k4
k5=PlaneTruss_Element_Matrix(4,Axialstiffness[5],orientations[5]);k5
k6=PlaneTruss_Element_Matrix(4,Axialstiffness[6],orientations[6]);k6
k7=PlaneTruss_Element_Matrix(4,Axialstiffness[7],orientations[7]);k7

Pasul 3: Se determină gradul global de libertate pentru truss și se expandează


ecuația matriceală pentru fiecare element (din Pasul 2) pentru conformare la gradul total de
libertate.
Se expandează matricea elementelor folosind funcția
PlaneTruss_ExpandedElement_Matrix(). Se calculează gradul total de libertate și se introduce în
variabila Total_dof.

n_nodes=5;Total_dof=n_nodes*2;
K1Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k1,1,2);
K2Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k2,2,3);
K3Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k3,3,4);
K4Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k4,2,4);
K5Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k5,4,5);
K6Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k6,2,5);
K7Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k7,1,5);

Pasul 4: Stabilirea matricei de rigiditate globale prin adunarea matricelor expandate a


elementelor, după cum urmează:
GlobalStiffnessMatrix=K1Expanded+K2Expanded+K3Expanded+K4Expanded+K5Expanded
+K6Expanded+K7Expanded;
GlobalStiffnessMatrix

Outputul furnizează elementele matricei de rigiditate globale [K]


Folosind matricea de rigiditate globală, se poate forma ecuația matriceală globală
pentru sistem, după cum urmează:
Page | 17

Pasul 5: Identificarea condițiilor la frontieră esențiale și aplicarea condițiilor la frontieră


pentru a modifica ecuația matriceală globală.
Pentru a determina condițiile la frontieră, ne uităm la constrângerile aplicate
sistemului și se analizează deplasările.
De exemplu, observăm că truss-ul este fixat în nodul 1 (care se transformă în zero
deplasări în nodul 1) și are un suport cu role în nodul 3, care își reține mișcarea de-a lungul
axei Y, dar îi permite să se deplaseze de-a lungul axei X. Pe baza acestui fapt, condițiile
limită identificate pentru deplasare sunt:
U1X =U1Y =U3Y = 0 (6.55)
Din sistem se determină următoarele forte nodale cunoscute (in Newton) can
also be identified as:
F2X = F2Y = F3X = F4X = F5X = 0; F4Y = 40,000 N; F5Y = 20,000 N (6.56)
Folosind liniile identificate de valorile forțelor cunoscute, se obține matricea de
rigiditate folosind funcția PlaneTruss_ReducedStiffness Matrix(), așa cum se arată în cele
ce urmează:

vec_rows_of_knownloads=c(3,4,5,7,8,9,10);
KglobalReduced=PlaneTruss_ReducedStiffnessMatrix(GlobalStiffnessMatrix,vec_rows_of_k
nownloads);
KglobalReduced

Vectorul redus al forțelor se stabilește după cum urmează:

vec_values_of_knownloads=c(0,0,0,0,-40000,0,-20000);
ReducedForceVector=PlaneTruss_ReducedForceVector(vec_values_of_knownloads);
ReducedForceVector

Combinând matricea de rigiditate redusă și valorile forțelor nodale cunoscute


conduce la ecuația matriceală redusă.

Pasul 6: Se determină deplasările nodale necunoscute prin utilizarea funcției


PlaneTruss_NodalDisplacement().

UnknwonNodalDisp=PlaneTruss_NodalDisplacement(KglobalReduced,ReducedForceVector)
round(UnknwonNodalDisp,4)

de unde rezultă deplasările nodale necunoscute, rotunjite la patru zecimale, în metri.


Se combină apoi deplasările determinate și condițiile la frontieră (din ecuația (6.55)).

allglobalNodalDisp=matrix(rep(0,Total_dof),byrow=T);
allglobalNodalDisp[vec_rows_of_knownloads]=UnknwonNodalDisp
round(allglobalNodalDisp,4)
Page | 18
Se obțin forțele elementale via PlaneTruss_Local_Forces(). După cum se explică în
Tabelul 6.3, această funcție acceptă cinci parametri: (1) rigiditatea axială, (2) orientare, (3)
vectorul deplasărilor nodale globale și (4) etichetele nodale.
Notăm că am stocat deja deplasarile nodale globale în variabla allglobalNodalDisp
in Pasul 5. Mai mult, etichetele nodale ale fiecărui membru pot fi identificate din tabelul de
conectivitate. Cu aceste variabile,se calculează forțele locale după cum este ilustrat în codul:

Element1_force=PlaneTruss_Local_Forces(Axialstiffness[1],orientations[1],allglobalNodalDisp,1,2);
Element1_force
Element2_force=PlaneTruss_Local_Forces(Axialstiffness[2],orientations[2],allglobalNodalDisp,2,3);
Element2_force
Element3_force=PlaneTruss_Local_Forces(Axialstiffness[3],orientations[3],allglobalNodalDisp,3,4);
Element3_force
Element4_force=PlaneTruss_Local_Forces(Axialstiffness[4],orientations[4],allglobalNodalDisp,2,4);
Element4_force
Element5_force=PlaneTruss_Local_Forces(Axialstiffness[5],orientations[5],allglobalNodalDisp,4,5);
Element5_force
Element6_force=PlaneTruss_Local_Forces(Axialstiffness[6],orientations[6],allglobalNodalDisp,2,5);
Element6_force
Element7_force=PlaneTruss_Local_Forces(Axialstiffness[7],orientations[7],allglobalNodalDisp,1,5);
Element7_force

6.4.2 Exemplul 6.2

Se consideră truss-ul din Figura 6.3, din material cu with E = 210 GPa. Presupunând ca
fiecare membru are secțiunea transversal de 300 mm2, să se determine deplasările nodale
și stresul axial al membrilor.

Figura 6.3.

6.4.2.1 Soluție
Conectivitatea elementelor pentru această problemă este arătată în Tabelul 6.8.
Tabelul 6.8. Tabelul de conectivitate din sistemul discretizat

Page | 19

Pas 1: Se obțin lungimile geometrice și orientările unghiulare pentru fiecare element,


utilizând funcțiile R:
• PlaneTruss_GeometricLengths()
• PlaneTruss_Orientations()

n_ele=3;
nodalxcoord=c(0,4,4,0,0,0)
nodalycoord=c(0,3,3,6,0,6)
lengths=PlaneTruss_GeometricLengths(n_ele,nodalxcoord,nodalycoord);
orientations=PlaneTruss_Orientations(n_ele,nodalxcoord,nodalycoord);
lengths
orientations

Notăm că variabilele lengths și orientations in blocul de cod precedent sunt vectori.


Folosind capabilitățile limbajului R, se obține rigiditatea axială a celor trei elemente deodată
prin folosirea variabilei lengths combinat cu modulul lui Young și aria cross-secțională A ale
elementelor, așa cum se arată în blocul de cod următor:

YoungModulus=210*10^9; A=3*10^(-4);
Axialstiffness=(YoungModulus*A)/lengths; Axialstiffness

Pas 2: Se scrie matricea de rigiditate pentru fiecare element folosind


PlaneTruss_Element_Matrix().

k1=PlaneTruss_Element_Matrix(4,Axialstiffness[1],orientations[1]); round(k1)
k2=PlaneTruss_Element_Matrix(4,Axialstiffness[2],orientations[2]); round(k2)
k3=PlaneTruss_Element_Matrix(4,Axialstiffness[3],orientations[3]); round(k3)

Am folosit funcția R round() pentru a rotunji la un anumit număr de zecimale.

Pas 3: Se determină gradul global de libertate și se expandează ecuația matriceală


pentru fiecare element (de la Pasul 2) pentru a se conforma la gradul global de libertate.

n_nodes=3;Total_dof=n_nodes*2;
K1Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k1,1,2);
K2Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k2,2,3);
K3Expanded=PlaneTruss_ExpandedElement_Matrix(Total_dof,k3,1,3);

Pas 4: Se stabilește matricea globală de rigiditate, K:


GlobalStiffnessMatrix=K1Expanded+K2Expanded+K3Expanded
round(GlobalStiffnessMatrix)
Pas 5: Se determină condițiile esențiale la frontieră și se aplică aceste condiții
peentru a modifica ecuația matriceală globală. Condițiile la frontieră sunt determinate din
condițiile că trussul este: (i) fixat în nodul 1 (facând o translație la zero a deplasărilor) și (ii)
constrângerea alunecării în nodul 3 (care permite deplasarea a în lungul lui Y, dar restrânge Page | 20
mișcarea de-a lungul lui X). În consecință, condițiile deplasărilor la frontier sunt:
U1X =U1Y =U3X = 0 (6.59)
Forțele nodale cunoscute (in Newton) sunt:
F1Y = 0 = F2X = 0; F2Y = 80000N (6.60)
Liniile forțelor din ecuația (6.60) pot fi identificate din ecuația (6.58), ca 2, 3, 4.
Folosind liniile forțelor cunoscute identificate, se obține matricea redusă de rigiditate via
PlaneTruss_ReducedStiffnessMatrix() ca:

vec_rows_of_knownloads=c(2,3,4);
KglobalReduced=PlaneTruss_ReducedStiffnessMatrix(GlobalStiffnessMatrix,vec_rows_of_k
nownloads);
KglobalReduced

In linia următoare de cod, se folosește PlaneTruss_ReducedForceVector() pentru


a transforma vectorul forțelor reduse în matrice coloană.

vec_values_of_knownloads=c(0,0,-80000);
ReducedForceVector=PlaneTruss_ReducedForceVector(vec_values_of_knownloads);
ReducedForceVector

Combinând matricea redusă de rigiditate și valorile forțelor nodale cunoscute


conduce la ecuația matriceală redusă.

Pas 6: Se determină deplasările nodale necunoscute.

UnknwonNodalDisp=PlaneTruss_NodalDisplacement(KglobalReduced,ReducedForceVector)
UnknwonNodalDisp

Se combină deplasările determinate și condițiile la frontieră (din ecuația (6.59)).

allglobalNodalDisp=matrix(rep(0,Total_dof),byrow=T);
allglobalNodalDisp[vec_rows_of_knownloads]=UnknwonNodalDisp
round(allglobalNodalDisp,4)

Pas 7: Cu deplasările nodale complete găsite, se obține stresul pentru fiecare


element via PlaneTruss_AxialStress(). Se reamintește că funcția
PlaneTruss_AxialStress() acceptă șase argumente legate de un membru specific al unui
truss. Primul, al doilea și al treilea argument sunt modulul lui Young, lungimea geometrică șo
unghiul de orientare al unui element specific. Al patrulea element este vectorul global al
deplasărilor socat în variabila allglobalNodalDisp, în timp ce al cincilea și al șaselea se
referă la etichetele nodale (date în tabelul de conectivitate).
Element1_Stress=PlaneTruss_AxialStress(YoungModulus,lengths[1],orientations[1],allgloba
lNodalDisp,1,2);
Element1_Stress
Element2_Stress=PlaneTruss_AxialStress(YoungModulus,lengths[2],orientations[2],allgloba
lNodalDisp,2,3);
Element2_Stress Page | 21
Element3_Stress=PlaneTruss_AxialStress(YoungModulus,lengths[3],orientations[3],allgloba
lNodalDisp,1,3);
Element3_Stress

6.4.3 Exemplul 6.3

Pentru truss-ul spațial din Figura 6.4, să se determine deplasările spațiale în nodul 1 și
forțele de reacțiune în nodurile 2, 3, and 4. Ariile elementelor 1, 2 și 3 sunt 10×10−4m2,
20×10−4m2, and 30×10−4m2, respectiv. Pentru toate elementele E = 210 GPa.

6.4.3.1 Soluție
Pentru această problemă, folosim funcțiile implementate în R pentru truss spațial (Sectiunea
6.3.3). Structura a fost discretizată și nodurile și elementele sunt etichetate. Conectivitatea
elementelor sunt arătate în Tabelul 6.9.

Figura 6.4.

Tabelul 6.8. Tabelul de conectivitate din sistemul discretizat in Figura 6.4.


Pas 1: Se obțin lungimile geometrice și unghiurile de orientare pentru fiecare
element. Aceasta se face prin apelarea funcției SpaceTruss_LengthOrientations(), care
cere coordonatele nodale ca input. Outputul este un vector care conține patru valori: Le ,θeX,
θeY, θeZ, unde e reprezintă respectivele elemente.

L1=SpaceTruss_LengthOrientations(c(72,0,0,0,36,0))[1];L1 Page | 22
L2=SpaceTruss_LengthOrientations(c(72,0,0,0,36,72))[1];L2
L3=SpaceTruss_LengthOrientations(c(72,0,0,0,0,-48))[1];L3
thetas1=SpaceTruss_LengthOrientations(c(72,0,0,0,36,0))[2:4];thetas1
thetas2=SpaceTruss_LengthOrientations(c(72,0,0,0,36,72))[2:4];thetas2
thetas3=SpaceTruss_LengthOrientations(c(72,0,0,0,0,-48))[2:4];thetas3

In primele trei linii ale codului precedent, se calculează lungimea fiecărui element
prin utilizarea SpaceTruss_LengthOrientations() cu coordonatele nodale ale elementului.
Totuși, SpaceTruss_LengthOrientations() returnează patru numere când este acesta este
apelat: primul este lungimea, al doilea, al treilea și al patrulea reprezintă orientările
unghiulare. Atunci, lungimile și unghiurile trebuie să fie extrase folosind numere în
paranteze. Primul element returnat este lungimea, atunci când se folosește
SpaceTruss_LengthOrientations().
Odată găsită lungimea elementelor, se obține regiditatea axială (AE/L) pentru toate
elementele.

E1=210*10^9;A1=10*10^(-4);
E2=210*10^9;A2=20*10^(-4);
E3=210*10^9;A3=30*10^(-4);
stiffness1=E1*A1/L1;stiffness1
stiffness2=E2*A2/L2;stiffness2
stiffness3=E3*A3/L3;stiffness3

Pas 2: Se scrie matricea de rigiditate pentru fiecare element, folosind funcșia


matriceală SpaceTruss_Element_Matrix().

k1=SpaceTruss_Element_Matrix(6,stiffness1,thetas1);k1
k2=SpaceTruss_Element_Matrix(6,stiffness2,thetas2);k2
k3=SpaceTruss_Element_Matrix(6,stiffness3,thetas3);k3

Pas 3: Se determinp gradul global de libertate pentru truss și se extinde ecuația


matriceală globală pentru fiecare element.

n_nodes=4;Total_dof=n_nodes*3;
K1=SpaceTruss_ExpandedElement_Matrix(12,k1,1,2);
K2=SpaceTruss_ExpandedElement_Matrix(12,k2,1,3);
K3=SpaceTruss_ExpandedElement_Matrix(12,k3,1,4);

Pas 4: Se stabilește matricea globală de rigiditate prin adunarea matricilor de


expandate ale elementelor, după cum rezultă din:

Kglobal=K1+K2+K3;
Kglobal
În consecință, ecuația matriceală globală a sistemului ia forma următoare:

Page | 23

Pas 5: Identificăm condițiile la frontieră esențiale pentru a modifica ecuația matriceală


globală. Condițiile la frontieră sunt derivate din faptul că truss-ul este fixat în nodurile 2, 3 și
4. El este constrâns de un reazăm pe role în nodul 1 (care îi mișcarea în lungul lui X și Z, dar
împiedică mișcarea de-a lungul lui Y). Ca urmare, restricțiile de deplasare la frontieră sunt:
U1Y = 0;U2X =U2Y =U2Z = 0; U3X =U3Y =U3Z = 0; U4X =U4Y =U4Z = 0 (6.63)
Realizând că avem 10 condiții limită de deplasare nodală, se concluzionează că
trebuie să existe două valori ale forței nodale cunoscute. Forțele nodale cunoscute (în
Newton) sunt identificate ca:
F1X = 0; F1Z = 10000 N (6.64)
Folosind mulțimea liniilor identificate pentru valorile forțelor cunoscute, se obține
matrice de rigiditate redusă folosind funcția SpaceTruss_ReducedStiffnessMatrix().
Următorul cod este folosit.

vec_rows_of_knownloads=c(1,3);
KglobalReduced=SpaceTruss_ReducedStiffnessMatrix(Kglobal,
vec_rows_of_knownloads);
KglobalReduced

Se folosește apoi blocul următor pentru a determina vectorul redus al forțelor.

vec_values_of_knownloads=c(0,-10000);
ReducedForceVector=SpaceTruss_ReducedForceVector(vec_values_of_knownloads);
ReducedForceVector
UnknwonNodalDisp=SpaceTruss_NodalDisplacement(KglobalReduced,ReducedForceVecto
r)
UnknwonNodalDisp

Combinând matricea de rigiditate redusă și valorile cunoscute ale forțelor nodale, rezultă
ecuația matriceală redusă.

Pas 6: Se determină deplasările nodale necunoscute și forțele nodale globale, folosind


• SpaceTruss_NodalDisplacement()
• SpaceTruss_Global_Forces()

UnknwonNodalDisp=SpaceTruss_NodalDisplacement(KglobalRedu
ced,ReducedForceVector)
UnknwonNodalDisp

allglobalNodalDisp=matrix(rep(0,Total_dof),byrow=T);
allglobalNodalDisp[vec_rows_of_knownloads]=UnknwonNodalDisp
round(allglobalNodalDisp,4) Page | 24

Având determinate deplasările nodale, se pot determina forțele globale (și forțele de
reacțiune), utilizeazând funcția SpaceTruss_Global_Forces(). Reamintim că această
funcție necesită matricea de rigiditate globală (reprezentată de variabila Kglobal
determinate la Pasul 4) și vectorul global al deplasărilor nodale (conținut de variabila
allglobalNodalDisp).

NodalGlobalForces=SpaceTruss_Global_Forces(Kglobal,allglobalNodalDisp);
NodalGlobalForces

Asamblarea matricei de rigiditate a elementelor conduce la


Page | 25

Eliminând liniile și coloanele aferente deplasărilor nule rezultă

Tensiunile aferente celor două bare au valorile:


7. ELEMENTE DE GRINDĂ RIGIDĂ LA FORFECARE ȘI ELEMENTE
DE GRINDĂ ELASTICĂ LA FORFECARE

7.1 Introducere
Page | 1
În acest capitol vom prezenta formulările elementelor finite pentru grinzi Euler -
Bernoulli (EB) și Timoșenko (TB). Prima reprezintă un model de grindă care neglijează
deformările la forfecare (de unde și denumirea grindă rigidă la forfecare), în timp ce al doilea
este un model de grindă care ia în considerare și efectul deformării la forfecare.
Grinzile, la fel ca barele tratate în Capitolul 6, sunt componente structurale subțiri, ale căror
mișcări și deformări pot fi descrise în termenii unei singure variabile spațiale. Ele sunt
concepute în principal pentru a prelua sarcini transversale (care acționează perpendicular pe
axa principală a elementului) și pot rezista forței de forfecare și momentelor de încovoiere.
Fiind unul dintre cele mai familiare elemente structurale, grinzile funcționează ca elemente
de susținere în multe aplicații inginerești (de exemplu, ca elice pentru avioane și bărci, ca
modele pentru idealizarea palelor turbinei și a structurilor de susținere în automobile, poduri
și numeroase mașini). Principalul interes în studiul grinzilor este de a evalua forțele interne
(forțe de forfecare și momente de încovoiere), distribuția deformării și tensiunile apărute în
grindă sub acțiunea forțelor exterioare.

7.2. Ecuațiile elementului finit pentru element de grindă Euler -


Bernoulli

7.2.1. Deplasări și funcții de formă

Figura 7.1a arată o grindă cu o sarcină transversală generică: moment concentrat


Mz, forță concentrată P, moment distribuit M(x) și forță distribuită, q(x). Grinda este
înzestrată cu o arie cross-sectională, reprezentată în Figura 7.1b. Scopul nostru este să
obținem un element simplu de grindă care poate fi folosit pentru a determina deplasările și
stresul sub astfel de sarcini.

Figura 7.1 (a) O grindă cu sarcini transversale generice, (b) arie transversală, și (c) un segment de
grindă care este folosit ca element.
Să considerăm segmentul neîncărcat AB (în Figura 7.1a) ca o grindă EB cu două
noduri cu două grade de libertate pe nod cum se arată în Figura 7.1c. Mai mult, fie vi și θi
deplasarea verticală și panta în nodul i, în timp ce vj și θj sunt deplasarea verticală și panta
în nodul j. Pentru acest element, panta în fiecare punct de-a lungul grinzii este egală cu
prima derivată a curbei de deflecție. Pentru referință, în plus față de aceste grade de
libertate, Figure 7.1c arată convenția semnelor pozitive pentru momente (opus acelor de Page | 2
ceasornic) și forței de forfecare (în direcția pozitivă a lui y). Considerăm că grinda suportă o
deformație moderată sub efectul sarcinilor nodale (forță de forfecare și momente de
învoiere); atunci putem prescrie o funcție cubică pentru variația forței transversale de
deformare de-a lungul lungimii elementului, în forma:

sau rescris în formă matriceală

Folosind ecuațiile (7.1) și (7.2), rezultă că panta (θ = dv/dx) în orice punct de-a lungul
axei neutre a grinzii

unde Ak (k = 1, 2, 3, 4) sunt coeficienți necunoscuți, și x este în domeniul 0 ≤ x ≤ Le. După


cum s-a arătat în Capitolul 6, am ales numărul coeficienților necunoscuți Ak egal cu numărul
total de grade de libertate asociat elementului. În continuare se determină coeficienții
necunoscuți impunând condițiile la limită în ecuațiile (7.1) și (7.2), după cum urmează:
• În nodul 1, x = 0, v = v1
• În nodul 1, x = 0, θ = θ1
• În nodul 2, x = Le, v = v2
• În nodul 2, x = Le, θ = θ2
Prin substituirea acestor condiții la frontieră în ecuațiile (7.1) – (7.3), se obține un set
de ecuații care poate fi scris în formă matriceală ca

unde {ue} este vectorul deplasărior nodale și pantelor, [H] este matricea coordonatelor, și {A}
este vectorul coeficienților necunoscuți. Din ecuația (7.4), coeficienții necunoscuți sunt
determinați ca

unde
Odată găsite constantele necunoscute Ak, se rescriu ecuațiile (7.1) și (7.2) ca

Page | 3

Efectuând înmulțirea primilor doi termeni matriceali în ecuația (7.7), se obține

unde [N] este vectorul funcțiilor de formă.

7.2.2 Relația deformare–deplasare și legea constitutivă

In ipoteza grinzilor EB, componenta nenulă a tensorului deformare este deformarea


normală axială (εxx), care cuantifică extensia fibrelor barei când apare deformarea. Prin
considerarea cinematicii deformării grinzii, εxx is definită ca

Folosind ecuația (7.8), putem rescrie ecuația (7.9) ca

sau

Pentru o grindă elastică izotropică unidiminensională, relația stress – deformare este


{σ} = E{ε}, (7.13)
unde E este modulul lui Young.
Substituind expresia deformării din ecuația (7.12) în ecuația (7.14), rezultă
{σ } = Ey[B] {ue} (7.14)

7.2.3 Minimizarea energiei potențiale totale pentru elementul de grindă Euler-Bernoulli

Reamintim că expresia energiei potențiale totale (Pt) este


Pt = U − W . (7.15)
Mai mult, putem scrie energia de deformare (U) și lucrul mecanic efectuat de
sistemul forțelor externe (W) pe elementul din Figura 7.1c ca

Page | 4

Din ecuațiile (7.11) - (7.14) rezultă

unde s-a folosit în ecuația (7.18) faptul că I = ∫ y2dA. Substituim (7.17) și (7.18) în (7.15) și
apoi minimizăm Pt în raport cu ue pentru a obține

Sau, rearanjând (7.20), obținem ecuația matriceală a elementului finit de grindă EB:

In formă completă, matricea de rigiditate [ke], care rezultă prin înmulțirea matricii [B]
și a transpusei sale este

În consecință ecuația completă a elementului finit grindă de tip EB este

7.4 Ecuațiile elementului finit pentru grinzi deformabile prin


forfecare

Elementul finit EB descris în secțiunea precedentă nu ține cont de efectul forfecare-


deformare. Acest element este potrivit pentru idealizarea răspunsului mecanic al grinzilor
subțiri (L/h > 10) sub acțiunea sarcinilor transversale. Diferențele majore dintre elementele
de grindă EB și TB sunt prezentate în Tabelul 7.1.

7.3.1 Deplasări și funcții de formă


O selecție atentă a funcțiilor de formă este cerută pentru formularea elementului TB
pentru a evita fenomenul numit blocare prin forfecare. În plus, pentru acest element, rotația
secțiunii transversale φ nu este aceeași cu panta curbei deformate. În consecință, v și φ
sunt interpolate independent, ca în ecuațiile (7.24) și (7.25).
Page | 5
Tabelul 7.1 Diferențele dintre elementele de grindă Euler–Bernoulli și Timoshenko

Folosim următoarele funcții de formă:

7.3.2 Relațiile și legea constitutivă deformare - deplasare

După cum s-a arătat în Tabelul 7.1, în teoria TB, există două component nenule ale
tensorului deformare: εxx and γxy. Folosind vectorul funcțiilor de formă definite de (7.24) and
(7.25), se obține
Relațiile stress–deformare pentru TB, dacă se consideră E - modulul lui Young și G –
modulul de torsiune, sunt următoarele: Page | 6

unde am folosit parametrul k in ecuația (7.30) pentru a nota factorul de corecție la forfecare.

7.3.3 Minimizarea energiei potențiale totale pentru elementul de grindă Timoshenko

Urmând pașii din Secțiunea 7.2.3, scriem energia de deformare (U) și lucrul mecanic
efectuat de forțele externe (W) pe elementul TB ca:

Folosind ecuațiile (7.28) și (7.29), expresia deformare - energie se simplifică la

Substituind ecuațiile (7.31) and (7.32) în ecuația (7.14) și apoi minimizând Pt în raport
cu {ue} pentru a obține

Ecuația matriceală a elementului finit pentru elemental TB ia forma:

7.4 Forțe nodale echivalente și momente pentru grinzi cu sarcini distribuite

Deseori, grinzile sunt, de asemenea, proiectate pentru a suporta sarcini distribuite în


multe situații practice. Când se întâmplă acest lucru, un vector de termeni de încărcare
suplimentari (numiți sarcini nodale echivalente) trebuie adăugat la ecuația matricei
elementelor finite.
În practică, sarcinile distribuite se manifestă în diferite forme, uneori ca o sarcină
distribuită uniform (UDL) și alteori ca o sarcină distribuită triunghiulară (TDL).
Lucrul mecanic efectuat de o forță distribuită uniformă de mărime w(x) pe lungimea
unui element de lungime L poate fi scrisă în general ca
Page | 7

In consecință, sarcinile nodale echivalente care trebuie să fie adăugate fie la ecuația
(7.23) sau la ecuația (7.36) sunt obținute prin minimizarea ecuației (7.37) în raport cu {ue},
dând

Pentru o TDL, dacă înălțimea forței distribuite este q(x), atunci lucrul mecanic
efectuat pe un element de lungime Le este

Deci pentru TDL, sarcina nodală echivalentă care trebuie să fie adăugată fie la
ecuația (7.23) fie la ecuația (7.36) este obținută prin minimizarea ecuației (7.39) în raport cu
{ue }, obținându-se
6.5 Implementare computațională

Pentru un sistem planar de grinzi conectate, ecuația matriceală globală leagă


vectorul sarcinilor globale nodale {F}, matricea globală de rigiditate [K], și vectorul global de
gradelor de libertate nodale {U}, pentru a forma ecuația matriceală globală: Page | 8
{ F } = [K]{ U } (7.41)
unde ecuația matriceală pentru fiecare membru al grinzilor conectate este formată folosind
fie folosind elementul EB:

fie pentru elemental TB

7.5.1 Procedura sistematică pentru analiza sistemelor de grinzi


7.5.1.1 Faza precomputațională
• Discretizarea structurii în elemente finite de grinzi
• Numerotarea nodurilor și elementelor pentru a forma tabelul de conectivitate

7.5.1.2 Faza computațională


1. Stabilirea ecuației matriceale a elementului finit (sau chiar a matricii de rigiditate)
pentru fiecare element de grindă. Pentru un element de grindă cu sarcini distribuite se
determină vectorul coloană al sarcinilor nodale echivalente (ecuațiile (7.38) și (7.40)). Acesta
trebui sa fie expandat corespunzător.
2. Se determină gradul global de libertate al sistemului de grinzi conectate și se scrie
ecuația matriceală expandată pentru fiecare element.
3. Se formează matricea globală de rigiditate și ecuația matriceală globală a
sistemului.
4. Identificarea condițiilor esențiale la frontieră și aplicarea condițiilor la frontieră
pentru ecuația matriceală globală pentru a obține ecuația matriceală redusă.
Acest pas presupune două acțiuni:
a. Obținerea vectorului sarcinilor reduse, care va fi egal cu vectorul sarcinilor reduse
din sarcinile concentrate aplicate plus vectorul sarcinilor reduse din vectorul expandat al
sarcinilor nodale echivalente.
b. Folosirea condițiilor la frontieră identificate pentru a obține matricea de rigiditate
redusă.
5. Determinarea parametrilor nodali globali necunoscuți (deplasări și pante) prin Page | 9
folosirea ecuației matriceala reduse.
a. Obținerea sarcinile nodale folosind vectorul tuturor deplasărilor globale nodale
(care combină deplasările determinate la pasul 4 cu condițiile la frontieră ale deplasărilor) și
matricea globală de rigiditate de la pasul 4.
b. Obținerea altor parametri, ca stresul la încovoiere dezvoltat de fiecare membru
dacă se dorește.

7.5.2 Implementarea computațională pentru elemetul de grindă Euler-Bernoulli

EulerBeam_Element_Matrix = function(DOF = 4,YoungMod,MomentI, Length)


# se calculeaza matricea de rigiditate a fiecărui element
{
L=Length;
stiffness=YoungMod*MomentI/Length^3;
coefficients=c(12,6*L,-12,6*L,6*L,4*L^2,-6*L,2*L^2,-12,-6*L,12,-6*L,6*L,2*L^2,-6*L,4*L^2);
ematrix=stiffness*matrix(coefficients, nrow=DOF, byrow=T);
return(ematrix)
}
# se calculeaza matricea de rigiditate extinsa a fiecărui element
EulerBeam_ExpandedElement_Matrix = function(TDOF,eMatrix, i, j)
{
r1=(i-1)+i;r2=(i-1)+(i+1);r3=(j-2)+(j+1);r4=(j-2)+(j+2);
bigMatrix=matrix(vector(l=TDOF*TDOF),nrow=TDOF, byrow=T);
bigMatrix[c(r1,r2,r3,r4),c(r1,r2,r3,r4)]=eMatrix;
return (bigMatrix)
}
#Se pun conditiile la frontieră și se determină matricea de rigiditate expandată redusă
EulerBeam_ReducedStiffnessMatrix = function(bigKmatrix,knownloadnodes)
{
reducedK = bigKmatrix[c(knownloadnodes),(knownloadnodes)]
return(reducedK)
}
# Se determină vectorul redus al sarcinilor cunoscute
EulerBeam_ReducedLoadVector = function(loadvector)
{
reducedloadvector = matrix(loadvector,ncol = 1)
return(reducedloadvector)
}
# Se generează vectorul coloană al sarcinilor uniform distribuite
BeamUDL_Matrix= function(DOF=4,LoadMagnitude,Length)
{
L=Length;
DistributedLoad=LoadMagnitude*matrix(c(-L/2,-(L^2)/12,-
L/2,(L^2)/12),nrow=DOF,byrow=T)
return (DistributedLoad)
}
# Se expandează vectorul coloană al sarcinilor uniform distribuite
BeamUDL_ExpandedMatirx = function(TDOF, LoadColumnMatrix,i, j)
{
r1=(i-1)+i;r2=(i-1)+(i+1);r3=(j-2)+(j+1);r4=(j-2)+(j+2);
bigColumnMatrix=matrix(vector(l=TDOF),nrow=TDOF,byrow=T);
bigColumnMatrix[c(r1,r2,r3,r4)]=LoadColumnMatrix;
return (bigColumnMatrix) Page | 10
}
# Se determină deplasările nodale necunoscute
EulerBeam_NodalDisplacement = function(reducedmatrix,vec_reducedload)
{
return(solve(reducedmatrix,vec_reducedload))
}
# Se determină fortele si momentele in sistemul de bare
EulerBeam_Global_ForcesMoments = function(bigKmatrix,vec_globalnodaldisp)
{
columndof=matrix(vec_globalnodaldisp, byrow = T)
global_forces = bigKmatrix %*% vec_globalnodaldisp
return(round(global_forces))
}
EulerBeam_Local_ForcesMoments =
function(YoungMod,MomentI,Length,vec_globalnodaldisp,vec_distriload)
{
L=Length;
DOF=4;
bendingstiff=YoungMod*MomentI/Length^3;
stiffcoeff=c(12,6*L,-12,6*L,6*L,4*L^2,-6*L,2*L^2,-12,-6*L,12,-6*L,6*L,2*L^2,-6*L,4*L^2);
ematrix=bendingstiff*matrix(stiffcoeff,nrow=DOF,byrow=T);
local_loads = (ematrix%*%vec_globalnodaldisp)-vec_distributedLoad
return(local_loads)
}
EulerBeamMaxMin_BendingStress = function(YoungMod,Length,vec_globalnodaldisp)
{
disp_vec=matrix(vec_globalnodaldisp,nrow=length(vec_globalnodaldisp),byrow=T, ncol = 1);
Tmatrix=matrix(c(-m,-n, m, n),nrow=1,byrow=T);
local_stress=(YoungMod/elem_len)*Tmatrix%*%disp_vec;
return(local_stress)
}

Explicațiile folosirii codului și argumentele pentru mulțimea pentru mulțimea funcțiilor


elementului de grindă sunt date în Tabelele 7.2-7.4.
Tabelul 7.2. Funcții pentru matricile și vectorii elementelor de grindă

Page | 11

Tabelul 7.3. Funcții R suplimentare pentru elementele de grindă cu sarcini distribuite

Tabelul 7.4. Functions for the Computation Phase of Analysis of a System of Beam Elements
7.6 Example

7.6.1 Exemplu
Pentru segmentul de grindă din Figura 7.2 cu secțiune transversală variabilă și
puncte de încărcare, să se determine
(1) deplasările nodale transversale în punctele B și C, Page | 12
(2) reacțiunile la capetele suportului.
Se consideră: E = 200 GPa; IAB = 5×10-6m4, IBC = 2.5×10-6m4, ICD = 6.25×10-7 m4.

7.6.1.1 Soluție
Pentru această problemă, conectivitatea elementelor este arătată în Tabelul 6.5, în care se
notează AB, BC, și CD ca elementele 1, 2, and 3, respectiv.

Figura 7.2.

Tabelul 6.5. Tabelul de conectivitate a sistemului discretizat


Elemente Noduri
1 A,B
2 B,C
3 C,D

7.6.2 Exemplu
O grindă de lemn este încărcată ca în Figura 6.3. Materialul are E = 12 GPa și o secțiune
transversal cu inertia I =10.67 × 10− 4 Să se determine
1. Forma matricii globale de rigiditate pentru grindă
2. Deplasarea și panta în D
3. Forța de reacțiune și momentul de încovoiere în A.

Figura 7.3.
CAPITOLUL 8 – CADRE PLANE

8.1. Introducere
Elementele prezentate în capitolele 6 și 7 vor fi extinse în acest capitol pentru a
dezvolta elemente care îmbină gradele de libertate ale elementelor de bară și grindă,
rezultând elemente de cadru.
Elementele de cadru sunt potrivite pentru analizele statice ale structurilor de cadru
formate din elemente de grinzi conectate rigid sau prin articulații la îmbinări. Interesul pentru
analiza structurilor de cadru este analog cu ceea ce a fost discutat pentru grinzi. Adică se
dorește determinarea
(a) forțelor interne (forțe tăietoare și momentele încovoietoare);
(b) distribuției deformării, care include deplasări verticale și rotaționale în diferite puncte de-a
lungul lungimii elementelor structurilor;
(c) tensiunilor interne dezvoltate ca reacție la sarcinile aplicate.
Vom lua în considerare implementarea computațională a elementelor de cadre
plane și spațiale (folosind teoria rigidității la forfecare, în care se neglijează efectul deformării
prin forfecare).
În conformitate cu capitolele precedente, vom începe cu o scurtă prezentare a
ecuației elementelor finite pentru elementul cadru plan și apoi se trece la implementarea în
R atât pentru elementele cadrelor în plan cât și în spațiu.

8.2 Ecuațiile Elementului Finit pentru elementul elementul de cadru plane

8.2.1 Funcția de deplasare

Se consideră Figura 8.1, care prezintă un element de cadru orientat cu două noduri,
situat în sistemul global de coordonate X −Y și având lungimea Le, aria A (în stare
descărcată) și un modul E al lui Young. Elementului îi este atașat un sistem local de
coordonate x – y, unde x este îndreptată de-a lungul axei sale, iar θ este unghiul dintre axa
Ox și axa OX.
Având în vedere natura sarcinilor nodale, putem scrie următoarele funcții pentru
variația deplasărilor (axiale și rotaționale) de-a lungul elementului:

u, v și θ sunt respectiv deplasarea axială, transversală și rotațională


Figura 8.1. Element de cadru plan. u, v și θ sunt respectiv deplasarea axială, transversală și
rotațională.

A1 − A6 sunt coeficienți necunoscuți, x este între 0 și Le. Substituind conditiile la


frontieră, cum s-a făcut în cursurile precedente,în ecuațiile (8.1)-(8.3), rezultă

unde {ue} este vectorul deplasărilor nodale, [H] este matricea coordonatelor și {A} este
vectorul coeficienților necunoscuți. Din (8.4), coeficienții necunoscuți sunt determinați din
relația

Relațiile de transformare din componente locale în componente globale XY pentru


nodul 1 sunt:

Analog se poate scrie pentru al doilea nod


Inlocuind ecuațiile (8.6) - (8.11), se transformă deplasările locale ale unui element în
deplasări globale.

(8.12)

unde C = cosθ and S = sin θ. Înlocuind ecuația (8.12) în (8.5) rezultă

(8.13)

Deci,

(8.14)

Substituind Ai din (8.14) în (8.1) și (8.2), rezultă

unde Nu și Nv sunt funcțiile transformate de formă pentru deplasările axiale și transversale


ale elementului de cadru.
Tabelul 8.1. conține funcțiile de formă pentru deformările axiale și transversale ale unui
element de cadru.
Tabelul 8.1. Funcțiile de formă pentru deformări axiale și transversale ale unui element de
cadru

Notă: C = cos𝜃 and S = sin𝜃.

7.2.2 Relația deformare-deplasare și legea constitutivă

Pentru cadrele plane, componenta nenulă a tensorului de deformare este


deformarea axială (𝜀𝑥𝑥 ). Luând în considerare cinematica deformării cadrului (deplasări
axiale și transversale), εxx ia forma

(8.17)

Tinând cont de (8.15) și (8.16), (8.17) devine

(8.18)

sau

(8.19)

unde Bu și Bv sunt derivatele de ordin 1 ale lui Nu și Nv.


Relația tensiune – deplasare pentru elemental de cadru va lua forma:

(8.20)

unde cei doi termeni din membrul al doilea din ecuația (8.20) reprezintă tensiunea axială și
de încovoiere.
8.2.3. Minimizarea energiei potenţiale totale pentru elementul cadru

Urmând pașii folosiți în capitolele precedente, scriem energia de deformare (U) a


elementului cadru ca

(8.21)

Cu ecuația (8.18), ecuația (8.21) devine

(8.22)

unde A și I reprezintă aria secțiunii transversale și al doilea moment de inerție al cadrului,


respectiv. În plus, lucrul mecanic efectuat de forțele nodale externe concentrate aplicate (W)
este de următoarea formă:

(8.23)

Înlocuind ecuațiile (8.22) și (8.23) în expresia energiei potențiale Pt și apoi


minimizând Pt în raport cu {ue} se obține

(8.24)

și în consecință, obținem relația dorită ca

(8.25)

În formă completă, ecuația matriceală pentru elementul cadru (fără deformare prin
efect de forfecare) este

(8.26)

unde
(8.27)
Dacă se lucrează cu un element de cadru sub influența unei sarcini uniform
distribuite axial w1 și uniform distribuită transversal w2, următoarele sarcini nodale
echivalente trebuie să fie adăugate ecuației elementului de cadru.

(8.28)

(8.29)

Ca urmare, ecuația matriceală finală pentru elemental de cadru va fi


(8.30)

unde Feq Distributed este


(a) zero in absența oricărei sarcini distribuite;
(b) FeqUDL in prezența sarcinilor axiale și transversale uniform distribuite w1 și w2;
(c) FeqTDL in prezența unei sarcini axiale uniform distribuite w1 și a unei sarcini transversale
distribuite triangular w2.

COD
PlaneFrame_LengthOrientation = function(vec_nodalcoordinates)
# calculeaza lungimea elementului si unghiul care da orientarea (Le,𝛉)
{
xsquared=(vec_nodalcoordinates[3]-vec_nodalcoordinates[1])^2
ysquared=(vec_nodalcoordinates[4]-vec_nodalcoordinates[2])^2
length_of_element=sqrt(xsquared+ysquared)
ydiff=(vec_nodalcoordinates[4]-vec_nodalcoordinates[2])
xdiff=(vec_nodalcoordinates[3]-vec_nodalcoordinates[1])
orientation_of_element=(180/pi)*atan(ydiff/xdiff)
return(c(length_of_element,orientation_of_element))
}

PlaneFrame_Element_Matrix = function(DOF=6,YoungMod,Area,momentI,Length,theta)
# calculeaza matricea de rigiditate a elementului
{
cx=cos(theta*pi/180);sx=sin(theta*pi/180);
A=Area;I=momentI;B1=(12*momentI)/Length^2;B2=(6*momentI)/Length;
submatrix1=matrix(c( (A*cx^2+B1*sx^2),(A-B1)*cx*sx,(-B2*sx),-(A*cx^2+B1*sx^2),
-(A-B1)*cx*sx,(-B2*sx)),nrow=1,byrow=T);
submatrix2=matrix(c( submatrix1[,2],(A*sx^2+B1*cx^2),(B2*cx),-(A-B1)*cx*sx,-(A*sx^2+B1*
cx^2),(B2*cx)),nrow=1,byrow=T);
submatrix3=matrix(c( (-B2*sx),(B2*cx),(4*I),(B2*sx),(-B2*cx),(2*I)),nrow=1,byrow=T);
submatrix4=matrix(c( submatrix1[,4],submatrix2[,4], submatrix3[,4],
submatrix1[,1],submatrix1[,2],B2*sx),nrow=1,byrow=T);
submatrix5=matrix(c(submatrix1[,5],submatrix2[,5],
submatrix3[,5],
submatrix4[,5], submatrix2[,2],-B2*cx),nrow=1, byrow=T);
submatrix6=matrix(c(submatrix1[,6],submatrix2[,6],
submatrix3[,6],
submatrix4[,6],submatrix5[,6],4*I),nrow=1,byrow=T);
eMatrix=matrix(vector(l=DOF*DOF),nrow=DOF,ncol=DOF);
eMatrix[1,]=submatrix1;eMatrix[2,]=submatrix2;
eMatrix[3,]=submatrix3;eMatrix[4,]=submatrix4;
eMatrix[5,]=submatrix5;eMatrix[6,]=submatrix6;
return(round((YoungMod/Length)*eMatrix,3))
}

PlaneFrame_ExpandedElement_Matrix=function(TDOF,eMatrix,i,j)
#calculeaza matricea de rigiditate extinsa a elementului - bigMatrix
{
r1=2*(i-1)+i;r2=2*(i-1)+(i+1);
r3=2*(i-1)+(i+2);r4=(j-1)+(j+2)+(j-3);
r5=(j-1)+(j+3)+(j-3);r6=(j-1)+(j+4)+(j-3);
bigMatrix=matrix(vector(l=TDOF*TDOF),nrow=TDOF, byrow=T);
bigMatrix[c(r1,r2,r3,r4,r5,r6),c(r1,r2,r3,r4,r5,r6)]=eMatrix;
return (bigMatrix)
}

PlaneFrameUDL_Matrix=
function(DOF=6,AxialUDLMagnitude,TransUDLMagnitude,Length,theta)
# calculeaza matricea fortelor echivalente celor distribuite
{
L=Length;
cx=cos(theta*pi/180);sx=sin(theta*pi/180);
w1=AxialUDLMagnitude;w2=TransUDLMagnitude;
row1=0.5*L*(-cx*w1+sx*w2);row2=-0.5*L*(sx*w1+cx*w2)
row3=-(1/12)*(L^2)*w2;row4=0.5*L*(-cx*w1+sx*w2);
row5=-0.5*L*(sx*w1+cx*w2);row6=(1/12)*(L^2)*w2
equivalentload=matrix(c(row1,row2,row3,row4,row5,row6),nrow=DOF,byrow=T)
return (equivalentload)
}

PlaneFrameUDL_ExpandedMatirx = function(TDOF,LoadColumnMatrix,i,j)
#Calculeaza matricea expandata a fortelor echivalente celor distribuite
{
r1=2*(i-1)+i;r2=2*(i-1)+(i+1);
r3=2*(i-1)+(i+2);r4=(j-1)+(j+2)+(j-3);
r5=(j-1)+(j+3)+(j-3);r6=(j-1)+(j+4)+(j-3);
bigColumnMatrix=matrix(vector(l=TDOF),nrow=TDOF,byrow=T);
bigColumnMatrix[c(r1,r2,r3,r4)]=LoadColumnMatrix;
return (bigColumnMatrix)
}

PlaneFrame_ReducedStiffnessMatrix = function(bigKmatrix,knownloadnodes)
#calculeaza matricea de rigiditate redusa
{
reducedk = bigKmatrix[c(knownloadnodes),(knownloadnodes)]
return(reducedk)
}
PlaneFrame_ReducedLoadVector = function(loadvector)
#calculeaza vectorul redus al sarcinilor cunoscute
{
reducedf = matrix(loadvector,ncol = 1)
return(reducedf)
}

PlaneFrame_NodalDisplacement = function(reducedmatrix,vec_reducedforce)
#calculeaza vectorul redus al deplasarilor nodale
{
return(solve(reducedmatrix,vec_reducedforce))
}

PlaneFrame_GlobalForces = function(bigKmatrix,vec_globalnodaldisp)
#calculeaza vectorul global al fortelor nodale
{
columndof=matrix(vec_globalnodaldisp,byrow = T)
globalforces = bigKmatrix %*% vec_globalnodaldisp
return(round(globalforces))
}

PlaneFrame_LocalForces =
function(YoungMod,Area,momentI,Length,theta,vec_globalnodaldisp)
#calculeaza vectorul global al deplasarilor nodale
{
E1=YoungMod;A=Area;I=momentI;L=Length;
cx=cos(theta*pi/180);sx=sin(theta*pi/180);
row1=c(cx,sx,0,0,0,0);row2=c(-sx,cx,0,0,0,0);
row3=c(0,0,1,0,0,0);row4=c(0,0,0,cx,sx,0);
row5=c(0,0,0,-sx,cx,0);row6=c(0,0,0,0,0,1);
tmatrix=matrix(c(row1,row2,row3,row4,row5,row6),nrow=6,byrow=T)
localstiffness=tmatrix%*%PlaneFrame_Element_Matrix(6,E1,A,I,L,theta);
local_forces = localstiffness%*%vec_globalnodaldisp
return(round(local_forces))
}

Exemplu pag.146

Figure 8.2. arată o structură formată din două elemente cu un moment concentrat de 300
kNm. Să se determine
(1) Deplasările orizontale, verticale și rotaționale ale punctului B;
(2) Reacțiunile în A și C.
Se consideră: E = 210 GPa; IAB = IBC = 300 *10-6 m4, A= 2.1 m2.
Figura 8.2

Soluție

E1=E2=210e9;A1=A2=2.1;I1=I2=300e-6
L1T1=PlaneFrame_LengthOrientation(c(0,4,5,4)); L1T1
L2T2=PlaneFrame_LengthOrientation(c(5,4,5,0)); L2T2
k1=PlaneFrame_Element_Matrix(6,E1,A1,I1,L1T1[1],L1T1[2]);k1
k2=PlaneFrame_Element_Matrix(6,E2,A2,I2,L2T2[1],L2T2[2]);k2

# Nu exista sarcini distribuite, deci nu este nevoie sa determinam sarcini nodale echivalente
n_nodes=3;Total_dof=n_nodes*3;

#Matricea de rigiditate expandata


K1=PlaneFrame_ExpandedElement_Matrix(Total_dof,k1,1,2);
K2=PlaneFrame_ExpandedElement_Matrix(Total_dof,k2,2,3);
GlobalK=K1+K2;GlobalK

# Conditii la frontiera U1X=0; U1Y=0; Therta1Z=0; U3X=0; U3Y= 0


# Sarcini cunoscute F2X=0; F2Y=0; M2Z=300 kN m; M3Z = 0 ---- poz 4,5,6,9

#Vectorul pozitiilor sarcinilor cunoscute


vec_rows_of_knownloads=c(4:6,9);
ReducedK=PlaneFrame_ReducedStiffnessMatrix(GlobalK,vec_rows_of_knownloads);
ReducedK

# Vectorul valorilor sarcinilor cunoscute


vec_values_of_knownloads=c(0,0,300000,0);
Reducedloadvector=PlaneFrame_ReducedLoadVector(vec_values_of_knownloads);
Reducedloadvector

#Se determina deplasarile necunoscute dupa ce se pun conditiile la frontiera, ca mai sus
UnknwonNodalDisp=PlaneFrame_NodalDisplacement(ReducedK,Reducedloadvector)
UnknwonNodalDisp
#Se determina matricea globala a deplasarilor necunoscute
allglobalNodalDisp=matrix(rep(0,Total_dof),byrow=T);
allglobalNodalDisp[vec_rows_of_knownloads]=UnknwonNodalDisp
allglobalNodalDisp

#Se determina fortele nodale necunoscute


globalLoads=PlaneFrame_GlobalForces(GlobalK,allglobalNodalDisp)
globalLoads
CAPITOLUL 9 – Elemente continue bidimensionale pentru probleme
plane de elasticitate

9.1. Introducere
Din studiul precedent rezultă că există o mulțime de elemente care ajută analiștii în
soluționarea problemelor practice cu elemente finite. Din cele studiate ar fi de observat că
fiecare dintre elementele finite analizate anterior au funcții de formă cu o singură variabilă
(funcție de coordonata x) și fiecare reprezintă o aproximare unidimensională a unei structuri
tridimensionale. În consecință, aceste elemente (bare, beam, truss, cadru) sunt de obicei
denumite elemente structurale unidimensionale.
Elementele structurale unidimensionale sunt conectate numai în puncte nodale, care
tind să apară în locații cu sarcini concentrate, modificarea secțiunii transversale,
îmbinări/suporturi și așa mai departe. În principiu, atunci când o structură cuprinde o serie de
elementele structurale unidimensionale, elementele menționate anterior pot fi folosite pentru
determinarea solicitării și deformării în diferite locuri.
Cu toate acestea, oricât de atractive sunt elementele structurale unidimensionale, ele
nu demonstrează destul de mult versatilitatea metodei elementelor finite în modelarea
structurilor cu forme si limite neregulate. În primul rând, punctele nodale menționate în
paragraful precedent nu apar în mod natural pentru structuri continue de ordin superior, cum
ar fi plăci plate și cupole (shells). În astfel de cazuri, trebuie să se discretizeze artificial
structurile continue în mai multe elemente plane înainte de a trece la o analiză. In acest
capitol, scopul nostru este să examinăm elementele continue bidimensionale (2D) care oferă
confort pentru analiza plană aproximativă a solidelor 3D supuse la sarcini plane exterioare.
În principal, ne vom uita la triunghiul de efort constant (CST) și examina apoi elementul
axisimetric. CST, deși nu este tocmai cel mai bun element plan 2D, are aplicații pentru
abordarea analizei tensiunilor plane (de exemplu, analiza plăcilor subțiri cu găuri, cârlige,
console, file) și probleme de deformare plană (de exemplu, arbori, țevi și altele).

8.2 Ecuațiile Elementului Finit pentru Elementul Triunghiular de Effort Constant


(CST)
8.2.1 Funcțiile de deplasare și de formă

Se consideră Figura 9.1a, care prezintă o structură subțire dreptunghiulară, care


poate fi analizată cu elementul finit pe care îl vom studia în acest capitol. În Figura 9.1b se
prezintă structura în planul x-y prezentând o stare de stres 2-dimensional, într-un punct din
placa dreptunghiulară. Mai mult, domeniul 2D este discretizat așa cum se arată în Figura
9.1b, în mai multe zone triunghiulare mici, fiecare având laturi drepte.

Figura 9.1 (a) O placă subțire cu forțe plane generice, (b) un element în stare de efort plan și (c) un
element triunghiular izolat care prezintă forțe nodale și grade de libertate.

În Figura 9.1c, a fost izolat triunghiul central, care are o muchie comună cu celelalte
triunghiuri, pentru analiza ulterioară ca element triunghiular. La fiecare nod a elementului
izolat, indicăm
• Un sistem de coordonate dreptunghiular
• Deplasările nodale (ui ,vi ,uj ,vj ,uk ,vk )
• Forțele nodale (𝑓𝑖𝑥 , 𝑓𝑖𝑦 , 𝑓𝑗𝑥 , 𝑓𝑗𝑦 , 𝑓𝑘𝑥 , 𝑓𝑘𝑦 )
unde indicii i, j și k reprezintă numerele nodale, de exemplu, 1, 2 și 3.
Se evidențiază faptul că derivația prezentată aici este constrâns de anumite ipoteze.
• Structura care trebuie analizată este plană în stare nedeformată și de grosime
constantă t, unde t este mult mai mic decât dimensiunile plane a și b (similar cu
Figura 8.1).
• Forţele exterioare acţionează numai la limita paralelă cu planul sau sunt distribuite
uniform pe grosime.
• Considerând că elementul triunghiular este supus doar la deformare plană atunci
când este sub sarcini plane, se poate reprezenta variația deplasărilor în oricare dintre
punctele sale interioare în următoarea formă:
(9.1)

(9.2)
unde A1 − A6 sunt coeficienți necunoscuți.
După cum s-a explicat în capitolele precedente, am ales ca numărul total de
coeficienți Ai să fie egal cu totalul numărului de grade de libertate asociate elementului.
În continuare, rezolvăm coeficienții necunoscuți prin impunerea unor condiții la
limită, pe ecuațiile (9.1) și (9.2), după cum urmează:

Substituind aceste condiții la frontieră în (9.1) și (9.2), rezultă

(9.3)

unde {ue} este vectorul deplasărilor nodale, [H] este matricea coordonatelor, iar {A} este
vectorul coeficienților necunoscuți. Din ecuația (9.3), coeficienţii necunoscuţi rezultă

(9.4)

Inversa matricii H este dată în relația (9.5)

(9.5)

unde
Ca urmare, ecuațiile (9.1) și (9.2) se vor scrie:

(9.6)

(9.7)

Prin înmulțirea matricilor subliniate din (9.6) și (9.7), rezultă:

(9.8)

(9.9)

unde Nu și Nv sunt funcțiile de formă pentru deformațiile axiale și transversale în punctele


interioare ale elementului.
Tabelul 9.1 prezintă forma completă a funcțiilor de formă, unde numerele nodurilor 1,
2 și 3 au fost înlocuite printr-o succesiune generică i, j și k.

Tabelul 9.1. Funcții de formă pentru deformațiile axiale și transversale


într-un element triunghiular cu deformare constantă (CST)

9.2.2 Relația deformare-deplasare și legea constitutivă

Pentru probleme elasticitate plane, au loc relațiile


𝜕𝑢
𝜀𝑥𝑥 𝜕𝑥
𝜕𝑣
(𝜀𝑦𝑦 ) = (9.10)
𝜀𝑥𝑦 𝜕𝑦
𝜕𝑢 𝜕𝑣
+
(𝜕𝑦 𝜕𝑥)
Tinând cont de (9.8) și (9.9), (9.10) devine
𝜕𝑁𝑢
𝜀𝑥𝑥 𝜕𝑥
𝜕𝑁𝑣
(𝜀𝑦𝑦 ) = (9.11)
𝜀𝑥𝑦 𝜕𝑦
𝜕𝑁𝑢 𝜕𝑁𝑣
+
( 𝜕𝑦 𝜕𝑥 )
Evaluarea derivatelor din membrul stâng al ecuației (9.11) conduce la
(9.12)

care poate fi scrisă compact

(9.13)

Ecuația (9.13) prezice un set de deformații constante, deoarece toți termenii din
matricea [B] nu depind de x și y. Aceasta explică denumirea acestui element ca CST.
Pentru a lega tensiunea de stres, apelăm la legea constitutivă, care, pentru probleme
de elasticitate plană generală, este de forma

(9.14)/
⇔ (9.15)

unde [D] exprimă proprietățile materialului elementului și depinde de natura problemei.


Pentru problemele de stres plan (σzx = σzy = σzz = 0),

(9.16)

(𝜈 − modulul lui Poisson) iar pentru probleme de deformare plană (εzz =𝛾 zx = 𝛾zy = 0),

(9.17)

9.2.3. Minimizarea energiei potenţiale totale pentru CST

Urmând pașii din capitolele precedente, scriem energia de deformare (U) a CST ca

(9.18)
Cu ecuațiile (9.13) și (9.15), relația (9.17) devine

(9.19)

Lucrul mecanic efectuat de forțele nodale externe concentrate aplicate (W) este:
(9.20)

Pentru a obține matricea de rigiditate, înlocuim ecuațiile (9.19) și (9.20) în expresia


energiei potențiale Pt și apoi, minimizând Pt în raport cu {ue} se obține

(9.21)

Reamintim că matricile [D] și [B] nu depind de x,y și z, integrala simplificându-se la:

(9.22)

și ecuația matricea matriceală a elementului finit CST este

(9.23)

În formă completă, ecuația matriceală (9.23) devine

(9.24)

unde
(9.25)

Fiind date coordonatele nodale ale unui element triunghiular, forma completă a
matricii de rigiditate din ecuația (9.25) se obține numeric imediat.

8.3 Forțele nodale echivalente pentru CST în cazul sarcinilor distribuite

Modelul matriceal din ecuația (9.24) este potrivit pentru analiza CST sub influența
sarcinilor nodale concentrate. În prezența unei tracțiuni la suprafață p (N/m2), trebuie
evaluate sarcinile nodale echivalente, așa cum s-a făcut și pentru elementul de bară.
Sarcinile nodale echivalente derivate dintr-o tensiune de tracțiune uniformă pe suprafață, px
(N/m2), normală la planul z–y, și o tensiune uniformă de forfecare la tracțiune py (N/m2 ) care
acționează tangențial la planul z–y este

(9.26)

unde s-a presupus că forțele de tracțiune acționează pe latura 2-3 și acoperă suprafața de
de lățime t și lungimea laturii L.

8.4 IMPLEMENTAREA COMPUTAȚIONALĂ

8.4.1 Procedura sistematică pentru analiza stucturilor CST


8.4.1.1 Faza precomputațională
• Stabilirea sistemului global de coordinate.
• Discretizarea structurii continue în elemente finite triunghiulare.
• Numerotarea nodurilor și formarea tabelului de conectivitate.
8.4.1.2 Faza computațională
1. Specificarea coordonatelor nodale (pe baza tabeului de conectivitate) și proprietățile
materialului.
2. Stabilirea ecuației matriceale a elementului finit pentru elementul triangular, folosind
ecuația (9.24) sau formarea matricii de rigiditate a fiecărui element folosing ecuația (9.25).
3. Determinarea gradului gobal de libertate al continuumului dicretizat și calculul matricei
expandate pentru fiecare element.
4. Pentru un element triunghiular cu o o tracțiune pe suprafață, se determină vectorul
echivalent al sarcinilor nodale, folosind (9.26).
5. Formarea matricei globale de rigiditate și a ecuației matriceale globale.
6. Identificarea condițiilor esențiale la frontieră și aplicarea condițiilor ecuației matriceale
globale pentru obținerea ecuației matriceale reduse. Aceasta implică:
a. Obținerea vectorului sarcinilor reduse, care va fi egal cu vectorului sarcinilor
reduse concentrate vectorului sarcinilor reduse din vectorul expandat al sarcinilor nodale
echivalente.
b. Folosirea condițiilor la frontieră identificate pentru obținerea matricii de rigiditate
reduse.
7. Determinarea deplasărilor nodale necunosctue utilizând ecuația matriceală redusă. Cu
ajutorul deplasărilor nodale, se pot obține apoi sarcinile nodale și stresul.

9.4.2 Implementarea in R a funcțiilor pentru CST

#Date coordonatele nodurilor unui element, această funcție este folositaă pentru a obține
# lungimea și orinetarea acestuia
#Argument1: vec_nodalcoordinates=vectorul valorilor coordonatelor nodale,
# c(x1,y1,x2,y2,x3,y3)
#Returnează un vector con/inând lungimea și unghiul de orientare
CSTriangular_Area =function(vec_nodalcoordinates)
{
x1=vec_nodalcoordinates[1];x2=vec_nodalcoordinates[3]; x3=vec_nodalcoordinates[5];
y1=vec_nodalcoordinates[2];y2= vec_nodalcoordinates[4]; y3=vec_nodalcoordinates[6]

Area=abs(x3*(y1-y2)+x2*(y3-y1)+x1*(y2-y3))
return(Area/2)
}

#Generează matricea elementului plan.


#Argument1:YoungMod=Modulul lui Young
#Arguments:Nu=Raport Poisson;case=1 (pentru stress plan stress) or 2 pentru plane strain
CSTriangular_Element_Matrix=function(DOF=6,YoungMod,Nu,thickness,
vec_nodalcoordinates,case)
{
x1=vec_nodalcoordinates[1];x2=vec_nodalcoordinates[3];
x3=vec_nodalcoordinates[5];
y1=vec_nodalcoordinates[2];y2=vec_nodalcoordinates[4];
y3=vec_nodalcoordinates[6];
A=abs((x3*(y1-y2)+x2*(y3-y1)+x1*(y2-y3))/2);

B1=y2-y3;B2=y3-y1;B3=y1-y2;
G1=x3-x2;G2=x1-x3;G3=x2-x1;
row1=c(B1,0,B2,0,B3,0);
row2=c(0,G1,0,G2,0,G3)
row3=c(G1,B1,G2,B2,G3,B3)
p1=c(1,Nu,0,Nu,1,0,0,0,(1-Nu)/2)
p2=c(1-Nu,Nu,0,Nu,1-Nu,0,0,0,(1-2*Nu)/2)

BMatrix=(1/(2*A))*matrix(c(row1,row2,row3),nrow=3,byrow=T);
DPlaneStress=(YoungMod/(1-Nu^2))*matrix(p1,nrow=3,byrow=T);
DPlaneStrain=(YoungMod/((1+Nu)*(1-2*Nu)))*matrix(p2,nrow=3,byrow=T)

eMatrix=matrix(vector(l=DOF*DOF),nrow=DOF,ncol=DOF);
if(case==1){
eMatrix=(thickness*A)*t(BMatrix)%*%DPlaneStress%*%BMatrix
}
if(case==2){
eMatrix=(thickness*A)*t(BMatrix)%*%DPlaneStress%*%BMatrix
}else{eMatrix=(thickness*A)*t(BMatrix)%*%DPlaneStress%*%BMatrix}
return(eMatrix)
}

#Generează matricea expandată


CSTriangular_ExpandedElement_Matrix = function(TDOF,eMatrix,i,j,k)
{
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k
bigMatrix=matrix(vector(l=TDOF*TDOF),nrow=TDOF,byrow=T);
bigMatrix[c(r1,r2,r3,r4,r5,r6),c(r1,r2,r3,r4,r5,r6)]=eMatrix;
return (bigMatrix)
}

# Generează matricea coloană pentru un element cu sarcini distribuite


#Argument:DOF=număr grade libertate ale unui element;
#SFtensile:mărimea a uniform surface tensile pressure, e.g. q in N/m2
#SFshear:mărimea uniform surface shear pressure
#case =1 (dacă sarcina este pe fața i-j, 2 dacă este pe fața j-k, & 3 dacă e pe fața i-k)
CSTriangular_SF= function(DOF=6,SFtensile,SFshear,Length,thickness,case)
{
px=SFtensile;py=SFshear;
L=Length;b=thickness;
if(case==1){
equivalentload=matrix(c(px*L*b/2,py*L*b/2,px*L*b/2,py*L*b/2,0,0),nrow=DOF,byrow=T)
}
if(case==2){
equivalentload=matrix(c(0,0,px*L*b/2,py*L*b/2,px*L*b/2,py*L*b/2),nrow=DOF,byrow=T)
}
if(case==3){
equivalentload=matrix(c(px*L*b/2,py*L*b/2,0,0,px*L*b/2,py*L*b/2),nrow=DOF,byrow=T)
}
#equivalentload=matrix(c(0,0,px*L*b/2,py*L*b/2,px*L*b/2,py*L*b/2),nrow=DOF,byrow=T)
return (equivalentload)
}

# Generează matricea coloană expandată a unui element cu sarcini distribuite


#Argument:TDOF=Total DOF al sistemului
#Argument:LoadColumnMatrix=matricea coloană a sarcinilor echivalente în noduri
#Argument:i, j și k se referă la nodurile unui element
CSTriangular_ExpandedSF = function(TDOF,LoadColumnMatrix,i,j,k)
{
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k
bigColumnMatrix=matrix(vector(l=TDOF),nrow=TDOF,byrow=T);
bigColumnMatrix[c(r1,r2,r3,r4,r5,r6)]=LoadColumnMatrix;
return (bigColumnMatrix)
}

# Generează matricea redusă de rigiditate


#Argument:bigKmatrix= matricea globală de rigiditate
#Argument:knownloadnodes=specifică liniile sarcnilor cunoscute în forma c(i,j,k,m...)
CSTriangular_ReducedStiffnessMatrix = function(bigKmatrix,knownloadnodes)
{
reducedk = bigKmatrix[c(knownloadnodes),(knownloadnodes)]
return(reducedk)
}

# c vectorul redus al forțelor


#Argument:loadvector= vector ul forțelor cunoscute, care trebuie furnizat în forma c(F1,F2,...)
CSTriangular_ReducedLoadVector = function(loadvector)
{
reducedf = matrix(loadvector,ncol = 1)
return(reducedf)
}

# Generează vectorul necunoscut al deplasărilor nodale


#Argument:reducedmatrix = matricea redusă obținută după aplicarea condițiilor la frontieră
#Argument:vec_reducedforce=vectorul forțelor cunoscute aplicate în noduri
CSTriangular_NodalDisplacement = function(reducedmatrix,vec_reducedforce)
{
return(solve(reducedmatrix,vec_reducedforce))
}

#Generează sistemul global al forțelor nodale


#Argument:bigKmatrix=matricea de rigiditate globală
#Argument:vec_globalnodaldisp=vectorul global al deplasărilor nodale
CSTriangular_GlobalForces= function(bigKmatrix,vec_globalnodaldisp)
{
columndof=matrix(vec_globalnodaldisp,byrow = T)
globalforces = bigKmatrix %*% vec_globalnodaldisp
return(globalforces)
}

#Generează forțele nodale locale ale elementului


#Argument: ematrix=matricea elementului
#Argument:vec_globalnodaldisp=vectorul deplasărilor nodale ale elementului
#Argument: i,j,k= etichetele coordonatelor nodale
CSTriangular_LocalForces = function(ematrix,vec_globalnodaldisp,i,j,k)
{
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k
localforces = ematrix%*%vec_globalnodaldisp[c(r1,r1,r3,r4,r5,r6)]
return(round(localforces))
}

CSTriangular_Stresses = function(YoungMod,Nu,thickness,
vec_nodalcoord,case,vec_globalnodaldisp,i,j,k)
{
x1=vec_nodalcoord[1];x2=vec_nodalcoord[3];
x3=vec_nodalcoord[5];
y1=vec_nodalcoord[2];y2=vec_nodalcoord[4];
y3=vec_nodalcoord[6];
A=abs((x3*(y1-y2)+x2*(y3-y1)+x1*(y2-y3))/2);

B1=y2-y3;B2=y3-y1;B3=y1-y2;
G1=x3-x2;G2=x1-x3;G3=x2-x1;
row1=c(B1,0,B2,0,B3,0);
row2=c(0,G1,0,G2,0,G3)
row3=c(G1,B1,G2,B2,G3,B3)
p1=c(1,Nu,0,Nu,1,0,0,0,(1-Nu)/2)
p2=c(1-Nu,Nu,0,Nu,1-Nu,0,0,0,(1-2*Nu)/2)

BMatrix=(1/(2*A))*matrix(c(row1,row2,row3),nrow=3,byrow=T);
DPlaneStress=(YoungMod/(1-Nu^2))*matrix(p1,nrow=3,byrow=T);
DPlaneStrain=(YoungMod/((1+Nu)*(1-2*Nu)))*matrix(p2,nrow=3,byrow=T)
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k

if(case==1){
localstresses=DPlaneStress%*%
BMatrix%*%vec_globalnodaldisp[c(r1,r2,r3,r4,r5,r6)]
}
if(case==2){
localstresses=DPlaneStrain%*%
BMatrix%*%vec_globalnodaldisp[c(r1,r2,r3,r4,r5,r6)]
}else{localstresses=DPlaneStress%*%
BMatrix%*%vec_globalnodaldisp[c(r1,r2,r3,r4,r5,r6)]
}

return(localstresses)
}
CAPITOLUL 10
ELEMENTE 2-DIMENSIONALE PENTRU PROBLEME DE CORPURI AXIALE
SIMETRICE
10.1. INTRODUCERE
Aproximații plane ale corpurilor elastice axial-simetrice (cu simetrie axială) având
geometrie, constrângere, și proprietăți ale materialului cu simetrie rotațională în jurul unei
axe de revoluţie apar în soluţiile multor probleme de importanţă practică. Prin urmare, având
în vedere aplicațiile lor, s-au dezvoltat câteva modele axial-simetrice cu elemente finite. Cu
toate acestea, focalizarea noastră în acest capitol este pe elementul triunghiular axisimetric
cu trei noduri.
Aplicațiile generale ale elementelor axial-simetrice pot fi găsite în analize ale
reactorului nuclear hiperboloid, tunelurilor circulare, volantelor, vaselor de presiune, tijelor
supapelor motoarelor, rezervoarelor de apă, capetelor de pistoane, discurilor de turbină,
turnurilor de răcire hiperbolice, articulațiilor sinoviale.
Similar celorlalte capitole, în secțiunile următoare se face o trecere în revistă a
ecuațiilor care descriu elementul triunghiular axisimetric vor fi prezentate împreună cu
funcțiile R dezvoltate pentru utilizarea acestui element în analizele corpurilor elastice axial-
simetrice din Secțiunile 10.2 și 10.3.
Exemple de probleme sunt date în Secțiunea 10.4, în timp ce exercițiile sunt date în
Secțiunea 10.5.

10.2 ECUAȚIILE LEMENTULUI FINIT TRIUNGHIULAR AXISIMETRIC


10.2.1 Deplasărle și funcțiile de formă
Figura 10.1a prezintă modelul 3-dimensional al unui toroid, iar reprezentarea schematică din Figura
10.1.b arată aceași toroid căruia i s-a atașat un sistem de coordinate cilindrice, r,θ ,z, și un element
triunghiukar care poate fi rezolavt pentru a form un soid 3D. In Figura 10.1c este arătat elemental
triunghiular izolat, iar înfiecare dintre noduri se indică

Figura 10.1. (a) Modelul unui toroid, (b) reprezentarea schematică a toroidului, care relevă secțiunea
triunghiulară, (c) un element triunghiul ar care arată gradele de libertate nodale
• Un sistem de coordonate 2D, parte a sistemului de coordinate cilindrice rθz
• Deplasările nodale
• Forțele nodale
unde indicii i, j și m reprezintă etichetele nodale ale elementului.
Urmând aceeași linie de gândire prezentată în capitolul precedent, presupunem că
elementul triunghiular suferă doar deformații plane și astfel reprezentăm variația deplasărilor
în punctele sale interioare cu funcțiile:
(10.1)
(10.2)
unde A1 − A6 sunt coeficienți necunoscuți, în timp ce u și w reprezintă deplasări radiale,
respectiv axiale. În continuare, rezolvăm sistemul obținut prin impunerea condițiilor la limită
asupra ecuațiilor (10.1) și (10.2), anume:
• În nodul i, r=ri, z=zi, u=ui
• În nodul i, r=ri, z=zi, w=wi
• În nodul j, r=rj, z=zj, u=uj
• În nodul j, r=rj, z=zj, w=wj
• În nodul m, r=rm, z=zm, u=um
• În nodul m, r=rm, z=zm, w=wm
Rezultă:

⇔ (10.3)

(10.4)
Inversa matricei [H] este

(10.5)

unde 2A = rm (zi − zj ) + ri (zj − zm ) + rj (−zi + zm). Ecuațiile (10.1) și (10.2) se pot scrie ca
(10.6)
(10.7)
Înmulțirea primelor două matrici în (10.6) și (10.7) conduce la

(10.8)

(10.9)

Termenul subliniat este vectorul funcției de formă pentru elementul axisimetric.


Pentru un element generic cu etichete nodale arbitrare i, j și m, forma completă a funcțiilor
de formă este dată în Tabelul 10.1.
Tabelul 10.1 Funcțiile de formă pentru deformarea radială și axială într-un element axisimetric
triunghiular

10.2.2 Ecuații constitutive


Pentru problem axial-simetrice, componentele nenule ale deformației specifice sunt legate
de derivatele deplasărilor în forma

(10.10)

Evaluarea derivatelor conduce la

(10.11)

sau
(10.12)
În plus, legea constitutivă ajută la stabilirea relației stres-elongație pentru problemele axial-
simetrice

(10.13)

sau
(10.14)
unde [D] are forma

(10.15)

10.2.2 Minimizarea energiei potențiale totale


Energia de deformare are ecuația:

(10.16)

Folosind ecuațiile (9.12) și (9.14), rezultă

(10.17)

Lucrul mecanic efectuat de forțele nodale externe concentrate (W) are forma

(10.18)

Substituind (10.17) și (10.18) în expresia energiei potențiale Pt, și apoi minimizând Pt


înraport cu ue va rezulta

(10.19)

Simplificând (10.19), rezultă


(10.20)
După cum se observă din ecuația (10.15), Matricea [B] este o funcție a coordonatelor r și z;
prin urmare, integrandul ecuației (10.20) nu poate fi scos de sub semnul integral. O modalitate de a
evita acest lucru este evaluarea matricea [B] ]n centroidul elementului triunghiular [3]. Acesta este,
(10.21)
unde
(10.22)
cu această aproximare a matricii [B], tmatricea de rigiditate a elementului axisimetric este
obținută ca
(10.23)
și ecuația elementului este

(10.24)

9.2.4 Forțe echivalente în corp și pe suprafață


În anumite probleme axial-simetrice, contribuțiile la deformarea elastică rezultă din prezența
forțelor în corp (de exemplu, forțele centrifuge din rotație şi gravitaţionale) şi forţe de
suprafaţă (forţe pe unitate de suprafaţă). Efectele acestor forțe pot fi considerate cu ușurință
prin utilizarea funcțiilor de formă prezentate în Tabelul 10.1. Pentru sarcinile pe suprafață, se
consideră schema din Figura 10.2.

Figura 10.2. Un element axial-simetric cu forțe de încărcare axiale și radiale

Forțele nodale echivalente, induse de prezența sarcinilor de suprafață pr şi pz care


acţionează de-a lungul muchiei verticale j −m a elementului din figura 10.2, atunci se
dovedesc a fi

(10.25)

unde funcțiile de formă din integrand au fost evaluate la r = rj = rm și suprafața sjm = (zm − zj).
Forțele nodale echivalente la nodurile i, j și m ale unui element sub efectul rotaţiei şi forţele
corporale induse de gravitaţie se pot obţine şi ele într-o manieră similară. O expresie
aproximativă pentru aceasta este dată ca

(10.26)

unde, în cazul unei structure cu densitatea de masă pe unitatea de volum (ρ) care se învârte cu viteză
unghiulară de rotație (ω) înjurul axei de simetrie, avem
(10.27)
și Zb este forța pe unitatea de volum (e.g., datoriă gravitației).

COD

#Date coordonatele nodurilor unui element, această funcție generează suprafața elementului
#Argument1:vec_nodalcoordinates=vectorul coordonatelor nodale, în forma c(r1,z1,r2,z2,r3,z3)
AxisymmetricT_Area =function(vec_nodalcoordinates)
{
r1=vec_nodalcoordinates[1];r2=vec_nodalcoordinates[3];
r3=vec_nodalcoordinates[5];
z1=vec_nodalcoordinates[2];z2= vec_nodalcoordinates[4];
z3=vec_nodalcoordinates[6]

Area=abs(r3*(z1-z2)+r2*(z3-z1)+r1*(z2-z3))
return(Area/2)
}

#Localizează centroidul elementului triunghiular


AxisymmetricT_Centroid =function(vec_nodalcoordinates)
{
r1=vec_nodalcoordinates[1];
r2=vec_nodalcoordinates[3];
r3=vec_nodalcoordinates[5];
z1=vec_nodalcoordinates[2];
z2=vec_nodalcoordinates[4];
z3=vec_nodalcoordinates[6]

rbar=(1/3)*(r1+r2+r3);
zbar=(1/3)*(z1+z2+z3);
return(c(rbar,zbar))
}

#Generează matricea elementului


#Argument1:YoungMod=Modulul lui Young
#Nu=raportul Poisson;vec_nodalcoordinates=c(r1,z1,r2,z2,r3,z3)
AxisymmetricT_Element_Matrix=function(DOF=6,YoungMod,Nu,vec_nodalcoordinates)
{
r1=vec_nodalcoordinates[1];r2=vec_nodalcoordinates[3];
r3=vec_nodalcoordinates[5];z1=vec_nodalcoordinates[2];
z2=vec_nodalcoordinates[4];z3=vec_nodalcoordinates[6];

Area=abs(r3*(z1-z2)+r2*(z3-z1)+r1*(z2-z3))*0.5;
rbar=(1/3)*(r1+r2+r3);zbar=(1/3)*(z1+z2+z3);

a1=r2*z3-z2*r3;
a2=r3*z1-z3*r1;
a3=r1*z2-z1*r2;
B1=z2-z3;B2=z3-z1;B3=z1-z2;
G1=r3-r2;G2=r1-r3;G3=r2-r1;
row1=c(B1,0,B2,0,B3,0);
row2=c(0,G1,0,G2,0,G3);

row3=c(((a1/rbar)+B1+(G1*zbar/rbar)),0,((a2/rbar)+B2+(G2*zbar/rbar)),0,((a3/rbar)+B3+(G3*zbar/rbar
)),0);
row4=c(G1,B1,G2,B2,G3,B3);
constitutiveprop=c(1-Nu,Nu,Nu,0,Nu,1-Nu,Nu,0,Nu,Nu,1-Nu,0,0,0,0,(1-2*Nu)/2)

BMatrix=(1/(2*Area))*matrix(c(row1,row2,row3,row4),nrow=4,byrow=T);
DMatrix=YoungMod/((1+Nu)*(1-2*Nu))*matrix(constitutiveprop,nrow=4,byrow=T);
eMatrix=(2*pi*rbar*Area)*t(BMatrix)%*%DMatrix%*%BMatrix
return(eMatrix)
}

#Calculează matricea expandată


AxisymmetricT_ExpandedElement_Matrix = function(TDOF,eMatrix,i,j,k)
{
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k
bigMatrix=matrix(vector(l=TDOF*TDOF),nrow=TDOF,byrow=T);
bigMatrix[c(r1,r2,r3,r4,r5,r6),c(r1,r2,r3,r4,r5,r6)]=eMatrix;
return (bigMatrix)
}

#Generează vectorul sarcinilor unui element cu sarcini pe suprafață


#Argument:pr= radial load per unit area; pz=axial load per unit area (a se vedea Figura 9.2)
AxisymmetricT_SF= function(DOF=6,pr,pz,case,vec_nodalcoordinates)
{
#1=J-M;#2=I-M;#3=I-J
r1=vec_nodalcoordinates[1];
r2=vec_nodalcoordinates[3];
r3=vec_nodalcoordinates[5];
z1=vec_nodalcoordinates[2];
z2=vec_nodalcoordinates[4];
z3=vec_nodalcoordinates[6];
if(case==1){
equivalentsfload=pi*r2*abs((z3-z2))*matrix(c(0,0,pr,pz,pr,pz),nrow=DOF,byrow=T)
}
if(case==2){
equivalentsfload=pi*r1*abs((z3-z1))*matrix(c(pr,pz,0,0,pr,pz),nrow=DOF,byrow=T)
}
if(case==3){
equivalentsfload=pi*r1*abs((z2-z1))*matrix(c(pr,pz,pr,pz,0,0),nrow=DOF,byrow=T)
}
return (equivalentsfload)
}

#Generează vectorul sarcinior unui element cu sarcini pe volum


#Argument:Rb= radial load per unit volume; Zb=axial load per unit volume
AxisymmetricT_BF= function(DOF=6,Rb,Zb,vec_nodalcoordinates)
{
r1=vec_nodalcoordinates[1];
r2=vec_nodalcoordinates[3];
r3=vec_nodalcoordinates[5];
z1=vec_nodalcoordinates[2];
z2=vec_nodalcoordinates[4];
z3=vec_nodalcoordinates[6];
rbar=(1/3)*(r1+r2+r3);
Area=abs(r3*(z1-z2)+r2*(z3-z1)+r1*(z2-z3))*0.5;

equivalentbodyload=(2/3)*pi*rbar*Area*matrix(c(Rb,Zb,Rb,Zb,Rb,Zb),nrow=DOF,byrow=T)

return (equivalentbodyload)
}

#Generează vectorul expandat al unui element cu sarcini distribuite


#Argument:TDOF=Total DOF pentru sistem
#Argument:LoadColumnMatrix=vectorul coloană al sarcinilor echivalente (celor distribuite) în noduri
#Argument:i and j se referă la nodurile unui element
AxisymmetricT_ExpandedSFBF = function(TDOF,LoadColumnMatrix,i,j,k)
{
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k
bigColumnMatrix=matrix(vector(l=TDOF),nrow=TDOF,byrow=T);
bigColumnMatrix[c(r1,r2,r3,r4,r5,r6)]=LoadColumnMatrix;
return (bigColumnMatrix)
}

#Generează matricea redusă de rigiditate


#Argument:bigKmatrix=matricea globalp de rigiditate
#Argument:knownloadnodes=specifică liniile sarcinilor cunoscute, în forma c(i,j,k,m...)
AxisymmetricT_ReducedStiffnessMatrix = function(bigKmatrix,knownloadnodes)
{
reducedk = bigKmatrix[c(knownloadnodes),(knownloadnodes)]
return(reducedk)
}

#Generează vectorul redus al forțelor


#Argument:loadvector= vectorul forțelor cunoscute, care trebuie să fie în forma c(F1,F2,...)
AxisymmetricT_ReducedLoadVector = function(loadvector)
{
reducedf = matrix(loadvector,ncol = 1)
return(reducedf)
}

#Generează vector deplasărilor nodale necunoscute


#Argument:reducedmatrix =matricea redusă obținutp după punerea condițiilor la frontieră
#Argument:vec_reducedforce=vectorul forțelor cunoscute aplicate în noduri
AxisymmetricT_NodalDisplacement = function(reducedmatrix,vec_reducedforce)
{
return(solve(reducedmatrix,vec_reducedforce))
}

#Generează forțele nodale globale ale sistemului


#Argument:bigKmatrix=matricea globală de rigiditate
#Argument:vec_globalnodaldisp=vectorul deplasărilor nodale globale
AxisymmetricT_GlobalForces= function(bigKmatrix,vec_globalnodaldisp)
{
columndof=matrix(vec_globalnodaldisp,byrow = T)
globalforces = bigKmatrix %*% vec_globalnodaldisp
return(globalforces)
}

#Generează forțele nodale locale ale elementului


#Argument: ematrix=element matrix
#Argument:vec_globalnodaldisp=vectorul global al deplasărilor nodale ale elementului
#Argument: i,j,k= etichetele coordinatelor nodale
AxisymmetricT_LocalForces = function(ematrix,vec_globalnodaldisp,i,j,k)
{
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k
localforces = ematrix%*%vec_globalnodaldisp[c(r1,r1,r3,r4,r5,r6)]
return(round(localforces))
}

AxisymmetricT_Stresses = function(YoungMod,Nu,vec_nodalcoord,vec_globalnodaldisp,i,j,k)
{
r1=vec_nodalcoord[1];
r2=vec_nodalcoord[3];
r3=vec_nodalcoord[5];
z1=vec_nodalcoord[2];
z2=vec_nodalcoord[4];
z3=vec_nodalcoord[6]

Area=abs(r3*(z1-z2)+r2*(z3-z1)+r1*(z2-z3))*0.5;
rbar=(1/3)*(r1+r2+r3);
zbar=(1/3)*(z1+z2+z3);

a1=r2*z3-z2*r3;
a2=r3*z1-z3*r1;
a3=r1*z2-z1*r2;
B1=z2-z3;B2=z3-z1;B3=z1-z2;
G1=r3-r2;G2=r1-r3;G3=r2-r1;
row1=c(B1,0,B2,0,B3,0);
row2=c(0,G1,0,G2,0,G3);

row3=c(((a1/rbar)+B1+(G1*zbar/rbar)),0,((a2/rbar)+B2+(G2*zbar/rbar)),0,((a3/rbar)+B3+(G3*zbar/rbar
)),0);
row4=c(G1,B1,G2,B2,G3,B3);
constitutiveprop=c(1-Nu,Nu,Nu,0,Nu,1-Nu,Nu,0,Nu,Nu,1-Nu,0,0,0,0,(1-2*Nu)/2)

BMatrix=(1/(2*Area))*matrix(c(row1,row2,row3,row4),nrow=4,byrow=T);
DPlaneStress=YoungMod/((1+Nu)*(1-2*Nu))*matrix(constitutiveprop,nrow=4,byrow=T);
r1=2*i-1; r2=2*i
r3=2*j-1; r4=2*j
r5=2*k-1; r6=2*k

localstresses=DPlaneStress%*%BMatrix%*%vec_globalnodaldisp[c(r1,r2,r3,r4,r5,r6)]

return(localstresses)
}

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