IN229 – Våren 2003 Oversikt over innhold
IN229/ V03 / Dag 12 Simulering i IN229 Simulatorkode –Proseduralt (FORTRAN / C) –Objekt-orientert (C++) Fysisk problem Ex: –Svingende streng –Vannbølger –Varme i jordskorpen Numerisk metode –Endelig differansemetode –Gauss eliminasjon –Suksessiv substitusjon Matematisk modell Ex: –ODE –Bølgeligning –Varmeligning
IN229/ V03 / Dag 13 Del 1: MyVector Min første vektorklasse (= “Hello World”) Introduksjon til C++ Eksempel på OO-design for simulering Effektivitetshensyn Arv Templates
IN229/ V03 / Dag 14 Del 2: Endelige differanser Rask innføring i endelige differanser: f’(x) ( f(x+h) - f(x) ) / h, osv…. konvergens orden
IN229/ V03 / Dag 15 Del 3: ODESolver Litt om ordinære differensialligninger (ODE) Noen numeriske metoder –Forlengs og baklengs Euler, Runge-Kutta Design av “bibliotek” av ODE-løsere Implementasjon Sentrale prinsipper for simulator software
IN229/ V03 / Dag 16 Del 4: Bølgeligning Fra fysisk problem til simulatorkode –Svingende streng (strikk) Endelig differansemetode Implementasjon Kjapt om numerisk stabilitet Reell anvendelse: –Bølger på dypt vann
IN229/ V03 / Dag 17 Del 5: Varmeligningen Fra fysisk problem til simulatorkode: –Varmeledning i jordskorpen Endelig differansemetode Litt numerisk lineæralgebra Kjapt om ikkelineære ligninger
IN229/ V03 / Dag 18 Del 6: Diverse Mer om matematiske modeller (PDEer) Mer om differansemetoder Abstraksjoner i simulatorkoder Mer om objektorientert programvare
IN229/ V03 / Dag 19 Visualisering i IN229 Fenomen/prosess Mat. modell Måling Simulering IN229 - Simuleringsdelen IN229 - Visualiseringsdelen Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde
IN229/ V03 / Dag 110 Del 1: Del 1: Introduksjon til VTK Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde Objektorientert C++ klassebibliotek for visualisering
IN229/ V03 / Dag 111 #include main() { vtkRenderer* rdr = vtkRenderer::New(); vtkRenderWindow* rdrWin = vtkRenderWindow::New(); rdrWin->AddRenderer(rdr); vtkCubeSource* sCube = vtkCubeSource::New(); vtkPolyDataMapper* mCube = vtkPolyDataMapper::New(); vtkActor* aCube = vtkActor::New(); mCube->SetInput(sCube->GetOutput()); aCube->SetMapper(mCube); rdr->AddActor(aCube); rdrWin->Render(); } vtkRenderWindow vtkRenderer vtkActor vtkPolyDataMapper vtkCubeSource
IN229/ V03 / Dag 112 Del 2: Del 2: Grafisk databehandling Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde Hvordan lage bilder på datamaskin
IN229/ V03 / Dag 113
IN229/ V03 / Dag 114
IN229/ V03 / Dag 115
IN229/ V03 / Dag 116 Del 3: Del 3: "Visualization Pipeline" Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde Hvordan transformere datasett til grafiske primitiver og bilder Generell arkitektur
IN229/ V03 / Dag 117 mappersource 1.23E E E E E E E E mappersourcefiltermappersourcefilter mappersourcefilter source filter osv...
IN229/ V03 / Dag 118 Del 4: Del 4: Datarepresentasjon Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde Hvordan tilrettelegge datasett for visualisering Måling Simulering
IN229/ V03 / Dag 119 x 1 y 1 z 1 v 1 x 2 y 2 z 2 v 2... punkt med posisjon og verdi Typisk problemstilling v 1 v 2... filformat: posisjonen er implisitt!
IN229/ V03 / Dag 120 Del 5: Del 5: Visualisering av skalarfelt Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde Datasettet representerer skalar-verdier Eksempel: Temperatur i et værelse p
IN229/ V03 / Dag 121 Elektrontetthet i gullhydrid (AuH)
IN229/ V03 / Dag 122 Del 6: Del 6: Visualisering av vektorfelt Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde Datasettet representerer vektor-verdier Eksempel: Strømning av luft i et værelse p
IN229/ V03 / Dag 123 Luftstrømning i værelse
IN229/ V03 / Dag 124 Boblestrømning i Guinness Aaaaahhh!
IN229/ V03 / Dag 125 Luftstrømning (og -trykk) rundt flyvinge
IN229/ V03 / Dag 126 Del 7: Del 7: Direkte volumavbilding Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde En svært effektfull (men ressurskrevende!) teknikk for visualisering av skalar-verdier i et volum
IN229/ V03 / Dag 127 Elektrontetthet i gullhydrid (AuH)
IN229/ V03 / Dag 128 Elektrontetthet i gullhydrid (AuH) H-atomet Au-atomet
IN229/ V03 / Dag 129 Del 8: Del 8: Diverse Numerisk datasett 1.23E E E E E E E E "Visualization Pipeline" Grafiske primitiver "Rendering Pipeline" Bilde Samtidig visualisering av flere felt Animasjon (tidsserier, sanntids-simulering)