Realistisk simulering och visualisering av uider

Storlek: px
Starta visningen från sidan:

Download "Realistisk simulering och visualisering av uider"

Transkript

1 Realistisk simulering och visualisering av uider Linköpings Universitet 9-- ITN, VT9 TNM85 Modelleringsprojekt Mihai Aldén, Lam Chan, Marcus Olsson & Max Popescu &

2 Sammanfattning I dagens Hollywood-produktioner används ofta vattensimuleringar då det är svårt att hantera riktigt vatten under inspelning. Framförallt är det inte kontrollerbart. I många fall är det helt enkelt omöjligt att få vatten att uppföra sig som manus kräver. Under projektets gång har vi har lyckats göra en realistisk simulering av vatten med hjälp av Navier-Stokes-ekvationerna, level set-metoden, voxelklassiciering och implicita ytor för att denera uidvolymen. För att visualisera uidvolymens yta används en metod som heter Marching Cubes. Metoden triangulerar mellan uidvoxlar för att generera punkter som denerar de polygoner som bygger upp ytan. Sedan exporteras den geometriska ytan, för varje tidssteg i simulationen, till objekt ler (.obj) för vidare behandling i Autodesk D Studio Max.

3 Förord Detta är ett projekt i kursen TNM85 Modelleringsprojekt som pågått under sju veckor. Civilingenjörsprogrammet i Medieteknik, tredje året, Linköpings Universitet. Vi vill tacka Ola Nilsson (LiU Graphics Group) för utmärkt handledning, tålamod och en perfekt beskrivning av både Navier-Stokes ekvationerna och level set metoden i sin helhet.

4 Innehållsförteckning Inledning. Syfte Metod. Beteckningar Voxlar och voxelrymden Fluidvolymen Tidssteget Navier-Stokes-ekvationerna 4. Yttre krafter Advektion Diusion Projektion Dirichlet gränsvillkor Level set-metoder 4. Implicita ytor Logiska operatorer Advektion Utvidgning av hastighetsfältet Dissipation Implementering 4 5. Simuleringen Export Postproduktion Resultat 5 7 Diskussion 6 7. Förbättringar Litteraturförteckning 7 A Simuleringsprogrammet 8

5 Figurer. Voxlar och voxelrymden Illustration av advektionssteget Illustration av öde mellan voxlar Illustration av öde vid solida voxlar Innan applikation av Dirichlet gränsvillkor Applikation av Dirichlets gränsvillkor Explicit representation av en cirkel Implicit representation av en cirkel Logiska operatorer Simulering till lm Vatten i glastank A. DFluidSim

6 Kapitel Inledning Fluidsimuleringar är ett område som det har lagts mycket tid och energi på att förstå och visualisera på ett visuellt tillfredsställande sätt. Trots det nns det många problem som fortfarande saknar bra lösningar. I det här projektet undersöker vi de mest grundläggande koncepten för visualisering av uidsimuleringar och vilka problem som existerar. Att modellera vattenpartiklar för hand är i princip omöjligt pågrund av komplexiteten av ett vattenöde. Det behövs alltså en metod för att simulera vatten på ett trovärdigt och eektfullt sätt, som samtidigt är kontrollerbart till en väldigt hög grad.. Syfte Detta arbete ger en inblick i hur man representerar en verklighetstrogen vätska med hjälp av fysikaliska samband och modeller tillsammans med dagens visualiseringstekniker.

7 Kapitel Metod. Beteckningar I rapporten betecknas vektorer i fetstil, vektorfält med versaler och fetstil och skalärer med gemener.. Voxlar och voxelrymden För att kunna representera diskreta värden i tre dimensioner måste vi först deniera ett rum som vi kan använda i vår simulering. Ett tredimensionellt rutnät hjälper oss att diskretisera rummet genom att dela upp rummet i lika stora volymelement. Volymelementen kallar vi för voxlar och det hela diskretiserade rummet för voxelrymd, se gur.. DimY En voxel DimZ DimX y Voxelrymd z x Figur.: Voxlar och voxelrymden Beroende på hur vi denierar voxelrymden är det möjligt att ge voxlarna olika sidlängder. I vår simulering räknar vi på voxlar som kuber med sidlängden, ( x = y = z = ).

8 En högre voxelrymdsupplösning resulterar i en mer detaljerad simulering men det ökar även antalet beräkningar.. Fluidvolymen I vår voxelrymd denierar vi uidvolymen med level set-metoden (se kapitel ). Fluidvolymen deformeras och rör sig enligt hastighetsfältet V som beräknas vid diskreta tidpunkter t i voxelrymden med Navier-Stokes-ekvationer (se kapitel ). Hastighetsfältet uppdateras enligt följande steg, som förklaras i detalj i senare kapitel externa krafter advektion V V utvidgning av hastigheter V 5 V V t. diffusion V dirichlet villkor projektion V 4 V 4 dirichlet villkor.4 Tidssteget Många partiella dierentialekvationer (PDE) löses explicit i vår metod, därför är de inte stabila för alla tidssteg. På grund av detta måste vi räkna ut ett stabilt tidssteg t enligt Courant Friedrichs Lewy-villkoret (CFL). CFL säger att t ska vara tillräckligt liten för att den största föryttningen i hastighetsfältet ska vara mindre än sidlängden av en voxel, enligt ekvation (.). t = C x max V (.) där C är en konstant som skalar om CFL-tidssteget för att simulera mindre förändringar. I vår simulering har vi funnit att ett bra värde på C ligger mellan.5 och.7. t kommer att minska för stora hastigheter vilket resulterar i att vi inte missar små förändringar i hastighetsfältet.

9 Kapitel Navier-Stokes-ekvationerna Målet med vår simulering är att få en fysikaliskt korrekt modell av hur en uid rör sig och interagerar med andra solida objekt eller andra uider. Den allmänt vedertagna metoden för att simulera uider är med hjälp av Navier-Stokes-ekvationerna (.) som beskriver uidens hastighetsfält för godtyckliga tidpunkter. V t = (V ) V p ρ + v V + F (.) I ekvation (.) är V ett vektorfält som representerar hastighetsfältet för vår uid, p är ett skalärfält som representerar trycket, koecienten υ är uidens viskositet och F är ett vektorfält som representerar de externa krafter som verkar på uiden. är nablaoperatorn som är denierat enligt = (δ/δx, δ/δy, δ/δz) och Laplaceoperatorn = = (δ /δx, δ /δy, δ /δz ). Vi förenklar problemet genom att anta att vår vätskevolym är inkompressibel, det vill säga att den har en konstant densitet genom hela simuleringen. I verkligheten är inte detta riktigt sant eftersom alla uider (även vatten) ändrar sin volym. Annars skulle vi till exempel inte kunna höra under vatten. Men eftersom dessa förändringar sker på ett mikroskopiskt nivå, kommer det inte att resultera i någon visuell märkbar förändring. För att uppfylla detta krav måste vi komplettera Navier-Stokes-ekvationerna med villkoret (.). V = (.) Ekvation (.) säger att hastighetsfältets divergens måste vara noll. För uidvolymen betyder detta att förändringen i volym alltid är noll. För att bättre förstå hur Navier-Stokes-ekvationerna fungerar delar vi upp systemet i mindre delar och tittar på varje del för sig. För en mer detaljerad genomgång av Navier- Stokes-ekvationerna refererar vi till [].. Yttre krafter Vi börjar med den enklaste delen av Navier-Stokes-ekvationen, yttre krafter. Vi skalar ett fält F, innehållandes de externa krafterna, med ett tidssteg och adderar fältet på vårt 4

10 hastighetsfält V enligt ekvation (.). V n+ = V n + t F (.). Advektion Den första termen i ekvationen (.) kallas för advektionen. Advektion kan lättast beskrivas som det sätt en vätska föryttar sig själv. Denna term är nödvändig för att behålla uidens rörelse, se ekvation (.4). V n+ t = (V n ) V n (.4) Detta steg skulle kunna lösas genom en explicit Euler-integration. Problemet med att integrera explicit är att metoden blir instabil vid stora tidssteg. För att undvika instabilitet går det istället att beräkna var den nuvarande partikeln befann sig i förra tidssteget. Denna metod kallas för implicit Euler-integration och kommer vara villkorslöst stabil för godtyckliga tidssteg. Vi kan formulera ekvationen (.5) där x är den nuvarande partikelns position och t är tiden. V (x, t + δt) = V (x V (x, t) t, t) (.5) När man räknat ut vart partikeln befann sig förut är det sällan den ligger exakt på en punkt i rutnätet. Därför måste man interpolera fram en ny hastighet från de närliggande cellerna. Då vi förutsätter att läsaren har redan har kunskap om interpolation, kommer vi inte ta upp det i vår rapport. För en bra introduktion av interpolation i tre dimensioner rekommenderas []. Figur.: Illustration av advektionssteget. 5

11 . Diusion I alla uider nns det en inre friktion som påverkar hur trögytande uiden blir. Denna friktion kallas för viskositet och motverkar ödet i uiden, vilket medför att hastigheten i uidens öde utjämnas till medelvärdet i omgivningen. Ju högre viskositet desto mer trögytande blir uiden. Sirap är mer trögytande än vatten, det vill säga sirap har högre viskositet än vatten. Den tredje termen i Navier-Stokes-ekvationen är den del av ekvationen som får vår uid att bete sig efter detta fysiska fenomen. Denna term i Navier- Stokes-ekvation bestämmer hur trögytande uiden blir och kallas för viskositetstermen eller diusionstermen, se ekvation (.6). V t = υ V (.6) I ekvation (.6) är det koecienten υ som bestämmer hur trögytande uiden blir. Viskositeten i en uid blir mer trögytande om υ har ett högre värde. Det nns många olika numeriska metoder som löser denna ekvation. Foster och Metaxas [] använde sig av ett explicit Eulersteg efter att först ha diskretiserat Laplaceoperatorn. Denna metod är dock instabil för hög viskositet. I Stam [4] beskrivs en stabil metod för diusion av densitet. Metoden går ut på att, efter diusion, kunna återgå till den densitet man hade från början då diusion sker bakåt i tiden istället. Den sökta densiteten bildar ett linjärt ekvationssystem som går att lösa genom att hitta matrisinversen till systemet. Istället används en iterativ metod, Gauss-Seidels relaxationsalgoritm, till att invertera matrisen..4 Projektion Sista steget i Navier-Stokes-algoritmen är projektionen. För att bevara uidens volym måste ekvation (.) upprätthållas, den säger att uiden är inkompressibel, det vill säga att hastighetsfältet måste vara divergensfritt. För att lösa detta använder vi Helmholtz- Hodge-dekompositionsteorem [5] som säger att ett vektorfält kan delas upp i två delar, en virvelfri del, q, som har divergens och en divergensfri del, u. Vi vill lösa ut den virvelfria delen q från hastighetsfältet V genom: V = u + p (.7) V = u + q (.8) V = p (.9) Ekvation (.9) är en Poisson-ekvation som ger den virvelfria delen q av hastighetsfältet. För att lösa ekvationen måste vi diskretisera ekvationen. Vi börjar med divergensen i vänsterledet, ekvation (.). V i,j,k = u i+,j,k u i,j,k x + u i,j+,k u i,j,k y + u i,j,k+ u i,j,k+ z (.) där u, v, och w är hastighetskomponenterna i, x-, y- och z-led eftersom våra voxlar är 6

12 likformiga ( x = y = z) kan vi skriva om ekvationen enligt ekvation (.). V i,j,k = x (u i+,j,k u i,j,k + u i,j+,k u i,j,k + u i,j,k+ u i,j,k+ ) (.) I högerledet har vi Laplaceoperatorn som är applicerat på ett skalärfält q, där q kan ses som trycket i varje voxel. Ekvationen kan tolkas som divergensen av skalärfältets gradient och beskriver utbytet av öde mellan voxlarna där mängden som utbyts bestäms av divergensen i fältet q (se gur.). i,j+,k i-,j,k i,j,k i+,j,k i,j-,k Index Flöde Figur.: Illustration av öde mellan voxlar. Vi diskretiserar Laplaceoperatorn enligt följande: q i,j,k = ( x) (q i+,j,k + q i,j,k + q i,j+,k q i,j,k + q i,j,k+ + q i,j,k+ 6q i,j,k ) (.) Efter diskretiseringen kan ekvation (.9) skrivas om till ett linjärt ekvationssystem som har en lösning för varje voxel. Ax = b (.) där A-matrisen är Laplaceoperatorn, x = q och b = hastighetsfältets gradient. A-matrisen innehåller en rad och en kolumn för varje uidvoxel, detta resulterar i en gigantisk matris. Tack vare av diskretiseringen kommer dock varje rad i A maximalt innehålla 7 element skilda från noll. Ett element för varje intilliggande voxel i x-, y- och z-led plus ett som representerar den voxel man bener sig i. Detta går att utnyttja när man räknar fram inversen med conjugate-gradient-metoden [6]. A-matrisen är den diskreta representationen av Laplaceoperatorn. För att lösa ekvationsystemet måste vi bygga upp A-matrisen på ett speciellt sätt för att öden mellan uidvoxlar och solida voxlar inte ska tillåtas. Detta för att uiden inte ska öda in i solida voxlar. Vi skriver om ekvation (.) på vektorform för att enklare se hur en 7

13 Luft voxlar Fluidvoxlar i,j-,k i,j,k i,j-,k Solida voxlar Figur.: Illustration av öde vid solida voxlar. rad i A-matrisen ser ut då alla intilliggande voxlar är uidvoxlar, se ekvation (.4). q i+,j,k q i,j,k q i,j,k = [ ] q i,j+,k 6 ( x) q i,j,k (.4) q i,j,k q i,j,k+ q i,j,k Här nns det inga solida voxlar i närheten och utbyte av öde tillåts med alla intilliggande voxlar. Men om vi benner oss i en voxel X i,j,k (se gur.) som har solida voxlar runt sig, måste vi se till att uiden inte ödar in i de voxlarna. Eftersom voxel X i,j,k och X i,j,k är solida, stoppar vi ödet dit genom att ta bort de komponenter i Laplaceoperatorn som står för ödet i de riktningarna. Vi gör det genom att sätta q i,j,k q i,j,k = och q i,j,k q i,j,k =, vilket resulterar i följande rad i A- matrisen, ekvation (.5). q i,j,k = [ ] 4 ( x) q i+,j,k q i,j,k q i,j+,k q i,j,k q i,j,k q i,j,k+ q i,j,k (.5) Då summan av alla komponenter på en rad måste vara noll ändrar vi 6 till 4. Om vi benner oss intill en luftvoxel måste vi tillåta att uiden ödar i den riktningen därför gör vi ingenting med Laplaceoperatorns komponenter för den riktningen. 8

14 .5 Dirichlet gränsvillkor Dirichlet gränsvillkor är en operation som ser till att det inte nns några vektorer i hastighetsfältet som pekar mot en intilliggande solid voxel. Operationen körs både före och efter anropet till projektionen, detta för att se till att eventuella vektorer med riktningskomponenter som pekar i icke tillåtna riktningar justeras. Dirichlet gränsvillkor uppfyller ekvation (.6). V n = (.6) där n är normal till den yta som ligger emot voxeln vi benner oss i. För att uppfylla villkoret går vi igenom varje uidvoxel och kontrollerar om någon av de intilliggande voxlarna är en solid. Om detta är sant tar vi bort den hastighetskomponent som pekar i den riktningen, se gur.4. och.5. Fluidvoxlar Solida voxlar Figur.4: Innan applikation av Dirichlet gränsvillkor. Fluidvoxlar Solida voxlar Figur.5: Applikation av Dirichlets gränsvillkor. 9

15 Kapitel 4 Level set-metoder En level set-metod representerar en implicit yta som går att deformera på olika sätt genom att lösa en uppsättning partiella dierentialekvationer. Anledningarna till att man väljer att representera geometriska objekt implicit är många. En implicit yta är väldigt lätt att använda när man utför datorsimuleringar då den ger en sorts fysikalisk garanti att ytan kan skapas. Implicita ytor kan ses som en sluten volym som inte kan överlappa sig själv, vilket är en bra egenskap för uidsimuleringar. För en grundlig genomgång av level set-metoden rekommenderas [7]. 4. Implicita ytor Representationen av implicita ytor kan ses som ett indirekt sätt att representera ytor på. Till skillnad från explicita ytor, där till exempel polygoner eller vertex denierar själva ytan, denieras en implicit yta istället av ett skalärfält som representerar avståndet till ytan. För att enklare förstå skillnaden tar vi och tittar på en hur en cirkel med radien R representeras analytiskt, först explicit (4.) och sedan implicit (4.). x = ± R y (4.) Det vi kan se i 4. är att för varje värde på y, där y tillhör intervallet [ R, R], kommer ekvationens x-värden att medföra att punkterna [x, y] och [ x, y] alltid ligger på cirkel. Som vi ser i gur 4. kan vi ta reda på var cirkeln är men vi kan inte säga något om en godtycklig punkt i planet. Det nns ingen matematisk koppling som beskriver om punkten är innanför eller utanför cirkeln.

16 y?? x Figur 4.: Explicit representation av en cirkel. Om vi istället kollar på den implicita beskrivningen av samma cirkel, ser det ut som ekvation 4.: φ(x, y) = x + y (4.) där funktionen φ(x, y) placerar ut variabler x och y i ett skalärfält. Det vill säga att den tilldelar en skalär till varje punkt i (x, y)-planet. För att kunna hitta vår cirkel måste vi kolla på ett specikt isometrisk värde h i skalärfältet. Genom att välja alla värden i skalärfältet där φ(x, y) = h kan vi skära ut en delmängd S av hela (x, y)-planet. Denna delmängd kallas för ett level set av den implicita funktionen φ(x, y, R) och kan då denieras enligt 4.: S = { x, y R : φ(x, y) = h } (4.) Isometriska värdet h representerar alltså den implicita ytans yta. Oftast vill man sätta ytans värde till (h = ). Detta för att enkelt kunna deniera vilka punkter som är innanför eller utanför den implicita ytan. Vi kan nu enkelt klassicera en godtycklig punkt x(t) vid tidpunkten t som innanför eller utanför den implicita ytan med hjälp av (4.4) och (4.5) S inne = { x(t) R : φ(x(t)) <= } (4.4) S ute = { x(t) R : φ(x(t)) > } (4.5) Man kan också se det som att den implicita ytan är ett gränssnitt som separerar vårt skalärfält i två regioner, en utsida och en insida där varje skalärvärde representerar avståndet till närmaste punkt på cirkeln, se gur 4..

17 y x Figur 4.: Implicit representation av en cirkel. 4. Logiska operatorer För att konstruera mer komplicerade geometriska objekt används logiska operatorer för att kombinera era implicita ytor. Dessa kan klassiceras som tre huvudtyper: union, snitt och dierens. I gur 4. har vi illustrerat två implicita cirklar A och B, som deformeras med de logiska operatorerna. Union Differens (A-B) A B + - Snitt Figur 4.: Logiska operatorer. 4. Advektion För att få den implicita ytan att röra sig, måste vi tillämpa ett advektionssteg. Teorin är densamma som hos advektion för hastighetsfältet men istället för att förytta hastigheter i ett vektorfält, ändrar vi värden i ett skalärfält. Ekvation (4.6) svarar för denna transport. δφ δt = V φ (4.6) där φ är en kontinuerlig implicit funktion och V är ett hastighetsfält. Det som skiljer det här advektionssteget från advektionen i Navier-Stokes-ekvationen (.) är diskretiseringen. När man diskretiserar ekvation (4.6) måste man ta hänsyn till hastighetsfältets

18 riktning vid deriveringen, detta för att inte derivera med avseende på punkter som uiden inte har rört än. Ekvationssystemet (4.7) visar hur diskretiseringen ser ut för x-komponenten. För att beräkna gradienten φ i+,j,k måste varje dimensions komponent x, y och z deriveras på samma sätt. δφ δx = { φ + x = (φ i+,j,k φ i,j,k )/ x om V x < φ x = (φ i,j,k φ i,j,k )/ x om V x > (4.7) Efter att man har räknat ut gradienten φ i,j,k för en voxel i den implicita ytan, måste förändringshastigheten beräknas genom att beräkna skalärprodukten av hastighetsvektorn V i,j,k och gradienten φ i,j,k.till sist kan en explicit Euler-integration (4.8) användas för att ytta den implicita ytan. δφ δt φn+ φ n t (4.8) 4.4 Utvidgning av hastighetsfältet Eftersom hastighetsfältet V endast är denierat i uidvoxlarna som är klassicerade som de voxlar som nns inuti den implicita ytan, kommer den implicita ytan att stå stilla. Detta för att det inte nns några hastigheter utanför ytan som den kan förytta sig längs med. För att lösa detta måste vi utvidga hastigheterna precis innanför ytan till voxlarna utanför. Utvidgningen av hastigheterna sker i riktningen av ytans normal och ser till att det alltid nns en hastighet precis utanför ytan, vi löser detta med ekvation (4.9). δv δt = N V (4.9) där N är ett vektorfält som innehåller alla ytnormaler. Diskretiseringen sker enligt samma principer som level set advektionen. 4.5 Dissipation Som ett resultat av alla approximationer som används vid de olika diskretiseringsstegen kommer uiden att förlora en del volym. Det nns många olika lösningar för att lösa detta. En metod som löser dissipationen nästan helt är 'hybridmetoden' som använder level set-metoden i kombination med ett partikel system, se [] för mer information. Vi löste problemet med ett enklare sätt. Vid initieringen beräknar vi istället initialvolymen för uiden och räknar sedan ut den resterande volymen efter varje steg. Därefter kan man återinföra lite volym överallt i uiden för att bevara den totala volymen. För att återinföra volym i uiden kan man manipulera Poisson ekvationen (.9) genom att minska divergensen V. Detta medför att det ödar ut mer ur varje cell.

19 Kapitel 5 Implementering 5. Simuleringen Simuleringsprogrammet är skrivet i C++. För visualisering har använder vi ramverken OpenGL och GLUT för att koden ska vara plattformsoberoende. Vi kompilerar programmet för Apple OSX och Microsoft Windows. 5. Export För att visualisera den implicita volymens yta använder vi en metod som heter cubes, marching se [8, 9]. Metoden triangulerar mellan uidvoxlar för att generera punkter som de nierar de polygoner som bygger upp ytan. Sedan exporterar vi ut den geometriska ytan för varje tidssteg i simuleringen till objekt ler (.obj). 5. Postproduktion För att få en mer realistisk visualisering väljer vi att använda Autodesk D Studio Max. Ds Max innehåller avancerade metoder för ljussättning, material och rendering som ger ett realistisk resultat. Till Ds max importerar vi de objekt ler som simuleringsprogrammet exporterar för att rendera ut realistiska lmer och bilder. Figur 5. visar alla produktionssteg. D FLUID SIMULATION Menu Start simulation OFF Export image OFF Export objects ON OBJ Mihai Aldén, Lam Chan, Marcus Olsson & Max Popescu bildruta bildruta DFluidSim. OBJ. Simulering Autodesk Ds Max. Objekt filer 4. Rendering Figur 5.: Simulering till lm. 4 Publicering

20 Kapitel 6 Resultat Efter simulering, export och efterbehandling i D-program är resultatet en realistisk uid, i vårt fall vatten i en glastank, se gur A.. Ray-tracing, ambient occlusion samt subscattering surfaces används i bildbehandlingen. Figur 6.: Vatten i glastank. 5

21 Kapitel 7 Diskussion Innan projektet hade vi bara ögon på hur vi skulle få Navier-Stokes-ekvationerna att fungera. Det fanns mycket information om just uidsimuleringar i artiklar och uidsimuleringen var därmed relativt smärtfri att genomföra. När vi sedan skulle ta steget från en fungerande visualisering av hastighetsfältet till en vattenrepresentation med hjälp av level set-metoden, insåg vi att det var mycket mer omfattande än vad vi ursprungligen räknat med. Teorin bakom level set-metoden är väldokumenterad men det var betydligt mer komplicerat att implementera metoden. Vi började med att tillämpa Stams [, 4] metod men den visade sig snart vara olämplig för vår vätskesimulering. Metoden vi använde oss av istället, var betydligt mer komplicerad då den krävde att vi implementerade Navier-Stokes och level set parallellt. Vårt simuleringsprogram kan användas till att simulera olika situationer. Vår uid kan initieras vid olika höjder och falla under påverkan av gravitationen. Solida objekt kan denieras som vår uid kan interagera med. 7. Förbättringar I vår simulering har vi löst problemet med volymförlusten genom att öka ödet ur voxlarna. Detta är egentligen en ologisk lösning och ansträngningar välkomnas att lösa det på ett bättre sätt. Fedkiw [] presenterade en hybridmetod där man hittar ytan med hjälp av både level set och en partikelbaserad lösning. Metoden löser dock inte volymförlusten helt och hållet men minskar den avsevärt. Inte nog med att vi förlorar volym, vi förlorar även energi i vår simulering. Så kallad "vorticity connementlöser detta genom att lägga till den förlorade energin tillbaka i ödet. Resultatet blir en bättre bevaring av virvlar. I den nuvarande simuleringen görs beräkningar över hela rymden som kan eektiviseras genom att implementera en datastruktur som delar upp beräkningarna mer lokalt. Octrees och KD-trees är exempel på sådana lösningar. Beräkningstiden hade också kunnat sänkas drastiskt om tunga beräkningar hade gjorts på datorns GPU istället. För att implementera Navier-Stokes på GPU rekommenderas []. 6

22 Litteraturförteckning [] Gunnar Johansson, Ola Nillson och Andreas Söderström. Modeling and Animation TNM79, Lab 6: Fluid simulation. Linköpings universitet; 9. [] Wikipedia. Trilinear interpolation. Wikipedia [www]; 9. org/wiki/trilinear_interpolation. Senast hämtad: 9--. [] Nick Foster och Dimitri Metaxas NF. Realistic Animation of Liquids. Artikel, Stanford University; %Foster.pdf. Senast hämtad: 9--. [4] Stam J. Real-Time Fluid Dynamics for Games. Artikel, University of Toronto;. pdf/gdc.pdf. Senast hämtad: 9--. [5] Wikipedia. Helmholtz decomposition. [www]; 9. wiki/helmholtz_decomposition. Senast hämtad: 9--. [6] Wikipedia. Conjugate gradient method. Wikipedia [www]; 9. wikipedia.org/wiki/conjugate_gradient. Senast hämtad: 9--. [7] Gunnar Johansson ONoAS. Modeling and Animation TNM79, Lab 5: Level set methods. Linköpings universitet; 9. [8] Wikipedia. Marching cubes. [www]; 9. Marching_cubes. Senast hämtad: 9--. [9] Bourke P. Polygonising A Scalar Field. [www]; au/~pbourke/geometry/polygonise/. Senast hämtad: 9--. [] Stam J. Stable Fluids. Artikel, University of Toronto; toronto.edu/people/stam/reality/research/pdf/ns.pdf. Senast hämtad: [] Nick Foster och Ronald Fedkiw. Practical Animation of Liquids. Artikel, Stanford University;. stanford-.pdf. Senast hämtad: 9--. [] Fast Fluid Dynamics Simulation on the GPU. Artikel, University of North Carolina at Chapel Hill; 4. ch8.html. Senast hämtad:

23 Bilaga A Simuleringsprogrammet Figur A.: DFluidSim Körinstruktioner. Börja med att välja en simulering. Tryck F6 för att simulera en uid som faller i en glastank. Tryck F7 för att simulera hur en uid interagerar med en solid och sedan en annan uid.. Välj visualisering och export metod. Tryck F för att visa hastighetsfältet. Tryck F4 för att exportera bilder för varje simulationssteg. Tryck F5 för att exportera geometrin till.obj ler.. Starta/Stoppa simualtionen med F. 4. Under simuleringen. Tryck för att lägga till en uidsfär Tryck för att starta en sänka (tömmer vattentanken). Tryck för att aktivera den horisontella vinden. Använd piltangenterna för att ändra vindens riktning. 4. Avsluta programmet med F.

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte Sammanfattning Vi har i kursen Modelleringsprojekt TNM085 valt att simulera ett geléobjekt i form av en kub. Denna består av masspunkter som är sammankopplade med tre olika typer av fjädrar med olika parametrar.

Läs mer

Simulering och visualisering av en Eulerisk fluid på grafikkortet

Simulering och visualisering av en Eulerisk fluid på grafikkortet ITN, Norrköping 20 mars 2011 Simulering och visualisering av en Eulerisk fluid på grafikkortet MODELLERINGS- OCH SIMULERINGSPROJEKT TNM085 Medlemmar: Christopher Birger Henrik Bäcklund Erik Englesson Anders

Läs mer

SF1626 Flervariabelanalys Tentamen Tisdagen den 7 juni 2016

SF1626 Flervariabelanalys Tentamen Tisdagen den 7 juni 2016 Institutionen för matematik SF1626 Flervariabelanalys Tentamen Tisdagen den 7 juni 216 Skrivtid: 8:-13: Tillåtna hjälpmedel: inga Examinator: Mats Boij Tentamen består av nio uppgifter som vardera ger

Läs mer

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A SF1626 Flervariabelanalys Lösningsförslag till tentamen 216-6-7 DEL A 1. Låt S vara ellipsoiden som ges av ekvationen x 2 + 2y 2 + 3z 2 = 5. (a) Bestäm en normalvektor till S i en punkt (x, y, z ) på S.

Läs mer

FFM234, Datoruppgift 2: Värmeledning

FFM234, Datoruppgift 2: Värmeledning FFM234, Datoruppgift 2: Värmeledning Christian Forssén 1 Ulf Torkelsson 2 1 Institutionen för fysik, Chalmers, Göteborg, Sverige, Email: christian.forssen@chalmers.se 2 Astrofysik, Chalmers och Göteborgs

Läs mer

Gel esimulering 22 mars 2008

Gel esimulering 22 mars 2008 Gelésimulering 22 mars 2008 2 Sammanfattning Vi har i kursen Modelleringsprojekt TNM085 valt att simulera ett geléobjekt i form av en kub. Denna består av masspunkter som är sammankopplade med tre olika

Läs mer

Integraler av vektorfalt. Exempel: En partikel ror sig langs en kurva r( ) under inverkan av en kraft F(r). Vi vill

Integraler av vektorfalt. Exempel: En partikel ror sig langs en kurva r( ) under inverkan av en kraft F(r). Vi vill Forelasning 6/9 ntegraler av vektorfalt Linjeintegraler Exempel: En partikel ror sig langs en kurva r( ) under inverkan av en kraft F(r). i vill da berakna arbetet som kraften utovar pa partikeln. Mellan

Läs mer

Elektromagnetiska falt och Maxwells ekavtioner

Elektromagnetiska falt och Maxwells ekavtioner Forelasning /1 Elektromagnetiska falt och Maxwells ekavtioner 1 Maxwells ekvationer Maxwell satte 1864 upp fyra stycken ekvationer som gav en fullstandig beskrivning av ett elektromagnetiskt falt. Dock,

Läs mer

23 Konservativa fält i R 3 och rotation

23 Konservativa fält i R 3 och rotation Nr 23, 7 maj -5, Amelia 2 23 Konservativa fält i R 3 och rotation 23. Potential 23.. Två dimensioner (2D) I två dimensioner definierade vi ett vektorfält som konservativt om kurvintegralen av fältet endast

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism En civilingenjör ska kunna idealisera ett givet verkligt problem, göra en adekvat fysikalisk modell och behandla modellen med matematiska

Läs mer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 9 november 2015 Sida 1 / 28 Föreläsning 3 Linjära ekvationssystem. Invers. Rotationsmatriser. Tillämpning:

Läs mer

Poissons ekvation och potentialteori Mats Persson

Poissons ekvation och potentialteori Mats Persson 1 ärmeledning Föreläsning 21/9 Poissons ekvation och potentialteori Mats Persson i vet att värme strömmar från varmare till kallare. Det innebär att vi har ett flöde av värmeenergi i en riktning som är

Läs mer

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem. Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem. Begrepp som diskuteras i det kapitlet. Vektorer, addition och multiplikation med skalärer. Geometrisk tolkning. Linjär kombination av

Läs mer

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum Johan Helsing, 11 oktober 2018 FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum Inlämningsuppgift 3 Sista dag för inlämning: onsdag den 5 december. Syfte: att träna på att hitta lösningar

Läs mer

Karta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara

Karta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara Föreläsning 1 Jag hettar Thomas Kragh och detta är kursen: Flervariabelanalys 1MA016/1MA183. E-post: thomas.kragh@math.uu.se Kursplan finns i studentportalens hemsida för denna kurs. Där är två spår: Spår

Läs mer

SF1626 Flervariabelanalys Tentamen Måndagen den 21 mars 2016

SF1626 Flervariabelanalys Tentamen Måndagen den 21 mars 2016 Institutionen för matematik SF626 Flervariabelanalys Tentamen Måndagen den 2 mars 26 Skrivtid: 8:-3: Tillåtna hjälpmedel: inga Examinator: Mats Boij Tentamen består av nio uppgifter som vardera ger maximalt

Läs mer

FFM232, Klassisk fysik och vektorfält - Veckans tal

FFM232, Klassisk fysik och vektorfält - Veckans tal FFM232, Klassisk fysik och vektorfält - eckans tal Tobias Wenger och Christian Forssén, Chalmers, Göteborg, Sverige Oct 3, 2016 Uppgift 6.6 (Cederwalls kompendium) Beräkna normalytintegralen av a F 2 [

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

Läs mer

SF1626 Flervariabelanalys Tentamen Tisdagen den 12 januari 2016

SF1626 Flervariabelanalys Tentamen Tisdagen den 12 januari 2016 Institutionen för matematik SF626 Flervariabelanalys Tentamen Tisdagen den 2 januari 26 Skrivtid: 8:-3: Tillåtna hjälpmedel: inga Examinator: Mats Boij Tentamen består av nio uppgifter som vardera ger

Läs mer

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, 010-06-07 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!)

Läs mer

z = 4 + 3t P R = (5 + 2t, 4 + 2t, 4 + 3t) (1, 1, 3) = (4 + 2t, 3 + 2t, 1 + 3t)

z = 4 + 3t P R = (5 + 2t, 4 + 2t, 4 + 3t) (1, 1, 3) = (4 + 2t, 3 + 2t, 1 + 3t) Tentamenskrivning MATA15 Algebra: delprov 2, 6hp Fredagen den 16 maj 2014 Matematikcentrum Matematik NF LÖSNINGSFÖRSLAG 1. Låt l vara linjen genom punkten (5, 4, 4) som är vinkelrät mot planet 2x+2y +3z

Läs mer

ANDREAS REJBRAND 2007-11-03 Elektromagnetism http://www.rejbrand.se. Coulombs lag och Maxwells första ekvation

ANDREAS REJBRAND 2007-11-03 Elektromagnetism http://www.rejbrand.se. Coulombs lag och Maxwells första ekvation ANDREA REJBRAND 2007-11-03 Elektromagnetism http://www.rejbrand.se oulombs lag och Maxwells första ekvation oulombs lag och Maxwells första ekvation Inledning Två punktladdningar q 1 samt q 2 i rymden

Läs mer

TMA226 datorlaboration

TMA226 datorlaboration TMA226 Matematisk fördjupning, Kf 2019 Tobias Gebäck Matematiska vetenskaper, Calmers & GU Syfte TMA226 datorlaboration Syftet med denna laboration är att du skall öva formuleringen av en Finita element-metod,

Läs mer

Linjär Algebra, Föreläsning 8

Linjär Algebra, Föreläsning 8 Linjär Algebra, Föreläsning 8 Tomas Sjödin Linköpings Universitet Linjärkombinationer (repetition) Låt v 1, v 2,..., v n vara vektorer i ett vektorrum V. Givet skalärer λ 1, λ 2,..., λ n R så kallas λ

Läs mer

Integraler av vektorfält Mats Persson

Integraler av vektorfält Mats Persson Föreläsning 1/8 Integraler av vektorfält Mats Persson 1 Linjeintegraler Exempel: En partikel rör sig längs en kurva r(τ) under inverkan av en kraft F(r). i vill då beräkna arbetet som kraften utövar på

Läs mer

Mer om analytisk geometri

Mer om analytisk geometri 1 Onsdag v 5 Mer om analytisk geometri Determinanter: Då man har en -matris kan man till den associera ett tal determinanten av som också skrivs Determinanter kommer att repeteras och studeras närmare

Läs mer

1 x. SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

1 x. SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A SF626 Flervariabelanalys Lösningsförslag till tentamen 26-3-2 DEL A. Låt D vara fyrhörningen med hörn i punkterna, ), 6, ),, 5) och 4, 5). a) Skissera fyrhörningen D och beräkna dess area. p) b) Bestäm

Läs mer

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt MATEMATIK GU H4 LLMA6 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 24 I block 5 ingår följande avsnitt i Stewart: Kapitel 2, utom avsnitt 2.4 och 2.6; kapitel 4. Block 5, översikt Första delen av block 5

Läs mer

δx 1, (1) u 1 + u ) x 1 där den andra termen är hastighetsförändringen längs elementet.

δx 1, (1) u 1 + u ) x 1 där den andra termen är hastighetsförändringen längs elementet. Föreläsning 3. 1 Töjningstensorn I denna föreläsning kommer vi konsekvent att använda oss utav Cartesisk tensornotation i vilken vi benämner våra koordinater med (x 1, x 2, x 3 ) och motsvarande hastighetskomponenter

Läs mer

SF1626 Flervariabelanalys Bedömningskriterier till tentamen Tisdagen den 7 juni 2016

SF1626 Flervariabelanalys Bedömningskriterier till tentamen Tisdagen den 7 juni 2016 SF1626 Flervariabelanalys Bedömningskriterier till tentamen Tisdagen den 7 juni 2016 Allmänt gäller följande: För full poäng på en uppgift krävs att lösningen är väl presenterad och lätt att följa. Det

Läs mer

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u = Kursen bedöms med betyg,, 5 eller underkänd, där 5 är högsta betyg. För godkänt betyg krävs minst poäng från uppgifterna -7. Var och en av dessa sju uppgifter kan ge maximalt poäng. För var och en av uppgifterna

Läs mer

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar Christian Forssén, Institutionen för fysik, Chalmers, Göteborg, Sverige Oct 2, 2017 10. Värmeledning, diffusionsekvation Betrakta ett temperaturfält

Läs mer

TERMODYNAMIK? materialteknik, bioteknik, biologi, meteorologi, astronomi,... Ch. 1-2 Termodynamik C. Norberg, LTH

TERMODYNAMIK? materialteknik, bioteknik, biologi, meteorologi, astronomi,... Ch. 1-2 Termodynamik C. Norberg, LTH TERMODYNAMIK? Termodynamik är den vetenskap som behandlar värme och arbete samt de tillståndsförändringar som är förknippade med dessa energiutbyten. Centrala tillståndsstorheter är temperatur, inre energi,

Läs mer

Flervariabelanalys och Matlab Kapitel 4

Flervariabelanalys och Matlab Kapitel 4 Flervariabelanalys och Matlab Kapitel 4 Thomas Wernstål Matematiska Vetenskaper 3 oktober 2012 4 Vektoranalys 4.1 Vektorfält Vi kan illustrera vektorfält, såväl i planet som i rummet, med kommandona quiver

Läs mer

FFM232, Klassisk fysik och vektorfält - Föreläsningsanteckningar

FFM232, Klassisk fysik och vektorfält - Föreläsningsanteckningar FFM232, Klassisk fysik och vektorfält - Föreläsningsanteckningar Christian Forssén, Institutionen för fysik, Chalmers, Göteborg, Sverige Oct 3, 2016 8. Potentialteori Konservativa fält och potentialer

Läs mer

Linjär Algebra, Föreläsning 2

Linjär Algebra, Föreläsning 2 Linjär Algebra, Föreläsning 2 Tomas Sjödin Linköpings Universitet Riktade sträckor och Geometriska vektorer En (geometrisk) vektor är ett objekt som har storlek och riktning, men inte någon naturlig startpunkt.

Läs mer

Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A

Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A Uppsala universitet Institutionen för informationsteknologi Beräkningsvetenskap Tentamen i Beräkningsvetenskap II, 5.0 hp, 2016-03-16 Del A 1. (a) Beräkna lösningen Ù vid Ø = 03 till differentialekvationen

Läs mer

y + 1 y + x 1 = 2x 1 z 1 dy = ln z 1 = x 2 + c z 1 = e x2 +c z 1 = Ce x2 z = Ce x Bestäm den allmänna lösningen till differentialekvationen

y + 1 y + x 1 = 2x 1 z 1 dy = ln z 1 = x 2 + c z 1 = e x2 +c z 1 = Ce x2 z = Ce x Bestäm den allmänna lösningen till differentialekvationen UPPSALA UNIVERSITET Matematiska institutionen Vera Djordjevic PROV I MATEMATIK Civilingenjörsprogrammen Ordinära differentialekvationer 2007-10-12 Skrivtid: 9-14. Tillåtna hjälpmedel: Mathematics Handbook

Läs mer

Obligatoriska uppgifter i MATLAB

Obligatoriska uppgifter i MATLAB Obligatoriska uppgifter i MATLAB Introduktion Följande uppgifter är en obligatorisk del av kursen och lösningarna ska redovisas för labhandledare. Om ni inte använt MATLAB tidigare är det starkt rekommenderat

Läs mer

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Procedurell grottgenerator och eld i GLSL. Marcus Widegren Procedurell grottgenerator och eld i GLSL Marcus Widegren 14 januari 2012 Innehåll 2 Sammanfattning Jag har gjort en enkel procedurell grottgenerator i GLSL och C++. För belysning används en fackla, som

Läs mer

Hydrodynamik Mats Persson

Hydrodynamik Mats Persson Föreläsning 5/10 Hydrodynamik Mats Persson 1 De hydrodynamiska ekvationerna För att beskriva ett enkelt hydrodynamiskt flöde behöver man känna fluidens densitet,, tryck p hastighet u. I princip behöver

Läs mer

1 Materiell derivata. i beräkningen och så att säga följa med elementet: φ δy + δz. (1) φ y Den materiella derivatan av φ definierar vi som.

1 Materiell derivata. i beräkningen och så att säga följa med elementet: φ δy + δz. (1) φ y Den materiella derivatan av φ definierar vi som. Föreläsning 2. 1 Materiell erivata ätskor och gaser kallas me ett sammanfattane or för fluier. I verkligheten består fluier av partiklar, v s atomer eller molekyler. I strömningsmekaniken bortser vi från

Läs mer

u av funktionen u = u(x, y, z) = xyz i punkten M o = (x o, y o, z o ) = (1, 1, 1) i riktningen mot punkten M 1 = (x 1, y 1, z 1 ) = (2, 3, 1)

u av funktionen u = u(x, y, z) = xyz i punkten M o = (x o, y o, z o ) = (1, 1, 1) i riktningen mot punkten M 1 = (x 1, y 1, z 1 ) = (2, 3, 1) ATM-Matematik Mikael Forsberg 734 41 3 31 Flervariabelanalys mag31 1669 Skrivtid: 9:-14:. Inga hjälpmedel förutom bifogad formelsamling. Lösningarna skall vara fullständiga och lätta att följa. Börja varje

Läs mer

1 Vektorer och tensorer

1 Vektorer och tensorer Föreläsning 1. 1 Vektorer och tensorer Vi kommer att använda två olika beteckningar för vektorer. Enligt det första systemet använder vi fet stil för en vektor i typsatt text och ett vektorstreck då vi

Läs mer

SKRIVNING I VEKTORGEOMETRI

SKRIVNING I VEKTORGEOMETRI SKRIVNING I VEKTORGEOMETRI 2014-11-25 1400-1700 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas Baser i rummet kan dessutom antas vara positivt orienterade

Läs mer

Lösningsskiss för tentamen Vektorfält och klassisk fysik (FFM232)

Lösningsskiss för tentamen Vektorfält och klassisk fysik (FFM232) Lösningsskiss för tentamen Vektorfält och klassisk fysik (FFM232) Tid och plats: Lösningsskiss: Tisdagen den 20 december 2016 klockan 0830-1230 i M-huset Christian Forssén Detta är enbart en skiss av den

Läs mer

Allmant behover vi tre parametrar u 1 u 2 u 3 for att beskriva engodtycklig punkt i rummet. Vi kan

Allmant behover vi tre parametrar u 1 u 2 u 3 for att beskriva engodtycklig punkt i rummet. Vi kan Forelasning 3/9 Kroklinjiga koordinater rakning med vektoroperatorer Kroklinjiga koordinater Allmant behover vi tre parametrar u u 2 u 3 for att beskriva engodtycklig punkt i rummet. Vi kan da skriva ortsvektorn

Läs mer

Repetitionsfrågor: 5DV154 Tema 4: Förbränningsstrategier för raketer modellerade som begynnelsevärdesproblem

Repetitionsfrågor: 5DV154 Tema 4: Förbränningsstrategier för raketer modellerade som begynnelsevärdesproblem Institutionen för datavetenskap Umeå universitet december 06 Teknisk beräkningsvetenskap I Repetitionsfrågor: 5DV54 Tema 4: Förbränningsstrategier för raketer modellerade som begynnelsevärdesproblem Del

Läs mer

SF1626 Flervariabelanalys

SF1626 Flervariabelanalys 1 / 14 SF1626 Flervariabelanalys Föreläsning 7 Henrik Shahgholian Vid Institutionen för matematik, KTH VT 2018, Period 3 2 / 14 SF1626 Flervariabelanalys Dagens Lektion Kap 12.8 1. Implicit definierade

Läs mer

Absolutstabilitet. Bakåt Euler Framåt Euler

Absolutstabilitet. Bakåt Euler Framåt Euler Absolutstabilitet Introduktion För att en numerisk ODE-metod ska vara användbar måste den vara konvergent, dvs den numeriska lösningen ska närma sig den exakta lösningen när steglängden går mot noll. Det

Läs mer

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade

Läs mer

Kroklinjiga koordinater och räkning med vektoroperatorer. Henrik Johanneson/(Mats Persson)

Kroklinjiga koordinater och räkning med vektoroperatorer. Henrik Johanneson/(Mats Persson) Föreläsning 7/9 Kroklinjiga koordinater räkning med vektoroperatorer Kroklinjiga koordinater Henrik Johanneson/Mats Persson) Allmänt behöver vi tre parametrar u, u 2, u 3 för att beskriva en godtycklig

Läs mer

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )(

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )( Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, 2012-03-09 Del A 1. (a) För att anpassa ett polynom som går genom tre punkter behövs ett andragradspolynom. Newtons interpolationsansats ger f(x)

Läs mer

Institutionen för matematik SF1626 Flervariabelanalys. Lösningsförslag till tentamen Måndagen den 5 juni 2017 DEL A

Institutionen för matematik SF1626 Flervariabelanalys. Lösningsförslag till tentamen Måndagen den 5 juni 2017 DEL A Institutionen för matematik SF66 Flervariabelanalys Lösningsförslag till tentamen Måndagen den 5 juni 7 DEL A. En kulles höjd ges av z 6,x,y där enheten är meter på alla tre koordinataxlar. (a) I vilken

Läs mer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem Lennart Edsberg NADA 3 april 007 D11, M1 Laboration 4 A Numerisk behandling av integraler och begynnelsevärdesproblem Denna laboration ger 1 bonuspoäng. Sista bonusdatum 7 april 007 Efter den här laborationen

Läs mer

Tentamen i Teknisk-Vetenskapliga Beräkningar

Tentamen i Teknisk-Vetenskapliga Beräkningar Umeå Universitet Institutionen för Datavetenskap Gunilla Wikström Tentamen i Teknisk-Vetenskapliga Beräkningar Tentamensdatum: 005-03- Skrivtid: 9-5 Hjälpmedel: inga Om problembeskrivningen i något fall

Läs mer

2. Lös ekvationen z i = 2 z + 1 och ge i det komplexa talplanet en illustration av lösningsmängden.

2. Lös ekvationen z i = 2 z + 1 och ge i det komplexa talplanet en illustration av lösningsmängden. MÄLARDALENS HÖGSKOLA Akademin för utbildning, kultur och kommunikation Avdelningen för tillämpad matematik Examinator: Lars-Göran Larsson TENTAMEN I MATEMATIK MAA3 Grundläggande vektoralgebra, TEN6 alt.

Läs mer

Ordinära differentialekvationer,

Ordinära differentialekvationer, (ODE) Ordinära differentialekvationer, del 1 Beräkningsvetenskap II It is a truism that nothing is permanent except change. - George F. Simmons ODE:er är modeller som beskriver förändring, ofta i tiden

Läs mer

SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Torsdagen den 4 juni 2015

SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Torsdagen den 4 juni 2015 SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Torsdagen den 4 juni 2015 Allmänt gäller följande: För full poäng på en uppgift krävs att lösningen är väl presenterad och lätt

Läs mer

Byggnationen av Cheopspyramiden - ett visualiseringsprojekt. Mathias Bergqvist, Rikard Gehlin, Henrik Gunnarsson

Byggnationen av Cheopspyramiden - ett visualiseringsprojekt. Mathias Bergqvist, Rikard Gehlin, Henrik Gunnarsson Byggnationen av Cheopspyramiden - ett visualiseringsprojekt Mathias Bergqvist, Rikard Gehlin, Henrik Gunnarsson 25 April 2010 0.1 Förord Gruppen vill tacka Adam Grudzinski för att ha fått tillåtelse att

Läs mer

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori Numeriska metoder för ODE: Teori Målen för föreläsningen Stabilitet vid diskretisering av ODE med numeriska metoder Definition: Den analytiska lösningen till en ODE är begränsad. En numerisk metod för

Läs mer

Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp)

Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp) Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp) Linjär algebra består av tre grenar eller koncept: geometriska begreppet av vektorrum, analysbegreppet

Läs mer

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet Föreläsningsanteckningar Linjär Algebra II Lärarlyftet Per Alexandersson Föreläsning I Timme I: Repetition av matriser, linjära ekvationssystem Linjärt ekvationssystem: x + y + z 3w = 3 2x + y + z 4w =

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Areor, vektorprodukter, volymer och determinanter

Läs mer

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar Christian Forssén, Institutionen för fysik, Chalmers, Göteborg, Sverige Sep 11, 2017 12. Tensorer Introduktion till tensorbegreppet Fysikaliska

Läs mer

Subtraktion. Räkneregler

Subtraktion. Räkneregler Matriser En matris är en rektangulär tabell av tal, 1 3 17 4 3 2 14 4 0 6 100 2 Om matrisen har m rader och n kolumner så säger vi att matrisen har storlek m n Index Vi indexerar elementen i matrisen genom

Läs mer

Dagens ämnen. Linjära ekvationssystem: Successiv elimination Vektorer Definitionen Grundläggande räkneoperationer Bas och koordinater Ortsvektorer

Dagens ämnen. Linjära ekvationssystem: Successiv elimination Vektorer Definitionen Grundläggande räkneoperationer Bas och koordinater Ortsvektorer Dagens ämnen Linjära ekvationssystem: Successiv elimination Vektorer Definitionen Grundläggande räkneoperationer Bas och koordinater Ortsvektorer Linjära ekvationer Med en linjär ekvation i n variabler,

Läs mer

Inlämningsuppgift 4 NUM131

Inlämningsuppgift 4 NUM131 Inlämningsuppgift 4 NUM131 Modell Denna inlämningsuppgift går ut på att simulera ett modellflygplans rörelse i luften. Vi bortser ifrån rörelser i sidled och studerar enbart rörelsen i ett plan. De krafter

Läs mer

Linjära ekvationer med tillämpningar

Linjära ekvationer med tillämpningar UMEÅ UNIVERSITET Institutionen för matematik och matematisk statistik Olof Johansson, Nina Rudälv 2006-10-17 SÄL 1-10p Linjära ekvationer med tillämpningar Avsnitt 2.1 Linjära ekvationer i en variabel

Läs mer

Vinjetter TDDC91 Datastrukturer och algoritmer

Vinjetter TDDC91 Datastrukturer och algoritmer Vinjetter TDDC91 Datastrukturer och algoritmer 17 augusti 2015 2 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer.

Läs mer

2+t = 4+s t = 2+s 2 t = s

2+t = 4+s t = 2+s 2 t = s Extra 1. Ta fram räta linjens ekvation på parameterform då linjen går genom punkterna (1, 1,0) och (2,0,1) (3, 1,4) och ( 1,1,6) (4,3, 1) och (7, 2,5) (11,3, 6) och (9, 1,3) Lösning: (x,y,z) = (1+t, 1+t,t)

Läs mer

17.10 Hydrodynamik: vattenflöden

17.10 Hydrodynamik: vattenflöden 824 17. MATEMATISK MODELLERING: DIFFERENTIALEKVATIONER 20 15 10 5 0-5 10 20 40 50 60 70 80-10 Innetemperaturen för a =1, 2och3. Om vi har yttertemperatur Y och startinnetemperatur I kan vi med samma kalkyl

Läs mer

LEONARDO DA VINCI ( )

LEONARDO DA VINCI ( ) LEONARDO DA VINCI (1452 1519) En kropp som rör sig med en viss hastighet i stillastående luft erfar samma strömningsmotstånd som om kroppen vore stillastående och utsatt för en luftström med samma hastighet.

Läs mer

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = = Matematiska institutionen Stockholms universitet CG Matematik med didaktisk inriktning 2 Problem i Algebra, geometri och kombinatorik Snedsteg 5 MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET

Läs mer

Tentamen i matematik. f(x) = ln(ln(x)),

Tentamen i matematik. f(x) = ln(ln(x)), Lösningsförslag Högskolan i Skövde (SK, JS) Tentamen i matematik Kurs: MA52G Matematisk Analys MA23G Matematisk analys för ingenjörer Tentamensdag: 203-05- kl 4.30-9.30 Hjälpmedel : Inga hjälpmedel utöver

Läs mer

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning MATEMATISKA VETENSKAPER TMV66 07 Chalmers tekniska högskola Datorlaboration Examinator: Tony Stillfjord TMV66 Linjär algebra för M Datorlaboration : Matrisalgebra och en mekanisk tillämpning Allmänt Den

Läs mer

Tentamen i TATA43 Flervariabelanalys

Tentamen i TATA43 Flervariabelanalys Linköpings universitet Matematiska institutionen Kurskod: TATA4 Provkod: TEN Tentamen i TATA4 Flervariabelanalys 5--7 kl 8 Inga hjälpmedel tillåtna inte heller miniräknare 8//6 poäng med minst /4/5 uppgifter

Läs mer

SF1626 Flervariabelanalys Tentamen Torsdagen den 18 augusti 2016

SF1626 Flervariabelanalys Tentamen Torsdagen den 18 augusti 2016 Institutionen för matematik SF166 Flervariabelanalys Tentamen Torsdagen den 18 augusti 16 Skrivtid: 8:-1: Tillåtna jälpmedel: inga Examinator: Mats Boij Tentamen består av nio uppgifter som vardera ger

Läs mer

Reglerteori. Föreläsning 11. Torkel Glad

Reglerteori. Föreläsning 11. Torkel Glad Reglerteori. Föreläsning 11 Torkel Glad Föreläsning 11 Torkel Glad Februari 2018 2 Sammanfattning av föreläsning 10. Fasplan Linjärisering av ẋ = f(x) kring jämviktspunkt x o, (f(x o ) = 0) f 1 x 1...

Läs mer

= 0. Båda skärningsvinklarna är således π/2 (ortogonala riktningsvektorer).

= 0. Båda skärningsvinklarna är således π/2 (ortogonala riktningsvektorer). Institutionen för Matematik, KTH Torbjörn Kolsrud SF163, ifferential- och integralkalkyl II, del 2, flervariabel, för F1. Tentamen torsdag 19 augusti 21, 14. - 19. Inga hjälpmedel är tillåtna. Svar och

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson MATRISER MED MERA VEKTORRUM DEFINITION Ett vektorrum V är en mängd av symboler u som vi kan addera samt multiplicera med reella tal c så

Läs mer

Där a = (1, 2,0), b = (1, 1,2) och c = (0,3, 1) Problem 10. Vilket är det enda värdet hos x för vilket det finns a och b så att

Där a = (1, 2,0), b = (1, 1,2) och c = (0,3, 1) Problem 10. Vilket är det enda värdet hos x för vilket det finns a och b så att Här följer 3 problem att lösa. Längre bak i dokumentet finns utförliga penna-papper lösningar. Filen Föreläsning08.zip finns motsvarande lösningar utförda med Mathematica. Problem 1. Bestäm a så att avståndet

Läs mer

Oändligtdimensionella vektorrum

Oändligtdimensionella vektorrum Oändligtdimensionella vektorrum Vi har i den här kursen huvudsakligen studerat ändligtdimensionella vektorrum. Dessa är mycket användbara objekt och matriskalkyl ger en bra metod att undersöka dom med.

Läs mer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem Lennart Edsberg NADA 9 mars 6 D11, M1 Laboration 4 A Numerisk behandling av integraler och begynnelsevärdesproblem Denna laboration ger 1 bonuspoäng. Sista bonusdatum 5 april 6 Efter den här laborationen

Läs mer

PROCEDUELL TERRÄNG. Proceduella metoder för bilder (TNM084) Jimmy Liikala Institutionen för teknik och naturvetenskap

PROCEDUELL TERRÄNG. Proceduella metoder för bilder (TNM084) Jimmy Liikala Institutionen för teknik och naturvetenskap PROCEDUELL TERRÄNG Proceduella metoder för bilder (TNM084) Jimmy Liikala (jimli570@student.liu.se) Institutionen för teknik och naturvetenskap Sammanfattning Rapporten beskriver hur en proceduell terräng

Läs mer

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori Numeriska metoder för ODE: Teori Vilka metoder har vi tagit upp? Euler framåt Euler bakåt Trapetsmetoden y k+ = y k + hf(t k, y k ), explicit y k+ = y k + hf(t k+, y k+ ), implicit y k+ = y k + h (f(t

Läs mer

Uppgift 1. Minimeringsproblemet löses med en Monte Carlo algoritm:

Uppgift 1. Minimeringsproblemet löses med en Monte Carlo algoritm: Uppgift 1 Minimeringsproblemet löses med en Monte Carlo algoritm: 1) initiera elementen i vektorn s slummässigt med +/-1 2) räkna ut värdefunktionen (ekvationen given i uppgiften) 3) starta iteration 4)

Läs mer

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem. 11 april 2005 2D1212 NumProg för T1 VT2005 A Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem. Kapitel 8 och 5 i Q&S Stationär värmeledning i 1-D Betrakta

Läs mer

SF1626 Flervariabelanalys Tentamen 14 mars 2011,

SF1626 Flervariabelanalys Tentamen 14 mars 2011, SF1626 Flervariabelanalys Tentamen 14 mars 2011, 08.00-13.00 Skrivtid: 5 timmar Inga tillåtna hjälpmedel Eaminator: Hans Thunberg Tentamen består av nio uppgifter som vardera ger maimalt fyra poäng. På

Läs mer

Geometriska vektorer

Geometriska vektorer Föreläsning 1, Linjär algebra IT VT2008 1 Geometriska vektorer De begrepp som linjär algebra kretsar kring är vektorer och matriser Dessa svarar mot datorernas fält (`arra') av dimension ett respektive

Läs mer

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar Christian Forssén, Institutionen för fysik, Chalmers, Göteborg, Sverige Sep 4, 2018 1. Fält och derivator Ett fält är en fysikalisk storhet

Läs mer

Provet består av Del I, Del II, Del III samt en muntlig del och ger totalt 76 poäng varav 28 E-, 24 C- och 24 A-poäng.

Provet består av Del I, Del II, Del III samt en muntlig del och ger totalt 76 poäng varav 28 E-, 24 C- och 24 A-poäng. NpMac vt 01 Del I Del II Provtid Hjälpmedel Uppgift 1-10. Endast svar krävs. Uppgift 11-15. Fullständiga lösningar krävs. 10 minuter för del I och del II tillsammans. Formelblad och linjal. Kravgränser

Läs mer

Linjär algebra på några minuter

Linjär algebra på några minuter Linjär algebra på några minuter Linjära ekvationssystem Ekvationssystem: { Löses på matrisform: ( ) ( ) I det här fallet finns en entydig lösning, vilket betyder att determinanten av koefficientmatrisen

Läs mer

Jordbävningar en enkel modell

Jordbävningar en enkel modell 9 september 05 FYTA Simuleringsuppgift 3 Jordbävningar en enkel modell Handledare: André Larsson Email: andre.larsson@thep.lu.se Telefon: 046-34 94 Bakgrund Jordbävningar orsakar fruktansvärda tragedier

Läs mer

Kvalificeringstävling den 30 september 2008

Kvalificeringstävling den 30 september 2008 SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet Kvalificeringstävling den 30 september 2008 Förslag till lösningar Problem 1 Tre rader med tal är skrivna på ett papper Varje rad innehåller tre

Läs mer

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20. Teorifrågor Störningsanalys 1. Värdet på x är uppmätt till 0.956 med ett absolutfel på högst 0.0005. Ge en övre gräns för absolutfelet i y = exp(x) + x 2. Motivera svaret. 2. Ekvationen log(x) x/50 = 0

Läs mer

14. Minsta kvadratmetoden

14. Minsta kvadratmetoden 58 MINSTA KVADRATMETODEN. Minsta kvadratmetoden Eempel.. Det är inte så svårt att komma åt en trasig lampa på golvet för att byta den. Det är bara att gå fram till den. Hur är det om lampan hänger i taket?

Läs mer

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel Tentamen TNM061, 3D-grafik och animering för MT2 Onsdag 20/8 2014 kl 14-18 SP71 Inga hjälpmedel Tentamen innehåller 7 uppgifter, vilka tillsammans kan ge maximalt 50 poäng. För betyg G (registreras som

Läs mer

Banach-Tarskis paradox

Banach-Tarskis paradox Banach-Tarskis paradox Tony Johansson 1MA239: Specialkurs i Matematik II Uppsala Universitet VT 2018 Banach-Tarskis paradox, bevisad 1924 och döpt efter Stefan Banach och Alfred Tarski, är en sats inom

Läs mer