Hauptseminar Computergrafik Albrecht Uhlig 27.11 · 2 Gliederung • Einleitung • Mathematische...

Preview:

Citation preview

1

Simulation von Feuer

Hauptseminar ComputergrafikAlbrecht Uhlig27.11.2007

2

Gliederung

• Einleitung• Mathematische Grundlagen• Grundlagen des physikalischen Modells• Umsetzung des Modells• Darstellung des Feuers• Resultat

3

Einleitung Feuer• Seit 800000 Jahren Nutzbar, wichtiger

Entwicklungsschritt in Menschheitsgeschichte

• Zweckfeuer: zum Kochen, Wärmen, Beleuchten

• Schadfeuer (Brand): ungewollt, zerstörerisch

• Simulation von Feuer:– Schadfeuer untersuchen– effektvolle Darstellung in

Computergrafik

4

Brandschutz

• Ausbreitung von Feuer– In Gebäuden– In Wäldern

• Keine Simulation der Flammen, sondern des Gesamten Brandes

5

Computerspiele

• Sprites• Einfache 2D-

Effekte• Keine

Simulation• Keine

Interaktion

6

Filme

• Explosionen und Feuer gefährlich, teuer• Gefahr für Stuntmans→Simuliertes Feuer billiger und sicher

7

Simulation von Feuer

• Paper: Physically Based Modeling and Animation of Fire (Nguyen, Fedkiw, Jensen)

• Nutzt Navier-Stokes-Gleichung (nichtkomprimierbarer Fluss)

• Nicht echtzeitfähig (mehrere Minuten pro Bild)

• Interaktion mit Feuer ist möglich→ Video

8

Mathematische Grundlagen (1)

• Nabla-Operator – Gradient– Divergenz– Rotation

• Gradient:

9

Mathematische Grundlagen (2)

• Divergenz (Auswineanderströmen):– Divergenz eines Vektorfeldes ist ein skalares Feld– Positive Werte > Quelle, negative > Senke

• Laplace-Operator – Angewendet auf ein Vektorfeld entsteht wieder ein

Vektorfeld: gradient( divergenz( vektorfeld ) )

2∇=Δ

10

Navier-Stokes-Gleichungen

(1)(2)

0=⋅∇ ur

Aupuutu

+∇+∇−∇⋅−=∂∂ rrrr

21)( νρ

A

pu

ρν

rGeschwindigkeitsfeld

Druckfeld

Zähheit (Viskosität)

Dichte

Externe KräfteTransport (Advektion)

-Eigenbewegung

des Stoffes

Druck

-Druckausgleich

abhängig von der Dichte

Diffusion

-Abhängig von

Reibung Externe Kräfte

- Wind, Gravitation…

11

Aufbau einer Flamme

• Rauch (Abkühlende Produkte der Chemisches Reaktion)

• Heiße Produkte (Gelbe Flamme)

• Blauer Kern (Chemische Reaktion)

12

Model für Simulation• Temperatur des

verbrennenden Treibstoffes in Abhängigkeit der der Zeit

• Ausdehnung des Gases beim Verbrennen

→2 Navier-Stokes-Gleichungen

Feststoff Gas VerbrennungsprodukteT Blauer Kern

ZeitÜbergang von fest zu gasförmig

Stromlinien

Übergang blauer Kern zu Gelber Flamme

2 Verschiedene Flussgleichungen

13

Blauer Kern

• Oberfläche:

→Masseerhaltung

• Realität: Diffusionsflammen, Vorgemischte Flammen

• Model: nur Vorgemischte (kleineres S für Diffusionsflammen)

sff SAAv =

s

f

f

AS

A

v Geschwindigkeit des Treibstoff

Einspritzoberfläche

Reaktions-Geschwindigkeit

Blauer-Kern-Fläche

14

Heiße Verbrennungsprodukte

• Ausdehnungsparameter:

• Kopplung der beiden Navier-Stokes-Gleichungen:

hf ρρ /

fffhhh

ffhh

pDVpDV

DVDV

+−=+−

−=−22 )()(

)()(

ρρ

ρρ

SVD

p

V

f

hf

hf

hf

h

f

−=/

/

BrennstoffHeißes GasDichteGeschwindigkeitDruckGeschwindigkeit der

Übergangsfläche

15

Feste Brennstoffe

• Druck wird nicht betrachtet bei Festkörpern• Deshalb nur eine Formel (Umgestellt):

→Geschwindigkeit des Brennstoffes + Korrektur für Ausdehnung

• Mit dieser Methode sind sich bewegende, entflammende Festkörper simulierbar

SVV fssf )1/( −+= ρρ

16

Zusammenfassung Modell • Flamme wird in 2 Teile geteilt, welche getrennt

simuliert werden– Blauer Kern– Heiße Reaktionsprodukte

• Chemische Reaktion (nur Temp. interressant) als Funktion von Zeit

• Impulserhaltung am Übergang der 2 Teile• Festkörper können als Brennstoff simuliert

werden• Fragen: Flussgleichungen? Wo Übergang

Blauer-Kern ↔Heißes Gas?

17

Umsetzung des Modells

• Raum wird in ein einheitliches Voxel-Gitterunterteilt

• Jedes Voxelzentrum bekommt einen Wert für Dichte, Druck, Temperatur und Abstand zum Übergang der 2 Teile

• Geschwindigkeiten an den Flächen zwischen den Voxeln definiert

18

Flussgleichungen

• Reibung fällt weg im Gas, Navier-Stoke-Gleichung wird zur Euler-Gleichung:

apuutu

+∇−∇⋅−=∂∂

ρ1)( rr

r

0=⋅∇ ur

A

pu

ρ

rGeschwindigkeitsfeld

Druckfeld

Dichte

Externe Kräfte

19

Lösung?

• Semi-Lagrang-Ansatz, beschrieben in [Stam 1999]

• Vorgehensweise:– Advektionsteil numerisch lösen– Druckterm unter Ausnutzung von

Lösen– Auftrieb proportional zur Temperatur

0=⋅∇ ur

zTTf LuftAuftriebr)( −=α

zrα Proportionalitätsfaktor

Nach oben zeigender Vektor

20

Turbulenz-Erhaltung

• Grobe Voxel-Gitter und numerische Lösungsmethoden verringern die Rotation im Geschwindigkeitsfeld

• Lösung: Wirbelerhaltungsmethode (vorticityconfinement), Beschrieben in [Steinhoff 1994]

)( ωε

ωω

ω

×=

∇∇

=

×∇=

Nhf

N

u

wirbel

r

h

ω Rotation

Normiertes Gradientenfeld (Richtung mehr Rot.)

Parameter für Menge zugefügter Rotation

Größe der Voxel

21

Position des blauen Kern

• Ort der chemischen Reaktion, Verbindung der 2 Flussgleichungen

• Jedes Voxel bekommt einen Wert mit Abstand zum Kern, positiv →Brennstoff vorhanden, negativ →kein Brennstoff

→Level-Set-Methode• Aus Geschwindigkeitsfeld, Reaktions-

geschwindigkeit (S) und alten Abstandswerten werden neue Berechnet

• Abstandsfeld muss gelegentlich korrigiert werden

φ

0=φ

22

Berechnung von

• werden über einfach Interpolation bestimmt

• Korrekturen um einzuhalten siehe [Sethian 1996]

φ

)( zzyyxxaltneu

f

wwwt

wt

nSuw

φφφφφ

φφ

++Δ−=

∇⋅−=∂∂

+=

r

rrr

φ,, fuw rr

1=∇φ

tnw

Δ∇≈ φ

φ

r

rAbstand zum blauen Kern

Bewegung des blauen Kern

Normierter Gradient

Zeit eines Simulationsschrittes

23

Temperatur

• Temperatur ist wichtig für Darstellung des Feuers• Kann als Funktion von der Zeit berechnet werden• Zeit kann bei den Flussgleichungen mitgeführt

werden• Sehr viele gestalterische Freiheit hier, da

chemische Reaktion nicht simuliert wird• Auch andere Werte können mitgeführt werden,

z.B. Dichte für Rauchdarstellung

24

Berechnung Temperatur

• Advektionsterm der Flussgleichung + konstante:

• Werte innerhalb des blauen Kern egal, an Grenze

YTYtkY

kYutY

neu

−+Δ−=

−∇⋅−=∂∂

1~

)(

*

r

1)0( =Y

TYkY

*

Reaktionskoordinate

Konstante (=1)

Semi-Lagrang-Lösung der Advektion

Zeit

25

Darstellen des Feuers

• Lichtbrechung und Absorption wie bei Wolken• Anders als bei Wolken, strahlt Feuer Licht aus• Ist hell genug, dass sich Auge anpasst• Feuer verhält sich wie ein Schwarzkörper →ausgestrahltes Licht ist Abhängig von der

Temperatur

26

Schwarzkörperstrahlung

)1(2)( )/(5

1, 2 −

= TCe eCxL λλ λ

mKC

WmCT

22

2161

104388,1

107418,3−

⋅≈

⋅≈

Zeit

27

Farbe des Feuers

• Ausgestrahltes Spektrum wird integriert um Tristimulus-Werte zu finden

• Auge passt sich an das Spektrum der höchsten Temperatur an

→von Kries-Methode [Fairchild 1998]

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡−

r

r

r

w

w

w

a

a

a

ZYX

MS

ML

MZYX

/1000/1000/1

1

28

Resultat

29

Andere Ansätze

• Partikelsysteme:– Sehen meist nicht

sehr realistisch aus– Verwirbelungen

schwierig– Dafür einfach,

Interaktion möglich– Verbesserung z.B.

durch NURBS

30

Zusammenfassung/Ausblick

• Vollständige Simulation von Feuer zu kompliziert→Vereinfachte Modelle bringen sehr realistisch

aussehende Ergebnisse• Interaktion möglich• Bei physikalischer Simulation noch nicht

echtzeitfähig• Evtl. mit zukünftiger Physikhardware auch

Feuersimulation möglich?

31

Quellen[1] Nguyen, Fedkiw, Jensen, 2002 Physically Based Modeling and Animation of

Fire[2] Steinhoff, Underhill, 1994 Modification of the Euler Equations for “Vorticity

Confinement”[3] Stam 1999 Stable Fluids[4] Sethian 1996 A Fast Marching Level Set Method for Monotonically

Advancing Fronts[5] Fairchild 1998 Color Appearance Models. Addison Wesley

Recommended