Sławomir Kulesza [email protected] Symulacje komputerowe (08) Modele dyskretnych układów fizycznych Wykład dla studentów Informatyki Ostatnia zmiana: 23 kwietnia 2015 (ver. 4.0) Układy mas punktowych ● ● Cząstki są ciałami fizycznymi, które posiadają masę, położenie i prędkość, lecz nie mają rozmiarów przestrzennych – masy punktowe. Założenia: – wszystkie ciała są zbudowane z cząstek, – cząstki mogą oddziaływać wzajemnie i z otoczeniem, jak też otoczenie może wpływac na cząstki, – wprowadzenie sił o różnych charakterystykach pozwala odtwarzać wszystkie możliwe zachowania. Układy mas punktowych Układy mas punktowych ● ● ● Cząstki są najprostszymi obiektami do symulacji, aczkolwiek mogą wykazywać szerokie spektrum zachowań, ponieważ poruszają się w polu sił. Cząstki mogą być na bieżąco generowane i usuwane – posiadają czas życia. Zespoły cząstek oddziałujących ze sobą są podstawą symulacji ciał sprężystych i ciał sztywnych oraz obiektów jak np.: piasek, woda, dym, ogień itp. Układy mas punktowych Ruch punktu materialnego ● ● Ruch jest fundamentalnym zjawiskiem zachodzącym w dynamicznych układach fizycznych (zmiennych w czasie). Ruch opisywany jest zawsze względem początku wybranego układu odniesienia. Z uwagi na trajektorię ruchu ciała wyróżnia się: – ruch prostoliniowy, którego torem jest prosta, – ruch obrotowy, którego torem jest okrąg o środku leżącym na osi obrotu. Ruch punktu materialnego Położenie – przemieszczenie ● Położenie ciała [m] – wektor opisujący chwilową pozycję ciała względem początku układu współrzędnych: ⃗r (t)=[ x (t ), y (t), z (t)] ● Przemieszczenie ciała [m] – wektor łączący początek i koniec toru jego ruchu: ⃗ r (t )=⃗r (t k )−⃗r (t 0 )=... Δ ...=[ x (t k )− x(t 0 ), y (t k )− y (t 0 ), z (t k )−z (t 0 ) ] Położenie – przemieszczenie Prędkość ● Prędkość ciała [m/s] – wektor opisujący przemieszczenie ciała zachodzące w infinitezymalnie krótkim przedziale czasu: Δ r (t ) d ⃗r (t ) ⃗ V (t )= lim = =... Δt dt Δ t →0 dx(t ) dy (t ) dz(t ) ...= , , =[V x (t ), V y (t ), V z (t )] dt dt dt [ ] Przyspieszenie ● Przyspieszenie ciała [m/s2]– wektor opisujący zmiany prędkości ciała zachodzące w infinitezymalnie krótkim przedziale czasu: 2 ⃗ Δ V (t ) d V (t ) d ⃗r (t ) ⃗ a (t )= lim = = =... 2 Δt dt Δ t →0 dt dV x (t ) dV y (t ) dV z (t ) ...= , , =[a x (t ), a y (t ), a z (t )] dt dt dt [ ] Przestrzeń fazowa ● 6-wektor: [r(t); p(t)] jednoznacznie opisuje położenie ciała w tzw. przestrzeni fazowej, zawierającej wszystkie możliwe stany położeniowe i pędowe ciała. Trajektoria w przestrzeni fazowej opisuje więc pełną historię ruchu ciała. Oscylator nieliniowy Ewolucja położenia w czasie Trajektoria w przestrzeni fazowej Ewolucja chaotyczna Trajektoria w przestrzeni fazowej Klasyczna dynamika mas punktowych ● Dynamika – dział fizyki zajmujący się badaniem przyczyn ruchu. Stan ruchu ciała jest jednoznacznie określony przez jego chwilową prędkość i położenie, natomiast zmiana tego stanu jest wynikiem działania na ciało niezerowej siły wypadkowej. III zasada dynamiki ruchu postępowego ● Jeśli ciało A działa na ciało B siłą FAB, to ciało B działa na ciało A siłą FBA równą co do wartości sile FAB, lecz przeciwnie do niej skierowaną. II zasada dynamiki ruchu postępowego ● Zmiana pędu ciała jest równa wypadkowej sile przyłożonej do tego ciała. II zasada dynamiki ruchu postępowego 2 d ⃗ p d ⃗ r ⃗ = =m⋅ F =m⋅⃗a 2 dt dt ● Jest to równanie ruchu cząstki wiążące ze sobą przyczynę ruchu (siłę) oraz jej skutek (zmiana stanu cząstki w przestrzeni fazowej). Jest to równanie różniczkowe 2 rzędu (2nd order ODE). II zasada dynamiki ruchu postępowego ● Zmiana trajektorii ruchu cząstki jest tym silniejsza, im mniejsza masa cząstki lub większa siła na nią działająca. 2 → 1 order ODE nd ● ● st Każde równanie różniczkowe zwyczajne n-tego rzędu może zostać zamienione na układ n-równań różniczkowych zwyczajnych 1 rzędu. W przypadku równań ruchu jako zmienną pomocniczą do otrzymania pary równań sprzężonych 1 rzędu wykorzystuje się prędkość ciała V: II zasada dynamiki w przestrzeni fazowej ● Stan cząstki w 3-wymiarowej przestrzeni fazowej opisuje 6-wektor: [] x Vx ⃗r = y ⃗ Vy V z Vz [] II zasada dynamiki w przestrzeni fazowej ● Równanie ruchu cząstki w przestrzeni fazowej (II zasada dynamiki Newtona) ma postać: [] d ⃗r d ⃗r ⃗ dt V = = ⃗ ⃗ dt V dV ⃗ a dt [] [] Struktura opisu cząstki ● Pełny opis stanu cząstki, poza stanem w przestrzeni fazowej, wymaga także włączenia jej masy oraz działającej siły (model oddziaływań): [] ⃗r ⃗ V ⃗u = ⃗ F m ● W przypadku układu n-cząstek jest to macierz (10×n) Solver ODE ● Scilab posiada dedykowany solver ODE do rozwiązywania równań różniczkowych zwyczajnych 1 rzędu, wywoływany w postaci: [ ] ([ ] r⃗ r⃗ini new =ode , t 0 , t , function V⃗new V⃗ini ) Pamiętaj!!! ● Równania różniczkowe różnią się od równań algebraicznych. Do ich rozwiązania nie wystarczy sama postać równania, ale niezbędna jest także znajomość warunków początkowych. Jednoznaczność rozwiązań ODE Siły działające w układach fizycznych ● Działająca na ciała siła F może przyjmować jedną z poniższych postaci: – siła stała (np. siła grawitacji): F = const, – siła zależna od położenia (np. siła sprężystości): F = F(r), – siła zależna od prędkości (np. siła oporu): F = F(V), – siła zależna od czasu (np. siła wymuszająca): F = F(t). Siła grawitacji ● Gdy odległość między cząstką a powierzchnią Ziemi jest znacznie mniejsza niż promień Ziemi, siła grawitacji jest stała i wynosi: F⃗G =−m⋅g⋅⃗ e y =[0,−m⋅g , 0] gdzie: g = 9.81 m/s2 – przyspieszenie grawitacyjne na powierzchni Ziemi (ale: g = g(r)). Siła grawitacji ● W ogólności, siła grawitacji jest zależna od mas przyciągających się ciał oraz odległości między ich środkami i wynosi: F⃗G =G m1⋅m2 r⃗12 r 3 12 gdzie: G = 6.67·10-11 N·m2/kg2 – stała grawitacji (uniwersalna), r12 – wektor łączący środki cząstek 1 oraz 2. Siła grawitacji Siła sprężystości ● W pierwszym przybliżeniu siłę sprężystości można opisywać zależnością liniową zgodnie z prawem Hooke'a: F⃗spr =−k spr ( ⃗r −r⃗s ) gdzie: – kspr – stała sprężystości, – rs – długość spoczynkowa sprężyny. Siła sprężystości Siła sprężystości Siła sprężystości ● Analogicznie można modelować siły powodujące odkształcenia skręcające, pamiętając że wprowadzają one momenty sił Siła wymuszająca ● W rzeczywistych układach fizycznych ruch może być podtrzymywany przez długi czas, nawet pomimo istnienia znaczących sił oporu ośrodka. Dzieje się tak za sprawą istnienia zewnętrznych sił wymuszających. W najprostszym przypadku mogą to być siły harmoniczne, np.: ⃗ wym = A cos(ω⋅t +ϕ) F gdzie: A – amplituda siły, ω – częstość drgań, Φ – faza początkowa. ● Jeśli częstość drgań siły wymuszającej zrówna się z częstością drgań własnych układu, mówimy wówczas o rezonansie mechanicznym. Rezonans mechaniczny Rezonans mechaniczny Opór laminarny ● Masa poruszająca się w ośrodku lepkim doznaje działania siły hamującej powstającej na skutek tarcia między powierzchnią ciała a drobinami ośrodka (lepkość). Jeśli prędkość ciała jest na tyle mała, że opływ jest laminarny, stosujemy wówczas prawo Stokesa: ⃗ F⃗lam=−6 π ηr V gdzie: η – lepkość dynamiczna ośrodka, r – promień kuli, V – prędkość kuli. Opływ laminarny Opór turbulentny ● W przypadku ruchu powodującego odrywanie się gładkich strug i tworzenie wirów, zasadniczym źródłem oporu jest różnica ciśnień przed i za poruszającym się ciałem: ⃗ ∣2 C x⋅S⋅d p⋅∣V F⃗turb =− 2 gdzie: Cx – wsp. oporu ciała (zależny od kształtu), S – powierzchnia natarcia, dp – gęstość płynu, V – prędkość ciała. Opływ turbulentny Zderzenia ciał ● ● Poza siłami jawnie wyspecyfikowanymi wcześniej, ruch cząstek jest dodatkowo modyfikowany siłami powstającymi podczas ich bezpośrednich zderzeń z przeszkodami (np. ścianami naczynia) oraz innymi cząstkami. Symulacje numeryczne zderzeń są procesem dwuetapowym i obejmują: – detekcję zderzeń – kontrolę położenia cząstek względem przeszkód, – obsługę zderzeń – transformację prędkości zderzających się cząstek. Detekcja zderzenia ● Załóżmy, że cząstka zbliża się do nieruchomej ściany, opisywanej wektorem normalnym n = [nx, ny]. Detekcja zderzenia polega na sprawdzeniu warunku, czy przewidywane położenie cząstki nie znajduje się poza obszarem dozwolonym: Obsługa zderzenia ● W momencie wykrycia kolizji, wektor prędkości cząstki rozkładamy na dwie składowe: normalną i styczną do ściany: ⃗ =V⃗n + V⃗s =V⋅⃗ ⃗ n + V⃗s V Obsługa zderzenia ● Z analizy sytuacji wynika, że w trakcie zderzenia zmianie ulega jedynie składowa normalna prędkości cząstki, zaś jej składowa styczna pozostaje bez zmian. Możemy dzięki temu napisać, że: ⃗ '=−k COR⋅V⃗n + V⃗s =−k COR⋅V⃗n +( V ⃗ −V⃗n)=… V ⃗ −( 1+k COR )⋅V⃗n= V ⃗ −(1+k COR )⋅( V ⃗⋅⃗ …= V n )⋅⃗ n ● gdzie: 0 ≤ kCOR ≤ 1 jest współczynnikiem restytucji (odbicia). Obsługa zderzenia ● Po rozpisaniu wektorów V oraz V' na składowe otrzymujemy, że: V ' x =V x −(1+k COR )⋅(V x⋅n x +V y⋅n y )⋅n x V ' y =V y −(1+k COR )⋅(V x⋅n x +V y⋅n y )⋅n y ● Dzięki temu, do obsługi zderzenia ze ścianą o znanej geometrii (znanym wektorze normalnym) wystarcza tylko znajomość składowej normalnej prędkości V. Przestrzelenia ● ● Specyfika obliczeń numerycznych sprawia, że kolejne położenia ciał liczone są w dyskretnych odstępach czasu, a więc ich trajektorie nie są krzywymi gładkimi. W przypadku detekcji kolizji oznacza to ryzyko przestrzelenia przeszkody. Naprościej problem przestrzeleń ogranicza się cofając trajektorię do punktu wcześniejszego i z niego kontynuując ruch. Istnieją jednak bardziej zaawansowane metody precyzyjnego wykrywania kontaktu cząstki z przeszkodą (kosztowne obliczeniowo), np. metoda połowienia przedziału (skracania kroku trajektorii) czy też metody interpolacyjne. Przestrzelenia Zderzenia cząstek ● ● Każdy proces zderzeń mas punktowych podlega prawu zachowania pędu. Pęd układu ciał izolowanych jest stały w czasie: N ∑ m⋅V⃗ =const k =1 Zderzenia sprężyste ● Jeśli w procesie zderzenia zachowany jest nie tylko całkowity pęd układu, ale także jego energia kinetyczna (nie ma strat energii), to taki proces nazywamy zderzeniem sprężystym: N ∑ k =1 2 ⃗ m⋅V =const 2 Zderzenia sprężyste w 1D ● W przypadku zderzeń w 1 wymiarze, wzory transformacyjne prędkości przyjmują postać: V 1 (m1−m 2 )+2 m 2 V 2 V 1'= m1 + m 2 V 2 (m 2−m1)+2 m1 V 1 V 2'= m1 +m 2 Zderzenia sprężyste w 2D ● Gdy ruch zachodzi w 2 wymiarach, wówczas zderzeniami rządzi zasada, iż: (1) składowe styczne prędkości obu cząstek nie ulegają zmianie, natomiast (2) składowe normalne transformują się jak w przypadku 1-wymiarowym: Zderzenia sprężyste w 2D ● W sytuacji 2-wymiarowej wzory transformacyjne prędkości przyjmują postać: 2 m2 ⃗ 2n − V ⃗ 1n ) V⃗1 ' = V⃗1 + (V m1 + m 2 2 m1 ⃗ 1n − V ⃗ 2n ) V⃗2 ' = V⃗2 + (V m1 + m 2 Zderzenia sprężyste w 2D 2 m2 V 1x ' =V 1x + (V 2x⋅n x +V 2y⋅n y )−(V 1x⋅n x +V 1y⋅n y ))⋅n x ( m 1 +m 2 2 m2 V 1y ' =V 1y + (V 2x⋅n x +V 2y⋅n y )−(V 1x⋅n x +V 1y⋅n y ) )⋅n y ( m1 + m 2 2 m1 V 2x ' =V 2x + (V 1x⋅n x +V 1y⋅n y )−(V 2x⋅n x +V 2y⋅n y ) )⋅n x ( m1 + m 2 2 m1 V 2y ' =V 2y + (V 1x⋅n x +V 1y⋅n y )−(V 2x⋅n x +V 2y⋅n y ) )⋅n y ( m 1 + m2