Metody komputerowe i obliczeniowe Metoda Elementów Skoczonych Element jednowymiarowy liniowy : prt Jest to element bardzo podobny do spryny : współrzdne lokalne i globalne jego wzłów s takie same nie potrzeba adnych transformacji układów współrzdnych, a jego sztywno zdefiniowana jest porednio, za pomoc pola przekroju A, długoci L oraz modułu Younga E. Element ma dwa wzły definiujce jego koce. i k = EA/L j x wzeł element wzeł L Jeli sztywno elementu opisuje stała k=ea/l, a kady wzeł moe przemieci si tylko w kierunku osi x (ma jeden stopie swobody), to macierz sztywnoci elementu zdefiniowanego dwoma wzłami (a wic dwoma stopniami swobody) zapisuje si jako macierz 2x2 (kady wymiar macierzy to liczba stopni swobody całego elementu): k K = k EA k k = L EA L EA L EA L jeli w całym układzie wielu połczonych ze sob prtów wystpi n wzłów, to macierz sztywnoci bdzie miała wymiar nxn. W dalszym cigu obowizuje ogólny układ równa liniowych metody: [K]{u} = {f} gdzie: [K] macierz sztywnoci, {u} wektor przemieszcze wzłów, {f} wektor sił działajcych w wzłach. Jeli znamy sztywno elementu oraz przemieszczenia wzłów moemy wyliczy działajce siły, a jeli znamy siły, to po rozwizaniu równania moemy wyliczy przemieszczenia. Funkcje realizujce obliczenia MES na elementach prtowych w Matlabie (naley je przepisa w osobnych plikach M-File, nadajc im nazwy takie, jakie maj zawarte w nich funkcje): ponisz funkcj zapisujemy w pliku: SztywnoscElementPretowy.m function y = SztywnoscElementPretowy(E,A,L) %funkcja tworzy macierz sztywnosci dla pojedynczego elementu pretowego %wymiar wyniku : 2x2 y = [E*A/L E*A/L; -E*A/L E*A/L]; ponisz funkcj zapisujemy w pliku: ZlozSztywnoscPretow.m function y = ZlozSztywnoscPretow(K,k,i,j) %funkcja sklada w jedna macierz sztywnosci K wszystkie prety %w zadaniu laczac wszystkie sztywnosci pojedynczych elementow k %zdefiniowanych wezlami i j
%UWAGA! Funkcja moze byc wywolana po wczesniejszym uruchomieniu %funkcji SztywnoscElementPretowy! %skladanie K(i,i) = K(i,i) + k(1,1); K(i,j) = K(i,j) + k(1,2); K(j,i) = K(j,i) + k(2,1); K(j,j) = K(j,j) + k(2,2); %i wynik zwracany przez funkcje y = K; ponisz funkcj zapisujemy w pliku: SilyElementPretowy.m function y = SilyElementPretowy(k,u) %funkcja wylicza sily wezlowe dla danego elementu na podstawie znanych przemieszczen u i sztywnosci k y = k * u; ponisz funkcj zapisujemy w pliku: NaprezeniaElementPretowy.m function y = NaprezeniaElementPretowy(k,u,A) %funkcja wylicza naprezenia dla danego elementu na podstawie znanych przemieszczen u, sztywnosci k oraz pola przekroju A y = k * u/a; Przykład nr 1. Dla podanego układu elementów wykonanych z materiału o znanym module E = 21GPa, polu przekroju A =.3m 2 i sile obciajcej P = 1kN wyznaczy ponisze niewiadome przy załoeniu, e wzeł nr 3 jest przesuwany o.2m: 1. macierz sztywnoci układu 2. przemieszczenie wzła nr 2 3. reakcje w wzłach nr 1 i 3 4. sił w kadym elemencie 5. naprenie w kadym elemencie Rozwizanie: 1 2 3 Krok 1 dyskretyzacja zadania Zadanie jest ju podzielone na elementy i wzły : - element nr 1 zdefiniowany jest wzłami nr i=1 i j=2 - element nr 2 zdefiniowany jest wzłami nr i=2 i j=3 wzeł nr 2 jest wspólny dla obu elementów elementy s połczone w wle nr 2. W wzłach nr 1 i 3 s podpory, ale podpora w wle nr 3 jest przemieszczana. P 1.5m 1m δ=.2
Krok 2 utworzenie macierzy sztywnoci dla kadego elementu Wprowadzamy zmienne globalne, które przechowuj dane materiałowe i geometryczne naszego zadania: E, A i L1 oraz L2 >>E=21e6 >>A=.3 >>L1=1.5 >>L2=1 Mamy dwa elementy, zatem tworzymy dwie macierze sztywnoci : k1 i k2 komendami: >>k1=sztywnoscelementpretowy(e,a,l1) >>k2=sztywnoscelementpretowy(e,a,l2) Krok 3 składanie macierzy sztywnoci elementów w jedn globaln macierz dla całego układu Poniewa w układzie mamy 3 wzły, wic globalna macierz sztywnoci bdzie miała wymiar 3x3. Macierz K naley przed składaniem wyzerowa, co wykonujemy komend: >>K=zeros(3,3) Poniewa mamy dwa elementy, to funkcj ZlozSztywnoscPretow trzeba wywoła dwa razy niezalenie dla kadego elementu, podajc jako parametry globaln macierz K (która jest wynikiem), macierz elementu k (k1, a potem k2) i numery wzłów definiujce dany element (najpierw 1 i 2, a potem 2 i 3): >>K=ZlozSztywnoscPretow(K,k1,1,2) >>K=ZlozSztywnoscPretow(K,k2,2,3) Na odpowiednich miejscach w macierzy K pojawi si sumowane sztywnoci poszczególnych elementów (PROSZ SPRAWDZI!). Krok 4 uwzgldnienie warunków brzegowych Stworzona macierz sztywnoci ma posta: K 42 = 42 42 15 63 63 63 a układ równa [K]{u}={f} mona rozpisa w posta: 42 42 42 15 63 u1 f 1 63 = f 2 63 u3 f 3 Warunkami brzegowymi w naszym zadaniu s: - przemieszczenie wzła nr 1 jest niemoliwe podpora: u1 = - w wle nr 2 jest obcienie : f2 = P = -1kN (w lewo, przeciwnie do zwrotu osi x) - w wle nr 3 jest ruchoma podpora : u3 =.2m (narzucone przemieszczenie) Po uwzgldnieniu powyszych wiadomych, układ równa przyjmuje posta:
42 42 42 15 63 f 1 63 u 2 = 1 63.2 f 3 nie znamy zatem przemieszczenia i reakcji f1 i f3 (podpory). Krok 5 rozwizanie równa Przygldajc si układowi równa zauwaymy, e mona go rozwiza po kawałku, ale tym razem znana warto przemieszczenia u3 jest róna od zera nie moemy zastosowa postpowania z poprzedniej lekcji. Wydzielimy cały wiersz z macierzy sztywnoci dla nieznanego przemieszczenia : 42 42 42 15 63 f 1 63 u 2 = 1 63.2 f 3.2 [ 42 15 63] u 2 = { 1} Prosz zauway, e wiersz macierzy sztywnoci przemnoony przez kolumn przemieszcze da w wyniku jedn warto : znan sił (K 1x3 x u 3x1 = f 1x1 ): co mona uproci do równania: K(2,1) * u1 + K(2,2) * + K(2,3) * u3 = f2-42 * + 15 * + (-63) *.2 = -1 K(2,2) * = f2 - K(2,3) * u3 15 * = -1 + 63 *.2 w Matlabie realizujemy to poleceniami: przepisanie tylko jednego wyrazu z 2 wiersza i 2 kolumny z K do k: >>k=k(2,2) stworzenie wektora wyrazów wolnych (prawej strony równania) ze znan sił f2=-1kn oraz znanym przemieszczeniem u3=.2: >>f=-1-k(2,3)*.2 wyliczamy nieznane przemieszczenia poleceniem (eliminacja Gaussa): >>u=k\f i otrzymujemy w wyniku: u =.12m.
Krok 6 obróbka wyników (postprocessing) Majc przemieszczenia wszystkich wzłów, moemy obliczy reakcje w podporach. Najpierw zbierzmy przemieszczenia w jeden wektor (dodajemy u1= i u3=.2 do wyniku ): >>U=[;u;.2] a potem wyliczmy siły: >>F=K*U otrzymamy: F1 = -5.; F2 = -1. i F3 = 51.. Zatem reakcja w podporze nr 1 wynosi -5kN i jest skierowana przeciwnie do zwrotu osi x (w lewo, znak ujemny), natomiast reakcja w podporze 2 jest równa 51kN i jest skierowana w prawo. Siły w elementach wyznaczymy dziki funkcji SilyElementPretowy(k,u), której parametrami s: macierz sztywnoci elementu (k1 i k2) oraz przemieszczenia wzłów definiujcych dany element (czyli u1 i, a potem i u3): najpierw przygotujemy pary przemieszcze dla kadego elementu: >>u1=[u(1);u(2)] >>=[U(2);U(3)] a potem wyznaczymy siły: >>f1=silyelementpretowy(k1,u1) >>f2=silyelementpretowy(k2,) Wyniki wskazuj, e oba elementy s rozcigane siłami 5kN i 51kN. Naprenia w elementach wyznaczymy dziki funkcji NaprezeniaElementPretowy(k,u,A), której parametrami s: macierz sztywnoci elementu (k1 i k2), przemieszczenia wzłów definiujcych dany element (czyli u1 i, a potem i u3) oraz pole przekroju elementów A: >>s1=naprezeniaelementpretowy(k1,u1,a) >>s2=naprezeniaelementpretowy(k2,,a) Uzyskane naprenia dla elementów: 1.66E5 kpa i 1.EkPa (rozcigajce DLACZEGO?) Przykład nr 2. Dla podanego wspornika o zmiennym przekroju A1 =.2m 2 A2 =.12m 2, wykonanego z materiału o module E = 21GPa, obcionego sił P = 18kN wyznaczy przemieszczenie jego wolnego koca. P Rozwizanie: 3m
Krok 1 dyskretyzacja zadania Wspornik dzielimy na 5 elementów i 6 wzłów : - element nr 1 zdefiniowany jest wzłami nr i=1 i j=2 - element nr 2 zdefiniowany jest wzłami nr i=2 i j=3 - element nr 3 zdefiniowany jest wzłami nr i=3 i j=4 - element nr 4 zdefiniowany jest wzłami nr i=4 i j=5 - element nr 5 zdefiniowany jest wzłami nr i=5 i j=6 P 1 2 3 4 5 6 k1 k2 k3 k4 k5 Dyskretyzacja jest konieczna ze wzgldu na zmienn sztywno wspornika. Mona uy wikszej liczby elementów, aby zwiekszy dokładno oblicze. Kady z piciu elementów ma stał sztywno stałe pole przekroju, które mona wyliczy interpolujc liniowo wartoci porednie pola A pomidzy kocami wspornika: A(x) = A1 + (A2-A1) / L * x A(x) =.2 + (.12.2) / 3 * x A(x) =.2 +.1 / 3 * x gdzie x jest odległoci od lewego koca wspornika (w metrach). Krok 2 utworzenie macierzy sztywnoci dla kadego elementu Tworzymy zmienne globalne. Dla kadego elementu wyliczamy jego pole przekroju dla x w rodku rozpitoci danego elementu: >>E=21e6 >>L=.6 >>A1=.2+.1/3*.3 >>A2=.2+.1/3*.9 >>A3=.2+.1/3*1.5 >>A4=.2+.1/3*2.1 >>A5=.2+.1/3*2. Mamy pi elementów, zatem tworzymy pi macierzy sztywnoci : od k1 do k5 komendami: >>k1=sztywnoscelementpretowy(e,a1,l) >>k2=sztywnoscelementpretowy(e,a2,l) >>k3=sztywnoscelementpretowy(e,a3,l) >>k4=sztywnoscelementpretowy(e,a4,l) >>k5=sztywnoscelementpretowy(e,a5,l) Krok 3 składanie macierzy sztywnoci elementów w jedn globaln macierz dla całego układu Poniewa w układzie mamy 6 wzłów, wic globalna macierz sztywnoci bdzie miała wymiar 6x6. Macierz K naley przed składaniem wyzerowa, co wykonujemy komend: >>K=zeros(6,6) 5x.6m=3m
Poniewa mamy pi elementów, to funkcj ZlozSztywnoscPretow trzeba wywoła pi razy niezalenie dla kadego elementu, podajc jako parametry globaln macierz K (która jest wynikiem), macierz elementu k (od k1 do k5) i numery wzłów definiujce dany element: >>K=ZlozSztywnoscPretow(K,k1,1,2) >>K=ZlozSztywnoscPretow(K,k2,2,3) >>K=ZlozSztywnoscPretow(K,k3,3,4) >>K=ZlozSztywnoscPretow(K,k4,4,5) >>K=ZlozSztywnoscPretow(K,k5,5,6) Na odpowiednich miejscach w macierzy K pojawi si sumowane sztywnoci poszczególnych elementów. Krok 4 uwzgldnienie warunków brzegowych Stworzona macierz sztywnoci ma posta: K 1.5 1.5 = 1 6 1.5 2.8 3.85 a układ równa [K]{u}={f} mona rozpisa w posta: 1.5 1.5 1 6 1.5 2.8 u1 f 1 f 2 u3 f 3 = u4 f 4 u5 f 5 3.85 u6 f 6 Warunkami brzegowymi w naszym zadaniu s: - przemieszczenie wzła nr 6 jest niemoliwe podpora: u6 =, - nie ma obcie w wzłach nr 2 do 5 : f2 = f3 = f4 = f5 =, - w wle nr 1 zaczepiona jest siła P: f1 = -18kN Po uwzgldnieniu powyszych wiadomych, układ równa przyjmuje posta: 1.5 1.5 1 6 1.5 2.8 u1 18 u3 = u4 u5 3.85 f 6 nie znamy zatem przemieszcze u1 u5, a take reakcji f6 (podpora).
Krok 5 rozwizanie równa Układ równa rozwiemy po kawałku, wykrelajc ostatni wiersz i kolumn dla znanego przemieszczenia u6, zostawiajc reszt dla nieznanych u1 u5: 1.5 1.5 1 6 1.5 2.8 u1 18 u3 = u4 u5 3.85 f 6 1.5 1.5 1 6 1.5 2.8 u1 18 u3 = u4 u5 w Matlabie realizujemy to poleceniami: przepisanie wierszy 1-5 i kolumn 1-5 z K do k: >>k=k(1:5,1:5) stworzenie wektora f ze znanymi siłami f1 = -18, f2 f5=kn: >>f=[-18;;;;] wyliczamy nieznane przemieszczenia poleceniem (eliminacja Gaussa): >>u=k\f i otrzymujemy w wyniku: 1-4 (-.451.282.14.139.468)m. Krok 6 obróbka wyników (postprocessing) Majc wyliczone przemieszczenia wszystkich wzłów moemy odpowiedzie na polecenie w zadaniu: przemieszczenie swobodnego koca wspornika wyniesie u1 = -.451E-4m. UWAGA! Wyliczenie sił i napre prosz zrealizowa samodzielnie. Zadanie nr 1. Zadania do samodzielnego rozwizania: Dla układu jak na rysunku poniej, majc: E=GPa, A=.5m 2 wyznaczy: 1. macierz sztywnoci układu 2. przemieszczenie wzłów nr 2,3 i 4 oraz P1=1kN i P2=15kN,
3. reakcje w wle nr 1 4. sił w kadym elemencie 5. naprenia 1 2 3 4 P1 P2 Zadanie nr 2. 1m 2m 1m Rozwiza przykład nr 2 dla 1 elementów zamiast 5. Porówna wyniki. Zadanie nr 3. Dla układu jak na rysunku poniej, majc E=2GPa i A=.1m 2 sztywno spryny: k=1kn/m oraz sił P=25kN, wyznaczy: 1. macierz sztywnoci układu 2. przemieszczenie wzła nr 2 3. reakcj w wzłach nr 1 i 3 4. naprenie w prcie 5. sił w sprynie dla elementu prtowego, k 1 E,A 2 3 2m P