Strömungssimulation. Alexander Podlich & Jens Wollenhaupt {podlich, Sommersemester

Ähnliche Dokumente
Hochleistungsrechnen auf Grafikkarten für innovative Automotiveanwendungen Simulation der Wasserdurchfahrt eines Serienfahrzeugs

Lattice Boltzmann Simulation bewegter Partikel

Fluid-Particle Multiphase Flow Simulations for the Study of Sand Infiltration into Immobile Gravel-Beds

Strömungen in Wasser und Luft

Tag der Umweltmeteorologie Michael Kunz

Materialien WS 2014/15 Dozent: Dr. Andreas Will.

Visuelle Darstellungen

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Softwareprojekt Spieleentwicklung

Multi-Physik-Simulation II Thermo-fluiddynamische Kopplung Freie Konvektion

Netzlose 3D CFD Einsatzpotenziale und Vorteile für die Praxis

Ölverteilung im Getriebe Netzlose CFD bietet Potenzial

Projektbericht Karl-Steinbuch-Stipendium Ein Lattice-Boltzmann Modell zur Simulation des Strömungsflusses auf mehrphasige Mikrostrukturen

Die Umsetzung der Lehrplaninhalte in Fokus Mathematik Einführungsphase auf der Basis des Kerncurriculums Mathematik in Nordrhein-Westfalen

1 Eine kurze Einführung in die Thermodynamik

Verbesserung der Langsamflugeigenschaften des Doppeldeckers FK-12 Comet mit Hilfe von Strömungssimulationen

Angewandte Strömungssimulation

Praktikum Wissenschaftliches Rechnen 3. Aufgabenblatt

A Vortex Particle Method for Smoke, Fire, and Explosions

Grafikkarten-Architektur

Untersuchung der DurchstrÄmung eines Radialventilators mit nicht rotationssymmetrischen Laufrad

5. Numerische Ergebnisse Vorbemerkungen

Lattice Boltzmann Study of the Drag Correlation in Dilute and Moderately Dense Fluid-Particle Systems

Mathematik-Tutorium für Maschinenbauer II: Differentialgleichungen und Vektorfelder

Hydraulik für Bauingenieure

Grundlagen der Spieleprogrammierung

Übung 6: Ein LBM Code


Seminar Game Development Game Computer Graphics. Einleitung

Nachtrag zu 11: 11.6.Statistische Physik: Entropie, Boltzmann-Verteilung

Flüsse, Fixpunkte, Stabilität

Physikalisches Praktikum

FB IV Mathematik Universität Trier. Präsentation von Nadja Wecker

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2.

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann

Klassifikation von partiellen Differentialgleichungen

Texture Based Direct Volume Rendering

2D-Transformationen. Kapitel Translation. 6.2 Skalierung

Aufbau eines VR-Systems zur multimodalen Interaktion mit komplexen physikalischen Modellen

Strömungsoptimierung von Feuerräumen mittels Experiment und Computational Fluid Dynamics (CFD)

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze

Numerical analysis of the influence of turbulence on the exchange processes between porous-medium and free flow

Physikalische Chemie Physikalische Chemie I SoSe 2009 Prof. Dr. Norbert Hampp 1/9 1. Das Ideale Gas. Thermodynamik

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

SHADOW Schattenwurf. Notwendige Eingabedaten Die Eingabe der Objekte erfolgt über das Modul BASIS. Vgl. hierzu die WindPRO Modulbeschreibung BASIS.

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9)

Übung 3. Dipl.-Inf. Domenic Jenz Übungen zur Vorlesung Molekulardynamik und Lattice Boltzmann Methoden. HLRS, Universität Stuttgart

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

Aeroakustische Untersuchungen am LSTM / LSE der Universität Erlangen

ad Physik A VL2 ( )

Tag 3. Zweidimensionale Spielewelten

Modellierung des Strahlungstransports in porösen Materialien

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

FLOW-TCS. Verlustfreie Solarspeicher mittels thermo-chemischer Granular-Flow-Materialien. ASIC-Austria Solar Innovation Center

Computational Fluid Dynamics - CFD Overview

FLOXCOM - WP 7 Modelling and Optimisation of Wall Cooling - Wall Temperature and Stress Analysis

8.6 Physikalische Animation

Jörn Loviscach Hochschule Bremen

HANDOUT. Vorlesung: Glasanwendungen. Überblick optische Eigenschaften

Bildsegmentierung mit Level Sets

Vergleich der Anwendbarkeit verschiedener CFD Modelle zur Simulation von Brandereignissen Abgrenzung der Anwendungsgebiete von FDS gegenüber CFX

Vergleich von experimentellen Ergebnissen mit realen Konfigurationen

Lehrplan Mathematik. Ausbildungsprofil n. Grundlagenfach Schwerpunktfach Ergänzungsfach. Ausbildungsprofile s, m. Grundlagenfach Ergänzungsfach

Echtzeit-Simulation von Windfeldern mit OpenCL zur Modellierung von Schneefall

Grafikkarten in der Gittereichtheorie

Numerische Untersuchung der Aeroakustik von Tragflügeln mit Kopfspalt Andreas Lucius, Tim Forster

Berechnung von Rohrleitungsbelastungen durch Füllvorgänge

2. Fraktale Geometrie

Grundlagen der Monte Carlo Simulation

Rotation. Versuch: Inhaltsverzeichnis. Fachrichtung Physik. Erstellt: U. Escher A. Schwab Aktualisiert: am Physikalisches Grundpraktikum

Übung 5 - SIMPLE-Verfahren (Teil 2)

Experimenten. really big data

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006

Phase diagrams: Effect of the potential range

4. Kapitel 3D Engine Geometry

Lösung der zweidimensionalen Wirbeltransportgleichung auf NVIDIA Grafikkarten - Bachelorarbeit -

3. N. I Einführung in die Mechanik. II Grundbegriffe der Elektrizitätslehre

Volumen Visualisierung

Intel Cluster Studio. Michael Burger FG Scientific Computing TU Darmstadt

QED Materie, Licht und das Nichts. Wissenschaftliches Gebiet und Thema: Physikalische Eigenschaften von Licht

Kursstufe Physik / Aufgaben / 04 Teilchenbahnen im E Feld Kopetschke 2011 Teilchenbahnen im elektrischen Querfeld

Fachgebiet Programmiermethodik Prof. Dr. Claudia Leopold. Seminar Programmierung von Grafikkarten. GPGPU Basiskonzepte. von.

Simulationstechnik V

I. Mechanik. I.4 Fluid-Dynamik: Strömungen in Flüssigkeiten und Gasen. Physik für Mediziner 1

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

Interaktive Strömungssimulation auf Tablet-Computern

Grundlagen der Strömungsmechanik

Differentialgleichungen

Grid generation and external aerodynamics of the DrivAer model with LBM

1 Mengen. 1.1 Elementare Definitionen. Einige mathematische Konzepte

Beispiele zum Einsatz numerischer Strömungsrechnung in der Zementindustrie

VHDL - Grundlagen des Pointrenderings

Vergleich von Forward und Deferred Rendering

Berechnung der Fahrzeugaeroakustik

Ein Eingitter-Ansatz für aeroakustische Simulationen bei kleinen Machzahlen

Übung 4 - SIMPLE-Verfahren

Transkript:

Strömungssimulation Alexander Podlich & Jens Wollenhaupt {podlich, jewollen}@student.uni-kassel.de Sommersemester 2006 03.07.2006

Übersicht 1. Allgemeines über 2. Das Lattice-Boltzmann Modell 3. Umsetzung auf GPU 4. gebiete 5. 2

Übersicht Kapitel 1 1. Allgemeines über 1. Darstellung eines Fluids 2. Strömungsverhaten 3. Navier-Stokes Gleichungen 4. Lösungsmöglichkeiten 5. Zusammenfassung 2. Das Lattice-Boltzmann Modell 3. Umsetzung auf GPU 4. gebiete 5. 3

1.1 Darstellung eines Fluids Geschwindigkeit als wichtigste Größe einer Strömung Änderung in Raum und Zeit Darstellung als Vektorfeld Geschwindigkeit in zweidimensionalem Fluid: u x,t = u x,t v y,t 4

1.1 Darstellung eines Fluids Quelle: Mark J. Harris. GPU GEMS Chapter 38, Fast Fluid Dynamics Simulation on the GPU. 2004. 5

1.2 Strömungsverhalten Strömungsverhalten kann durch die Navier- Stokes Gleichungen beschrieben werden Allgemeine Form ist sehr kompliziert Vereinfachungen durch Annahmen 1. Inkompressibel 2. Homogen 6

1.2 Strömungsverhalten Strömungsverhalten kann durch die Navier- Stokes Gleichungen beschrieben werden Allgemeine Form ist sehr kompliziert Vereinfachungen durch Annahmen 1. Inkompressibel 2. Homogen Dichte des Fluids ist sowohl räumlich als auch zeitlich konstant. 6

1.3 Navier Stokes Gleichungen George Gabriel Stockes (*13.08.1819, 01.02.1903) War ein irischer Mathematiker und Physiker Claude Louis Marie Henri Navier (*10.02.1785, 21.08.1836) War ein französischer Mathematiker und Physiker Quelle: http://de.wikipe dia.org/wiki/bild :Gstokes.jpg Quelle: http://herodes.feld.cvut.cz/n onlin/slavni/n avier.jpg 7

1.3 Navier Stokes Gleichungen u=0 u t = u u 1 p 2 u F 8

1.3 Navier Stokes Gleichungen u=0 Massenerhaltung Einfluß und Ausfluß in einem Fluidelement sind symmetrisch 9

1.3 Navier Stokes Gleichungen u t = u u 1 p 2 u F Impulsehaltung Geschwindigkeitsfeld u Druckfeld p Kinematische Viskosität Externe Kräfte F 10

1.3 Navier Stokes Gleichungen u t = u u 1 p 2 u F Advektion Transport von Eigenschaften eines Fluids Ein Objekt (z.b. Dichte, Geschwindigkeit) ist eine Eigenschaft des Fluids 11

1.3 Navier Stokes Gleichungen u t = u u 1 p 2 u F Druck Teilchen im Fluid bewegen sich frei Kraftaufbringung breitet sich nicht sofort aus Druckunterschied führt zu einer Beschleunigung/Geschwindigkeit 12

1.3 Navier Stokes Gleichungen u t = u u 1 p 2 u F Diffusion Stellt die Dicke, die Viskosität, des Fluids dar 13

1.3 Navier Stokes Gleichungen u t = u u 1 p 2 u F Externe Kräfte Äußere Einflüsse, wie Lokale Kräfte Globale Kräfte 14

1.4 Lösungsmöglichkeiten Analytisch Nur in wenigen Spezialfällen möglich Allgemeine Lösung ist ein großes Problem dieses Jahrhunderts Numerisch Integrationsverfahren (Aufteilung in Advektions-, Diffusions- und Kraftterme) Nichtlinearität der einzelnen Terme führt zu einem hohen Aufwand 15

1.4 Lösungsmöglichkeiten Molekulardynamische Betrachtungsweise bestehen aus vielen kleinen Partikeln Das kollektive Verhalten dieser Partikel bestimmt die makroskopischen Eigenschaften des Fluids Idee: Simulation dieser Partikel, so dass die makroskopischen Navier-Stokes Gleichungen erfüllt sind 16

1.5 Zusammenfassung Geschw. als wichtige Größe der Fluide Eigenschaften der Fluide Inkompressibel & Homogen Beschreibung durch NS-Gleichungen Lösungsmöglichkeiten Analytisch Numerisch Molekulardynamisch 17

Übersicht Kapitel 2 1. Allgemeines über 2. Das Lattice-Boltzmann Modell 1. Das Gitter 2. D3Q19 3. Der Simulationsablauf 4. Zusammenfassung 3. Umsetzung auf GPU 4. gebiete 5. 18

2. Das Lattice-Boltzmann Modell Vom österreichischen Physiker und Philosophen Ludwig Boltzmann Ende der 80er Jahre (20.02.1844, 05.09.1906) entwickelt Das wird auf Teilchenebene simuliert Quelle: http://de.wikipedia.org/wiki/bild:bolt zmann_ludwig_dibner_coll_sil14 -B5-06a.jpg 19

2.1 Das Gitter 20

2.1 Das Gitter 20

2.1 Das Gitter 20

2.1 Das Gitter 20

2.1 Das Gitter 20

2.1 Das Gitter 20

2.1 Das Gitter Klassifikation in DxQy Dimension x Anzahl der Kollokationspunkte y Alle Gittertypen werden aus Untergittern konstruiert D2Q4 21

2.1 Das Gitter - D3Q19 1. UG 0,0,0 3. UG ±1,±1,0 0,±1,±1 ±1,0,±1 2. UG ±1,0,0 0,±1,0 0,0,±1 4. UG ±1,±1,±1 22

2.2 D3Q19 Kombination aus 1., 2. und 3. UG 19 Richtungsvektoren e i 18 + 1 Verteilungen f i x,t Makroskopische Eigenschaften: Dichte: = i f i Geschwindigkeit: u= 1 i f i e i 23

2.3 Der Simulationsablauf Dichte Neue Verteilung Geschwindigkeit Gleichgewichtsverteilung Kollision & Propagation 24

2.4 Zusammenfassung simuliert die Partikelbewegung Unterteilung des Fluids in ein Gitter D3Q19 Simulationsablauf für alle Untergitter Geschwindigkeitsverteilung Dichte Geschwindigkeit 25

Übersicht Kapitel 3 1. Allgemeines über 2. Das Lattice-Boltzmann Modell 3. Umsetzung auf GPU 1. HardwareAnpassung 2. Berechnung pro Zelle 3. Daten auf der GPU 4. Besondere Berechnungen 5. Cg Shaderprogramm 6. Zusammenfassung 4. gebiete 5. 26

3.1 Hardwareanpassung auf der GPU Kernel-Stream Model Eingeschränkter Speicherzugriff eingeschränktes Zahlenformat SIMD Architektur für 4-Komponenten Vektoren 27

3.2 Berechnung pro Zelle Makroskopische Dichte berechnen Makroskopische Geschwindigkeit berechnen Bestimmung der Gleichgewichts - verteilung Partikelkollisionen und resultierende Paket - verteilung berechnen Ergebnisse zu Einga - bedaten für nächsten Durchlauf umkopieren Spezielle Propagation für Ränder und Hindernisse berechnen Propagieren der Paketverteilung in Nachbarzellen 28

3.2 Berechnung pro Zelle Vertex Textur Makroskopische Dichte berechnen Makroskopische Geschwindigkeit berechnen Bestimmung der Gleichgewichts - verteilung Ergebnistextur Partikelkollisionen und resultierende Paket - verteilung berechnen Ergebnisse zu Einga - bedaten für nächsten Durchlauf umkopieren Spezielle Propagation für Ränder und Hindernisse berechnen Propagieren der Paketverteilung in Nachbarzellen 29

3.2 Berechnung pro Zelle Vertex Textur Makroskopische Dichte berechnen Makroskopische Geschwindigkeit berechnen Bestimmung der Gleichgewichts - verteilung Ergebnistextur Partikelkollisionen und resultierende Paket - verteilung berechnen Ergebnisse zu Einga - bedaten für nächsten Durchlauf umkopieren Spezielle Propagation für Ränder und Hindernisse berechnen Propagieren der Paketverteilung in Nachbarzellen 30

3.2 Berechnung pro Zelle Vertex Textur Makroskopische Dichte berechnen Makroskopische Geschwindigkeit berechnen Bestimmung der Gleichgewichts - verteilung Ergebnistextur Partikelkollisionen und resultierende Paket - verteilung berechnen Ergebnisse zu Einga - bedaten für nächsten Durchlauf umkopieren Spezielle Propagation für Ränder und Hindernisse berechnen Propagieren der Paketverteilung in Nachbarzellen extra Vertex 31

3.2 Berechnung pro Zelle Vertex Textur Makroskopische Dichte berechnen Makroskopische Geschwindigkeit berechnen Bestimmung der Gleichgewichts - verteilung Ergebnistextur Partikelkollisionen und resultierende Paket - verteilung berechnen Ergebnisse zu Einga - bedaten für nächsten Durchlauf umkopieren Spezielle Propagation für Ränder und Hindernisse berechnen Propagieren der Paketverteilung in Nachbarzellen extra Vertex 32

3.3 Daten in einer Textur Makr. Geschwindigkeit Makr. Dichte Paketverteilung R G B A v x v y v z Dichte f(1,0,0) f(-1,0,0) f(0,1,0) f(0,-1,0) f(1,1,0) f(-1,-1,0) f(1,-1,0) f(-1,1,0) f(1,0,1) f(-1,0,-1) f(1,0,-1) f(-1,0,1) f(0,1,1) f(0,-1,-1) f(0,1,-1) f(0,-1,1) f(0,0,1) f(0,0,-1) f(0,0,0) leer Quelle: [2] 33

3.3 Daten in einer Textur Makr. Geschwindigkeit Makr. Dichte Paketverteilung R G B A v x v y v z Dichte f(1,0,0) f(-1,0,0) f(0,1,0) f(0,-1,0) f(1,1,0) f(-1,-1,0) f(1,-1,0) f(-1,1,0) f(1,0,1) f(-1,0,-1) f(1,0,-1) f(-1,0,1) f(0,1,1) f(0,-1,-1) f(0,1,-1) f(0,-1,1) f(0,0,1) f(0,0,-1) f(0,0,0) leer Skalieren der Eingangsdaten Quelle: [2] 34

3.3 Daten für 3D Gatter Grafikhardware optimiert für 2D Texturen 3D Gatter in großer 2D Textur speichern Volumes müssen umgerechnet werden Volume einer Zelle v u 2D Textur y z x 35

3.4 Besondere Berechnungen Bei Propagationsberechnung an Rändern und Hinderissen Übergang zur nächsten Seite Abprallen Austreten gesonderte Shaderprogramme gesonderte Vertizes, durch deep peeling bestimmen 36

3.4 Deep Peeling Layer X 0 Blick 37

3.4 Deep Peeling Layer X 0 1 Blick 38

3.4 Deep Peeling Layer X 0 1 Blick 38

3.4 Deep Peeling Layer X 0 1 Blick 38

3.4 Deep Peeling Layer X 0 1 Blick 38

3.4 Deep Peeling Layer X 0 1 Blick 38

3.4 Deep Peeling Blick Layer Y 0 39

3.4 Deep Peeling Blick Layer Y Layer X 0 1 40

3.4 Deep Peeling Blick Layer Y Layer X 0 1 2 Bildquelle: [2] 41

3.5 Cg Shaderprogramm void advect( float2 coords :WPOS // grid coordinates out float4 xnew :Color // advected qty uniform float timestep, uniform float rdx, // 1/grid scale uniform samplerrect u, // input velocity uniform samplerrect x, // qty to advect ){ //follow the velocity field back in time float2 pos = coords timestep * rdx * f2textrect(u, coords); } //interpolate and write to the output fragment xnew = f4texrectbilerp(x, pos); Quelle: [3] 42

3.6 Zusammenfassung Vertizes für Gitterzellen erstellen Extra-Vertizes für spezielle Berechnungen Berechnung auf Fragment-Shader ausführen Eingabedaten in 2D-Textur ablegen Ergebnisse eines Durchlaufs mit copy-totexture oder render-to-texture umkopieren 43

Übersicht Kapitel 4 1. Allgemeines über 2. Das Lattice-Boltzmann Modell 3. Umsetzung auf GPU 4. gebiete 1. Speedups 5. 44

4. gebiete Strömungssimulation für Frischluftversorgung oder Gefahrenstoffe Temperaturströmungen Wettervorhersage Luftströmungen an PKW und Flugzeugen Grafische Strömungssimulationen für Filme und Computerspiele 45

4.1 Speedup Bildquelle: [1] Bildquelle: [4] 46

Übersicht Kapitel 5 1. Allgemeines über 2. Das Lattice-Boltzmann Modell 3. Umsetzung auf GPU 4. gebiete 5. 47

große Speedups möglich Umsetzung erscheint nicht viel aufwendiger Speicher noch zu klein, daher Simulationen noch zu klein rasante Entwicklung wird dies bestimmt lösen 48

Vielen Dank für Ihre Aufmerksamkeit! 49

Quellen [1] Arie Kaufman Zhe Fan and Suzanne Yoakum-Stover. Gpu cluster for high performance computing. 2004. [2] Xiaoming Wei Wei Li Zhe Fan and Arie Kaufman. GPU GEMS Chapter 47, Flow Simulation with Complex Boundaries. 2005. [3] Mark J. Harris. GPU GEMS Chapter 38, Fast Fluid Dynamics Simulation on the GPU. 2004. [4] Xiaoming Wei Wei Li and Arie Kaufman. Implementing lattice boltzmann computation on graphics hardware. 2003. [5] Thomas Schiwietz. Echtzeitfähige Simulation von Wasser auf Grafikhardware. Master s thesis, Technische Universität München, Fakultät für Informatik, 2003. 50