Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 6 mei 2014
Bijeenkomst 5 Onderwerpen Het maken van een model Numerieke integratie Grafische weergave 6 mei 2014 1
Voorbeeld: sprong van een rots Wanneer iemand van een rots springt valt die naar beneden. Zijn snelheid wordt steeds groter maar deze neemt steeds minder snel toe door de luchtwrijving. We stellen een krachtenbalans op: Op de persoon werken twee krachten: de gravitatiekracht (zwaartekracht) F grav en de weerstandskracht F w. Volgens de tweede wet van Newton is de resulterende kracht F tot gelijk aan de som van deze twee krachten. 6 mei 2014 2
We kiezen de valrichting als de positieve richting. Neem aan: g is de valversnelling [m/s 2 ] k is de wrijvingscoëfficiënt [N/(m/s 2 )] m is de massa van de vallende persoon [kg] Veronderstel verder dat a ([m/s 2 ]) de versnelling, v ([m/s]) de snelheid en s ([m]) de positie is van de vallende persoon en dat de wrijvingskracht kwadratisch toeneemt met de snelheid. 6 mei 2014 3
Strict genomen zijn deze krachten vectoren en hebben ze een x, y en soms een z component. Omdat de bewegingsrichting verticaal is hoeven we alleen rekening te houden met de krachten in de verticale richting. 6 mei 2014 4
We vinden: met F tot = F grav + F w F grav = mg en F w = kv 2 zodat m a = m g k v 2 en dv dt = a = g k m v 2 6 mei 2014 5
Dit is een eerste orde differentiaalvergelijking in v, die exact kan worden opgelost door de variabelen te scheiden (zie: [3, 9.3]) Maar nu gaan we een numerieke integratiemethode toepassen (Voorwaarts Euler (zie: [3, 9.2] en [4, chapter 6]) Er zijn veel integratiemethoden! Wij bekijken de eenvoudigste maar die levert niet altijd goede resultaten op. 6 mei 2014 6
Veronderstel dat s(t) en v(t) op een zeker tijdstip t bekend zijn. Dan a(t) = g k m v(t)2 en daarmee kunnen we een schatting van v(t + t) en s(t + t) bepalen. Namelijk: s(t + t) = s(t) + v(t + t) = v(t) + t+ t t t+ t t v(s)ds v(t) t en a(s)ds a(t) t 6 mei 2014 7
Hieruit volgt: Zijn t 0 = 0, s 0 = s(0), v 0 = v(0), a 0 = a(0) (kan worden berekend!) en t i+1 = t i + t, verder s i, v i, a i benaderingen van s(t i ), v(t i ) en a(t i ) i = 1, 2,... dan: s i+1 = s i + v i t v i+1 = v i + a i t i = 0, 1,... 6 mei 2014 8
vb5-1 m = 80 gewicht vallende persoon g = 9.81 valversnelling k = 0.30 weerstandsconstante s(0) = 500 hoogte val (in m) v(0) = 0 dt = 0.01 stapgrootte methode Stopcriterium: aankomst op de grond, hoe lang dat duurt is onbekend. We stoppen als s i+1 < 0 en s i 0. 6 mei 2014 9
Voorbeeld: massa-veer-dempersysteem We bekijken de situatie hiernaast en vragen ons af wat het effect is van een drempel in het wegdek op verschillende wielen en dempers. c k 6 mei 2014 10
Er werken op dit systeem drie krachten: de gravitatiekracht (zwaartekracht) F grav en c de dempingskracht F d en de veerkracht F v. k Deze krachten werken alleen in verticale richting! Toepassing van de tweede wet van Newton geeft dat de resulterende kracht F tot gelijk is aan de som van deze drie krachten. 6 mei 2014 11
Neem aan: g is de valversnelling [m/s 2 ] k is de dempingscoëfficiënt [N/(m/s 2 )] c is de veerconstante [N/m] m is de massa op de demper en de veer [kg] Veronderstel verder dat a ([m/s 2 ]) de versnelling, v ([m/s]) de snelheid en s ([m]) de positie is van de massa, dat de dempingskracht evenredig is met de vertikale snelheid en de veerkracht evenredig is met de verticale verplaatsing. 6 mei 2014 12
[ x ] [ vx ] [ ax ] Laat s = y, v = v y en a = a y met x, v x en a x de verplaatsing, snelheid en versnelling in horizontale richting en en y, v y en a y de verplaatsing, snelheid en versnelling in verticale richting. Als de veer door oplegging van de massa y 0 m is ingekort dan vinden we dat in verticale richting geldt: F tot = F grav + F d + F v 6 mei 2014 13
met F grav = mg, F d = k(y y0) en F v = c(y y 0 ) Er geldt dus: m (y y 0 ) = m g k (y y 0 ) c(y y 0 ) Omdat het systeem op tijdstip t = 0 in evenwicht is geldt: 0 = mg + cy 0 zodat m a y = k v cy en dv dt = a y = k m v y c m y 6 mei 2014 14
Beweegt het wiel over de weg met een constante snelheid dan a x = 0 en v x is constant. Hieruit volgt: is t 0 = 0, [ ] [ ] [ ] [ ] x0 x(0) vx0 vx (0) =, =, y 0 y(0) vy 0 v y (0) [ ] [ ] ax0 ax (0) = en t i+1 = t i + t en zijn ay 0 a y (0) [ ] [ ] [ ] xi vxi axi,, benaderingen van y i vy i ay i [ ] [ ] [ ] x(ti ) vx (t i ) ax (t i ),, i = 1, 2,... dan: y(t i ) v y (t i ) y y (t i ) 6 mei 2014 15
x i+1 = x i + vx i t y i+1 = y i + vy i t vx i+1 = vx i + ax i t vy i+1 = vy i + ay i t i = 0, 1,... 6 mei 2014 16
vb5-2 m = 20 gewicht dat rust op demper en veer [kg] c = 10 veerconstante [N/m] k = 10 dempingsconstante [N/(m/s 2 )] sx = sy = 0 startpositie [m] vx = 100 snelheid wiel [Hz] (aantal omwentelingen wiel per min) omtrek = 199.33 omtrek wiel [cm] vy(0) = 0 beginsnelheid in verticale richting [m]) s0 = 50 afstand tot de drempel [m] s end = 100 totale afstand die wordt afgelegd [m] h = 0.05 hoogte van de drempel [m] dt = 0.01 stapgrootte methode [m] 6 mei 2014 17
Stopcriterium: aankomst op de grond, hoe lang dat duurt is onbekend. We stoppen als s i+1 < 0 en s i 0. 6 mei 2014 18
Weerstand D x D = V x V D x = D V V x en D y D = V y V D y = D V V y De weerstandskracht is tegengesteld aan de snelheid, let op het min-teken! 6 mei 2014 19
Gravitatie Pas op, de gravitatiekracht hangt van de plek af! 6 mei 2014 20
En heb je pech... dan moeten rechthoekige coördinaten worden omgezet in poolcoördinaten of omgekeerd. x = r cos(θ) met r 0 y = r sin(θ) (Zie: [3, 10.3]) 6 mei 2014 21
Gebruik de opdracht atan2(y, x) uit de math module om de hoek bij gegeven x en y uit te rekenen! Er wordt dan een hoek gevonden in het interval [ π, π ) De opdracht atan(x) geeft de hoek in tangens x is. ( π 2, π ) waarvan de 2 6 mei 2014 22
Opdracht Bewaar de oplossing van het ballistische probleem voor donderdag. Dan kan het goed gebruikt worden voor het vervolg hiervan. 6 mei 2014 23
Jacco Hoekstra: Programming and Scientific Computing in Python (Version 3.10), Artikelnummer: 0691770043. David C. Lay: Linear Algebra and Its Applications (fourth edition), Pearson (2013), ISBN-13: 978-1-292-02055-6. James Stewart: Calculus, Early Transcedentals (seventh edition), Cengage Learning (2012), ISBN-13: 978-0-538-49887-6. C.Vuik, P. van Beek, F. Vermolen en J.van Kan: Numerical Methods for Ordinary Differential Equations, VSSD (2007), ISBN-13: ISBN 978-90-6562-156-6. 6 mei 2014 23