Naturlagar i cberrme VT 005 Lektio Föreläsig Rörelselagar och simulerigar - ett steg i taget r(t) (t) Marti Seri Istitutioe för fsik Umeå uiersitet Morgogois Rörelse Rörelselagar Krafter Eergi Numeriska metoer Eempel Lab : Hoppae bilar Dages föreläsig Partikel Lägesektor: Hastighetsektor: Acceleratiosektor: r(t)=[(t),(t),(t)] (t)=[ (t), (t), (t)] =[a (t),a (t),a (t)] r(t) (t) = r t a = t Acceleratioe ager hur hastighete föräras i storlek och riktig. Källa till hastighetsförärigar är krafter. E partikels egeskaper: { m, r, } Rätlijig Cirkulär Oregelbue
Rörelselagar Newtos lag m m t = a = F r(t) (t) = r t Rätlijig Cirkulär Oregelbue Graitatio mm F = G r Fjäer F = k ( ) Friktio Krafter m F M Nära jorta m F mg F M g = G r F Jor F f F Glifriktio Ff = µ F F l Fl Luftmotstå = C Simulerigsloope Iitialiserig a ärl och objekt Kraftberäkig ( ttre krafter) Haterig a tåg Haterig a kollisioer Kollisios-etektio Kollisios-respos Numerisk ekatiosslösare (stega fram i tie) Visualiserig Efteraals
Numeriska metoer Rörelselagar = oriära ifferetialekatioer Lösig till ekatio = beskriig a Diskretisera ti t { t, t,..., t, t,...} = { t, t,..., t,( + ) t,...} + r() { r, r,..., r, r,...} t + () {,,...,,,...} t + r(t) (t) a() { a, a,..., a, a,...} t + Eulers meto r + r r+ + Numerisk approimatio a eriator r r r+ r = = t t t + a = = t t t () Eulers algoritm Frå e umeriska approimatioera () följer = + ta + r = r + t + är a = F / m F = F( t,, ) () 3
Eempel : Fritt fall r(t) (t) F = [0,0, mg] + = + ta,,, + = + t a = F / m F,,, = mg Startäre i t=0: 0 =0 m,,0 =0 m/s Tag: g=0 m/s, t=0.5 s m= kg 3 4 5 t 0.5.0.5.0.5 0 0-0.5*5 -.5-0.5*(5+5) -7.5-0.5*(5+5+5) -5-0.5*(5+5+5+5), -5-5-5-5-5-5 -5-5-5-5 -5-5-5-5-5 a, -0-0 -0-0 -0 Eempel : Bughopp (t) F = [0,0, mg k ( + )] Me a häer här? + = + ta,,, + = + t a = F / m,, F = mg ( k/ m)( + ), m=, k=0, g=0, =5; DT=0.05, N=00 Numeriskt fel och umerisk istabilitet Approimatioera meför umeriska fel. r r = + O t = t t t + O t r r + t O( t = + + ) r+ r ( ) ( ) + t t + Normalt ka essa göras acceptabelt små (om ma äljer tillräckligt små tissteg). Me, för fjäerkrafter och Eulers algoritm så ackumuleras fele och äer (epoetiellt) me tie. t 4
Leap Frog-algoritme Att älja umerisk meto r t r r t + = + / + (a) (b) (c) Leap Frog-algoritme = + ta + / / r = r + t + + / (a) (b) (c) t t +/ t + t Euler s Leapfrog Matlab pseuoko Eergibearig ett sätt att upptäcka fel och istabiliteter? Geom att stuera kosererigslagara, t.e. eergis bearae (i fråaro a friktio) Euler Rörelseeergi Ek = m Potetiell eergi Ep = mg Fjäereergi ( ) Efjäer = k + Total eergi Etot = Ek + Ep + Efjäer Leap Frog Lab : Hoppae bilar Att simulera e bil: Välj moell! Ite för etaljera. Det tar för mcket beräkigsti. Tillräckligt etaljera för att ara realistisk. Va sftar simulerige till? 5
Niå Kostat hastighet lägs kura =H(). Då acceleratioe a är större ä tgacceleratioe i ormalriktige lättar bile. Fritt fall. Bile laar på backe ige. a mg Niå är eempel på hur ma ite bör göra atorsimulerigar. Me är e bra första öig! Hastighet lägs kura () t = [ t (), H( t ())] H = [, ] = =,, t = t t t t ( '( ) ) = + = + H = + H'( ) = H'( ) + H'( ) (t) Eempel 6
Niå Tågskrafter Då tgacceleratioe otillräcklig som tågskraft lättar bile Mer aacera terräg Iteraktiitet Tågskrafter - För ig som gillar att leka Gu Eempel på tåg Staa i e pukt! mg Läma ite kura! Häg ihop me e ara partikel! L Staa i boe! Detta ka uppås geom att simulera e krafter i erklige ligger bakom. Sårt och ger ofta åligt resultat! Me tågskrafter räkar ma istället bakläges. Vilke är e kraft som behös för att tåget ska ara uppfllt? Detta är ite fusk! Det är kraftfull moellerig. Eempel på tåg - Staa i e pukt! F= Fet + F c r() t p = 0 F = F tåg tåg På motsarae sätt ka tåg läggas på att ett objekt ska följa e kura, eller ara fäst i aat objekt leer, os. Förel: ka ekelt kombieras me olika krafter och iteraktiitet, s större möjligheter till moularitet et 7
Att aäa tågskrafter Formulera positioståg c ( r) = 0 Gissa e tågskraft så att totala krafte är F=F et +F t. Acceleratioe är a=f/m F = λ t För att bestämma tågskrafte ka u behöa utttja tiseriator a tåget c ( r,,...) = 0 c ( ar,,,...) = 0.. och att tågskrafte ite ska tillföra eller miska eergi F =0 t Stega me lage som aligt m = F t Vi beho, ikluera errorkorrektio (ämpa fjäer) λ λ κsc κc c ( r) = 0 Eempel: pukt-på-lije tåg Formulera positioståg ikelräta astået till kura ska ara oll! c = r = 0 Tiseriator ger hastighets- och acceleratioståg c = =0 c = a = 0 Iför tågskraft F=F et +F t och aä a=f/m Vi gissar att tågskrafte bör ara ikelrät mot kura: Ft =0 Acceleratioe i ikelräta riktige ska ara oll 0 m ( ) et t = F + F Stega me lage m = F t Vi beho, ikluera errorkorrektio λ λ κ c κ c s F = λ t λ = F F = ( F ) et r t et 8
Eempel Tåg c = p= 0 c = L= 0 4 c = L = 0 5 3 Va uttrcker etta? Jo, Eempel iå 9
Euler s Leap Frog Matlab pseuoko Leap Frog _ol=x; f_ol=... _ol=v-(f_ol/m)*dt/; for =:NS f=... _ol) % Iitial coitios % Force calculatio % half backwars Euler step to get _{-/} % Mai loop % Force calculatio (ma iole _ol a _ew=_ol+(f/m)*dt; % Upate elocit _ew=_ol+_ew*dt; % Upate positio... e Morgogois Weistei, Tera & Fekiw 006 0