Modellierung und Simulation einer nicht-vorgemischten ... · Dar uber hinaus geht mein Dank an...

65
Bachelor-Thesis: zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) Modellierung und Simulation einer nicht-vorgemischten Gleichstrom-Wasserstoff-Verbrennung Vorgelegt von: Jan Gabriel Computational Science and Engineering 16. Juni 2015 Gutachter: Prof. Dr. Dirk Lebiedz M.Sc. Pascal Heiter Betreuer: M.Sc. Pascal Heiter M.Sc. Hagen M¨ uller

Transcript of Modellierung und Simulation einer nicht-vorgemischten ... · Dar uber hinaus geht mein Dank an...

Bachelor-Thesis:zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.)

Modellierung und Simulation einer nicht-vorgemischtenGleichstrom-Wasserstoff-Verbrennung

Vorgelegt von: Jan Gabriel

Computational Science and Engineering

16. Juni 2015

Gutachter:

Prof. Dr. Dirk Lebiedz

M.Sc. Pascal Heiter

Betreuer:

M.Sc. Pascal Heiter

M.Sc. Hagen Muller

Danksagung

An erster Stelle mochte ich Herrn Prof. Dr. Dirk Lebiedz meinen Dank aussprechen,

als Absolvent fur die Moglichkeit, als interdisziplinarer Student eine ebenso interdis-

ziplinare Bachelor-Thesis schreiben zu durfen, und ebenso als einer seiner Studenten

fur das Aufzeigen neuer Wege und eines alternativen Studiengedankens.

Außerdem mochte ich Hagen Muller danken, fur die zahlreichen Ratschlage, ob per

eMail oder personlich, die mir meinen Weg durch thematisches Neuland wesentlich

erleichtert haben.

Daruber hinaus geht mein Dank an Pascal Heiter, sowohl fur die Muhe als mein

Zweitgutachter und Betreuer zu fungieren, als auch fur lehrreiche Momente in der

Universitat und gesellige Momente in der Freizeit.

Zuletzt mochte ich meiner Familie und meinen Freunden danken, fur jeden Mo-

ment, jedes Gesprach und die mentale Unterstutzung!

I

Zusammenfassung

Die vorliegende Bachelor-Thesis behandelt die Modellierung und Simulation einer

nicht-vorgemischten Wasserstoff-Verbrennung. In einem durch Symmetrieeigenschaf-

ten vereinfachten Stromungsfeld werden die turbuleten Stromungsverhaltnisse un-

tersucht und mit einem passenden Turbulenzmodell modelliert. Die Simulation wird

in der rein Terminal-basierten Open-Source-Software OpenFoam [1] durchgefuhrt,

in welcher die Flamme auf einem Finite-Volumen-Gitter, dessen dritte Dimensi-

on aus einem Element besteht, berechnet wird. Mit Hilfe eines neuen numerischen

OpenFoam-Losers und der Software Cantera konnen die vielfaltigen chemischen Zu-

sammenhange von der Stromung entkoppelt modelliert und anschließend mit dersel-

ben wieder zusammengefuhrt werden. Durch die Anwendung einer Parametervariati-

on des Turbulenzmodells, einer Netz-Konvergenzanalyse und durch die Aufpragung

von funktional angepassten Randbedingungen sind die Verlaufe der Simulations-

ergebnisse noch wesentlich verbessert worden. Die Validierung erfolgt durch den

Vergleich mit experimentellen Daten aus den aktuellen Forschungsergebnissen zu

nicht-vorgemischten Wasserstoff-Flammen von Robert Barlow [3].

Abstract

This present bachelor thesis deals with the modeling and simulation of non-premixed

coflow hydrogen combustion. The radial symmetric flow field is reduced to two di-

mensions and is calculated with the reynolds-averaged Navier-Stokes approach. The

simulation takes place in a terminal-based open source environment named Open-

Foam, which uses a finite volume method. A new solver for OpenFoam is introduced

to split the chemical calculations apart from the Navier-Stokes solution, to reunite

them again after solving. Parameter variation of the k-ε-model, mesh convergence

analysis methods and functional boundary adapting leads to a quite optimized si-

mulation, that can be validated by comparison to current experiments performed

by Robert Barlow [3] in the Sandia National Laboratories, Livermore, CA.

II

Inhaltsverzeichnis Inhaltsverzeichnis

Inhaltsverzeichnis

1. Einleitung 3

2. Grundlagen 5

2.1. Thermodynamik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1. Hauptsatze der Thermodynamik . . . . . . . . . . . . . . . . . 5

2.1.2. Helmholtz- und Gibbs-Energie . . . . . . . . . . . . . . . . . . 7

2.2. Chemische Kinetik reaktiver Stromung . . . . . . . . . . . . . . . . . 8

2.2.1. Reaktions-Mechanismus . . . . . . . . . . . . . . . . . . . . . 9

3. Modellierung turbulenter Flammen 11

3.1. Die Flamelet Methode . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2. Reynolds-Averaged-Navier-Stokes . . . . . . . . . . . . . . . . . . . . 14

3.3. Turbulenzmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4. Simulation einer Flamme 19

4.1. OpenFoam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2. Die Gleichstrom-H2-Flamme . . . . . . . . . . . . . . . . . . . . . . . 22

4.2.1. Geometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.2.2. Randbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.2.3. Rechner-Architektur . . . . . . . . . . . . . . . . . . . . . . . 31

4.2.4. Netz-Konvergenzanalyse . . . . . . . . . . . . . . . . . . . . . 32

4.2.5. Zeitliche Konvergenz . . . . . . . . . . . . . . . . . . . . . . . 36

5. Auswertung 37

5.1. Mischungsbruch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2. Massenbruch H2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.3. Massenbruch O2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.4. Variation der Modellkonstanten . . . . . . . . . . . . . . . . . . . . . 41

6. Fazit 43

Abbildungsverzeichnis 46

1

Inhaltsverzeichnis Inhaltsverzeichnis

A. Matlab Skript zur Berechnung der Geschwindigkeitsverteilung 48

B. Matlab Skript zur Berechnung der k-epsilon-Verteilung 50

C. Matlab Skript zur Daten-Evaluation 54

D. Netz-Konvergenz 58

E. Auswertung: H2O und Temperatur 60

2

Einleitung

1. Einleitung

Die Simulation von reaktiven Stromungen dient in erster Linie dazu, das Verstandnis

fur thermodynamische Zusammenhange selbst in komplexeren Umgebungen zu er-

weitern. In Ottomotoren beispielsweise werden die Flammen des entzundeten Treib-

stoffs simuliert um verschiedene Faktoren, wie Schadstoffausstoß oder Effizienz der

Energieumwandlung zu optimieren. Selbst nicht-beobachtbare Phanomene in der

Realitat konnen in Simulationen untersucht und ausgewertet werden.

In dieser Bachelorarbeit soll eine Grundlage fur weitere Simulationen geschaffen wer-

den, in denen die Losungen eines kompletten chemischen Systems einem reduzierten

System gegenubergestellt werden sollen. Eine reduzierte Wasserstoff-Verbrennung

ist zudem nur der erste Schritt nach dieser Bachelorarbeit, welche auf einem un-

reduzierten chemischen System basiert. Als nachstes werden daraufhin reduzier-

te Methan(CH4)-Verbrennungen und letztendlich reduzierte Kerosin-Verbrennungen

folgen.

Abbildung 1: DLR-Flamme (m.) mit Darstellung durch Rayleigh-Scattering (l.) undPLIF (Planar Laser Induced Fluorescence, r.). [14]

3

Einleitung

Nomenklatur

U Innere Energie [J]

W Arbeit [J]

Q Warme [J]

H Enthalpie [J]

p Druck [Pa]

V Volumen [m3]

S Entropie [J/K]

A Freie Energie/ Helmholtz-Energie [J]

G Freie Entropie/ Gibbs Energie [J/K]

Ea Aktivierungsenergie [J]

t Zeit [s]

ci Konzentration der Spezies i [-]

νri Stochiometrischer Koeffizient der Reaktion r und Spezies i [-]

Z Mischungsbruch [-]

M Molare Masse [kg/mol]

Yk Massenbruch der Spezies k [kg/kg]

Yel,i elementarer Massenbruch des Elements i [kg/kg]

T Temperatur [K]

R Universelle Gaskonstante R = 8.314 [J/molK]

h Spezifische Enthalpie [J/kg]

hk Spezifische Enthalpie der Spezies k [J/kg]

χst Stochiometrische skalare Dissipaionsrate [1/s]

ρ Dichte [kg/m3]

ωk Spezies-Reaktionsquellterm der chemischen Kinetik [kg/m3s]

cp Spezifische Warmekapazitat bei konstantem Druck [J/kgK]

νT Turbulenter Austauschkoeffizient [-]

v, u Geschwindigkeit [m/s]

r, R Radius [mm]

k Turbulente kinetische Energie [m2/s2]

ε Turbulente Dissipationsrate [m2/s3]

4

Grundlagen

2. Grundlagen

In diesem Kapitel werden die theoretischen Grundlagen fur die Simulation reaktiver

Stromung behandelt. Es werden sowohl thermodynamische, als auch reaktionskine-

tische Sachverhalte eingefuhrt

2.1. Thermodynamik

Die Grundbausteine der Thermodynamik sind in erster Linie die drei Hauptsatze

der Thermodynamik und die Definition der Helmholtz- und Gibbs-Energie.

2.1.1. Hauptsatze der Thermodynamik

1.”In einem isolierten System ist die Summe aller Energien konstant.“

Die Anderung der inneren Energie eines solchen Systems ist definiert als die

Summe der darauf ausgeubten Arbeit und der in das System uberfuhrten

Warme:

dU = δW + δQ. (2.1)

In dieser Formel steht das Differential dU fur das totale Differential der inneren

Energie, welches sich aus den partiellen Differentialen δW und δQ zusammen-

setzt. Aus ihr folgt die Tatsache, dass Energie weder erzeugt noch zerstort

werden kann, sondern nur in eine andere Art der Energie umgewandelt wer-

den kann.

Betrachtet man ein offenes System, nehmen außer der Warme und der Arbeit

noch die Massenstrome in Form von Verschiebearbeit Einfluss auf das System.

Zur Bilanzierung wird hierbei die Zustandsvariable Enthalpie verwendet und

der erste Hauptsatz lautet dann

H = U + pV, (2.2)

bzw.

dH = dU + pdV + V dp. (2.3)

5

2.1 Thermodynamik Grundlagen

2.”Thermische Energie ist nicht in beliebigem Maße in andere Energiearten um-

wandelbar.“

Dieser Satz impliziert zweierlei Aussagen: Zum einen die vorgeschriebene Rich-

tung der Warmeanderung. Das bedeutet, dass ein Prozess, in welchem Warme

ausschließlich von einem kalten auf einen warmen Korper transferiert wird,

nicht existiert. Zum anderen wird die Aussage des ersten Hauptsatzes der

Thermodynamik eingeschrankt, da Energie zwar in Form von Arbeit in Warme

vollstandig umgewandelt werden kann aber die umgekehrte Richtung hingegen

so nie vollstandig realisiert wird. An dieser Stelle bedarf es einer Einfuhrung

einer weiteren Zustandsvariable, der Entropie. Die Entropie kann auf verschie-

dene Art und Weise beschrieben werden, wie beispielsweise als”ein Maß fur

die Zahl der zuganglichen, energetisch gleichwertigen Mikrozustande [..., als]

ein Maß fur das Unwissen uber die mikroskopische Struktur “[7], oder mit

den Worten von Warnetz et. al.:”[E]ntropy is seen as a measure for mulecu-

lar chaos“[6]. Die hier relevante Eigenschaft der Entropie ist die Beziehung zu

reversiblen und irreversiblen Prozessen der Energieumwandlung. Die Entropie

wird niemals kleiner, sie kann nur entstehen, wenn beispielsweise mechani-

sche Energie durch Reibung in thermische Energie umgewandelt wird. Durch

irreversible Prozesse steigt die Anzahl an energetisch gleichwertigen Mikro-

zustanden und somit die Entropie selbst. Es gilt allgemein

dS =∂Qrev

T, dS >

∂Qirrev

T, (2.4)

bzw. im geschlossenen System (∂Q = 0)

(dS)rev = 0 , (dS)irrev > 0. (2.5)

3.”Am absoluten Nullpunkt verschwinden die Entropien aller in einem inneren

Gleichgewichtszustand befindlichen reinen Stoffe.“

Als innerer Gleichgewichtszustand wird anschaulich eine ideale Kristallgitter-

Anordnung der Atome bezeichnet. Am absoluten Nullpunkt hat ein solches

Gitter keine Moglichkeit mehr zu schwingen, (ir-)reversible Prozesse konnen

nicht mehr ablaufen, und damit kann es keine Anderung der Entropie mehr

geben. Da der Grenzwert der Temperatur nur asymptotisch erreicht wird, ist es

6

2.1 Thermodynamik Grundlagen

auch nicht moglich die entsprechende Entropie in endlicher Zeit zu erreichen.

limT→0

S = 0. (2.6)

Um (dennoch) einen Referenzpunkt fur Berechnungen zu haben, setzte Max

Planck 1912 den absoluten Nullpunkt der Entropie auf Null [8].

2.1.2. Helmholtz- und Gibbs-Energie

Uber das thermodynamische Gleichgewicht hinaus interessiert zudem das chemi-

sche Gleichgewicht fur praktische Anwendungen. Um die Thermodynamik adaquat

beschreiben zu konnen, mussen zwei weitere extensive Zustandsgroßen eingefuhrt

werden: die Helmholtz- und die Gibbs- Energie.

Die Helmholtz-Energie ist eine Kombination der ersten beiden Hauptsatze der Ther-

modynamik:

dU + pdV − TdS 6 0, (2.7)

im chemischen Gleichgewicht:

dU + pdV − TdS = 0, (2.8)

(dU)V,S = 0. (2.9)

Der Index (V, S) bedeutet ausgeschrieben V = const., S = const.. Aufgrund der

schlechten Messbarkeit der Entropie in der Praxis ist die Forderung S = const.

nur schwer zu erfullen. Daher ersetzt man mithilfe der Kettenregel der Differenti-

alrechnung TdS durch d(TS) − SdT , wodurch sich Gleichung 2.8 umformen lasst

zu

d(U − TS) + pdV + SdT = 0, (2.10)

d(A)V,T = 0, (2.11)

mit A = U − TS, der sogenannten freie Energie oder Helmholtz-Energie. Sie druckt

die Energie aus, die benotigt wird um ein System in ein chemisches Gleichgewicht zu

bringen. Die Gibbs-Energie kann durch eine weitere Anwendung der Kettenregel der

Differentialrechnung auf Gleichung 2.10 mit pdV = d(pV )− V dp formuliert werden

7

2.2 Chemische Kinetik reaktiver Stromung Grundlagen

als

d(U − TS + pV )− V dp+ SdT = 0, (2.12)

mitG = U−TS+pV , der sogenannten freien Enthalpie oder Gibbs-Energie. Sie dient

als Hilfsmittel zur Darstellung des reaktiven Potentials einer Reaktionsgleichung und

deren Energieanderung entlang einer bestimmten Reaktionsrichtung.

Im Fall

dG < 0, (2.13)

lauft die Reaktion direktional exergon, also unter Energieausschuttung ab. Wenn

dG = 0, (2.14)

steht der Reaktionsprozess im energetischen Gleichgewicht, was in Gleichung 2.12

der Fall ist. Die Reaktion verlauft direktional endergon, falls

dG > 0. (2.15)

Sie lauft also unter Energiezufuhr ab.

2.2. Chemische Kinetik reaktiver Stromung

In der chemischen Kinetik werden aus Reaktionsgleichungen mathematische For-

mulierungen abgeleitet und als Differentialgleichungssystem dargestellt. Dies ge-

schieht indem die Anderung der Konzentration einer Spezies in Abhangigkeit zu

den involvierten Spezies gesetzt wird. Die Geschwindigkeit einer solchen Konzentra-

tionsanderung wird durch die Ratengleichung nach Arrhenius beschrieben

k = A′ · exp

(− EaRT

), (2.16)

wobei A′ ein praexponentieller Faktor ist, welcher je nach Molekularitat in einer an-

deren Art und Weise von der Temperatur abhangt. Ea ist die Aktivierungsenergie,

R die universelle Gaskonstante und T die absolute Temperatur in [K].

Chemische Reaktionsgleichungen werden in Elementarreaktionen und Globale Re-

aktionen unterschieden, wobei globale Reaktionen aus einer Vielfalt von Elementar-

8

2.2 Chemische Kinetik reaktiver Stromung Grundlagen

reaktionen bestehen. Die globale Reaktion

2H2 +O2k−→ 2H2O, (2.17)

besteht beispielsweise aus 38 Elementarreaktionen. Diese sind molekular exakt und

konnen somit mittels Arrhenius-Kinetik als Differentialgleichungssystem formuliert

werden.

Im Allgemeinen lauft eine Reaktion nicht ausschließlich in eine Richtung ab sondern

sie verhalt sich reversibel und pendelt sich dann in einem Gleichgewichtspunkt ein.

A+B + C + ...k1k−1

D + E + F + ... (2.18)

Annahme: Gleichgewicht zwischen Hin- und Ruckrichtung:

d[A]

dt

(h)

=d[A]

dt

(r)

, (2.19)

⇔ k1 · [A]a[B]b[C]c · ... = k−1 · [D]d[E]e[F ]f · ... , (2.20)

⇔ k1k−1

=[A]a[B]b[C]c · ...[D]d[E]e[F ]f · ...

= Kc = exp(−∆RA0

RT). (2.21)

Die sogenannte Gleichgewichtskonstante Kc beinhaltet sowohl Informationen uber

die Beziehung der Konzentrationen der Reaktion im Gleichgewichtspunkt, als auch

uber die resultierende Differenz der freien Helmholtz-Energie ∆RA0.

2.2.1. Reaktions-Mechanismus

Der Mechanismus zur mathematischen Formulierung einer chemischen Reaktion lau-

tet wie folgt: (∂ci∂t

)chem,r

= kr

(ν(p)ri − ν

(e)ri

) S∏s=1

cν(e)rss . (2.22)

Dieser beschreibt die Anderung der Konzentration c einer Spezies i in der entspre-

chenden Reaktion r. Die Arrhenius-Konstante kr gibt in einer reversiblen Reaktion

stets die Geschwindigkeit einer Richtung an und wird aus Gleichung (2.16) errech-

net. Die Arrhenius-Konstante der entsprechend anderen Richtung einer reversiblen

Reaktion muss jedoch uber die Gleichgewichtskonstante Kc aus Gleichung (2.21)

9

2.2 Chemische Kinetik reaktiver Stromung Grundlagen

bestimmt werden. Die Koeffizienten ν(p)ri und ν

(e)ri bilanzieren die stochiometrische

Anderung der Spezies i wobei sich ν(e)rs im Exponent von cs auf alle Spezies der

Edukt-Seite der Reaktion bezieht.

In einem System von Elementarreaktionen kommen viele Spezies mehrfach vor. Da-

her wird nun uber alle Reaktionen r welche die Spezies i enthalten aufsummiert um

das System vollstandig zu beschreiben:

(dcidt

)chem

=R∑r=1

kr

(ν(p)ri − ν

(e)ri

) S∏s=1

cν(e)rss . (2.23)

Beispiel, aus [6]:

Dieses Reaktionsgleichungssystem zeigt die Verbrennungsreaktion von Wasserstoff

(H2) mit Chlor(Cl2):

Cl2 +Mk1k4Cl + Cl +M,

Cl +H2k2−→ HCl +H,

H + Cl2k3−→ HCl + Cl.

Das Differentialgleichungssystem (2.24) - (2.28) ist anhand des oben eingefuhrten

Mechanismus erstellt worden, wobei der Reaktant M eine besondere Rolle spielt:

In einer unimolekularen Reaktion werden in der Natur stochiometrisch unbeteiligte

Reaktanten hinzugezogen um beispielsweise bei der Spaltung von Cl2 zu Cl+Cl die

freigewordene Energie aufzunehmen. Wird diese Energie nicht aufgenommen kommt

es mit dem extremen Energieuberschuss instantan zu einer Ruckreaktion.

d[Cl]

dt= 2k1[Cl2][M ]− k2[Cl][H2] + k3[H][Cl2]− 2k4[Cl]2[M ], (2.24)

d[Cl2]

dt= −k1[Cl2][M ]− k3[H][Cl2] + k4[Cl]2[M ], (2.25)

d[H]

dt= k2[Cl][H2]− k3[H][Cl2], (2.26)

d[H2]

dt= −k2[Cl][H2], (2.27)

d[HCl]

dt= k2[Cl][H2] + k3[H][Cl2]. (2.28)

10

Modellierung turbulenter Flammen

3. Modellierung turbulenter Flammen

Die Modellierung von Turbulenzen wird in der aktuellen CFD-Simulation mit eini-

gen Methoden durchgefuhrt, wie beispielsweise RANS (Reynolds-Averaged Navier-

Stokes, siehe Kapitel 3.2) oder LES (Large-Eddy Simulation). Eine direkte nume-

rische Simulation wird besonders bei uberkritischen Reynolds-Zahlen sehr rechen-

aufwendig und selbst Hochleistungs-Cluster gelangen bei einer entsprechend feinen

Vernetzung an ihre Grenzen. Die Modellierung turbulenter Flammen wird dahinge-

hend noch verkompliziert, dass auf jedem Knoten simultan die komplette chemische

Kinetik berechnet werden muss. Eine Moglichkeit das Problem des Rechenaufwands

zu losen wird im Folgenden erlautert. Die Methode zur Modellierung tubulenter

Flammen mit dem Flamelet-Ansatz und die Implementierung eines numerischen

Losers zur Berechnung dieser Modellierung in der Opensource-Software OpenFoam

beruht auf der Arbeit von Muller, Ferraro und Pfitzner [2].

3.1. Die Flamelet Methode

Die Quintessenz der Flamelet-Methode ist die Entkopplung der Stromungsberech-

nung mit RANS/LES von der Losung des Differentialgleichungssystems der chemi-

schen Kinetik. Hierbei wird die turbulente Flamme in laminare”Flammchen“ (Fla-

melets) unterteilt, d.h. auf jedem Knoten wird einzeln eine laminare Gegenstrom-

Diffusionsflamme (vgl. Abbildung 2) berechnet, welche die Turbulenz in dem jewei-

ligen Knoten approximiert.

Abbildung 2: Laminare Gegenstrom-Diffusionsflamme, [2].

11

3.1 Die Flamelet Methode Modellierung turbulenter Flammen

Jedes Flamelet wird in einer Tabelle in der Flamelet-Bibliothek gespeichert. Um

diese Tabellen zu erstellen mussen zunachst die Flamelet-Gleichungen

ρ∂Yk∂t− 1

2ρχst

∂2Yk∂Z2

− ωk = 0, (3.1)

ρ∂T

∂t− 1

2ρχst

(∂2T

∂Z2+

1

cp

∂cp∂Z

∂T

∂Z

)+

1

cp

∑hkωk = 0, (3.2)

gelost werden. Diese liefern die Funktionen T (Z, χst), Yk(Z, χst) welche jeweils von

dem Mischungsbruch Z und der stochiometrischen skalaren Dissipationsrate χst

abhangen. Anschließend werden T und Yk mit einer Wahrscheinlichkeits-Dichte-

Funktion (PDF) uber den kompletten Raum integriert um die Massenbruche der

einzelnen Spezies und die Temperatur zu Mitteln, mit

Yk =

∞∫0

1∫0

Yk (Z, χst)P (Z, χst) dZdχst, (3.3)

und

T =

∞∫0

1∫0

T (Z, χst)P (Z, χst) dZdχst. (3.4)

Die Wahrscheinlichkeitsdichte P (Z, χst) kann nach dem Satz der stochastischen

Unabhangigkeit nach de Moivre als Produkt marginaler Dichtefunktionen

P (Z, χst) = P (Z) · P (χst) , (3.5)

geschrieben werden.

Hierdurch konnen beide Variablen auf verschiedene Weise verteilt werden. Die Ver-

teilung der stochiometrischen skalaren Dissipationsrate wird durch eine Dirac-Funk-

tion P (χst) = δ(χst − χst) beschrieben, wahrend der Mischungsbruch β -verteilt

ist:

P (Z) = Zα−1(1− Z)β−1Γ(α + β)

Γ(α)Γ(β), (3.6)

wobei Γ(x) die Gamma-Funktion ist, mit geeigneten formdefinierenden Parametern

α und β.

Aus Kompatibilitatsgrunden mit der verwendeten Software OpenFoam (siehe Ka-

12

3.1 Die Flamelet Methode Modellierung turbulenter Flammen

pitel 4.1) wird aus der Temperatur T die spezifische Enthalpie h berechnet, da aus

dieser samtliche thermodynamischen Großen abgeleitet werden konnen. Die resultie-

renden Gleichungen h(Z, χst, Z′′2) und Yk(Z, χst, Z

′′2), welche jeweils vom gemittel-

ten Mischungsbruch, dessen Varianz und der gemittleten skalaren Dissipationsrate

abhangen, werden in der mehrdimensionalen Flamelet-Library zwischengespeichert,

wo h und Yk zur Laufzeit des Solvers ausgelesen und gegebenenfalls interpoliert

werden. Fur die Stromungsberechnung wurde die spezielle OpenFoam Applikation

flameletFoam entwickelt, welche die Navier-Stokes-Gleichungen unabhangig von der

Chemie berechnet, anschließend anhand von Parametern die Flamelet-Library aus-

liest und jedem Knoten die jeweiligen thermodynamischen Großen zuordnet. Dieses

Prinzip wird in Abbilung 3 nochmals verdeutlicht.

Abbildung 3: Funktionalitat der flameletFoam-Applikation, [2].

13

3.2 Reynolds-Averaged-Navier-Stokes Modellierung turbulenter Flammen

3.2. Reynolds-Averaged-Navier-Stokes

Das Reynolds-Averaged-Navier-Stokes (RANS) Modell beschreibt die Navier-Stokes-

Gleichungen einer turbulenten Stromung auf der Basis gemittelter Zeit- und Dich-

tekomponenten (Favre-Average). Bei der Zeitmittlung wird eine Variable q in ihren

zeitlichen Mittelwert q und ihre Fluktuation q′ aufgeteilt. Hierbei ist wichtig zu

beachten, dass der Mittelwert der Fluktuationen Null sein muss.

q = q + q′, q′ = 0. (3.7)

Die Dichtemittlung (Favre-Average) wird bei großeren Dichteschwankungen, wie sie

in Verbrennungsprozessen vorkommen, verwendet. Sie verhalt sich ahnlich wie die

zeitliche Mittlung, bis auf den Unterschied, dass der Mittelwert mit der Dichte ρ

gewichtet wird

q =ρq

ρ, (3.8)

und die Variable q erneut als ihr (gewichteter) Mittelwert q und ihre Fluktuation q′′

ausgedruckt werden kann.

q = q + q′′, q′′ = 0. (3.9)

Die direkte numerische Simulation wird durch gemittelte Werte dahingehend ver-

bessert, dass die Menge der Daten auf ein Minimum reduziert wird wohingegen sich

die Aussagekraft der Daten relativ gesehen verbessert. Im Gegensatz zur direkten

Simulation bzw. einer LES-Simulation (Large-Eddy-Simulation) werden hier als Re-

sultat der Mittlung die Wirbelstrukturen nicht mitberechnet (vgl. Abbildung 4).

Um diese Gleichungen numerisch losen zu konnen, werden in einigen verbreiteten

Turbulenzmodellen die fluktuierenden Terme der Form ρ~v′′q′′ als turbulenter Trans-

port interpretiert und mit dem Gradienten des Mittelwerts jeder Große angenahert

ρ~v′′q′′ = −ρνT grad qi. (3.10)

Verschiedene Modelle des turbulenten Transports werden im folgenden Kapitel 3.3

durch Variation des turbulenten Austauschkoeffizienten νT eingefuhrt und erlautert.

14

3.2 Reynolds-Averaged-Navier-Stokes Modellierung turbulenter Flammen

Abbildung 4: Schematischer Vergleich einer einer direkten Simulation (a) und einerRANS-Simulation (b), [9].

Die RANS-Gleichungen (nach Warnetz et. al. [6]) setzen sich aus den folgenden

Gesetzen zusammen:

• Massenerhaltung/Kontinuitat

∂ρ

∂t+ div

(ρ~v)

= 0, (3.11)

• Massenerhaltung der einzelnen Spezies

∂(ρYi

)∂t

+ div(ρ~vYi

)+ div

(−ρνT grad Yi

)= Miωi, (3.12)

• Impulserhaltung

∂ (ρvi)

∂t+ div

(ρ~v ⊗ ~v

)+ div

(−ρνT grad ~v

)= ρ~g, (3.13)

• Energieerhaltung

∂(ρh)

∂t− ∂p

∂t+ div

(ρ~vh)

+ div(−ρνT grad h

)= qr, (3.14)

• Elementare Massenerhaltung

∂(ρYel,i

)∂t

+ div(ρ~vYel,i

)+ div

(−ρνT grad Yel,i

)= 0. (3.15)

15

3.3 Turbulenzmodelle Modellierung turbulenter Flammen

Die Gleichung (3.15) beschreibt zusatzlich zu den vier RANS-Erhaltungsgleichungen

die Massenerhaltung der beteiligten Elemente. Der Elementare Massenbruch wird

hier definiert als

Yel,i =∑

µijYi, (3.16)

mit dem Verhaltnis µij zwischen dem Element i und der Spezies j. Aufgrund der

problematischen Handhabung der Reaktionsquellterme Miωi in Gleichung 3.12 kann

auf die Element-Erhaltung ∑µijMiωi = 0, (3.17)

zuruckgegriffen werden. Diese entspricht der ungemittelten rechten Seite der Spezies-

Massenerhaltungsgleichung, welche mittels Multiplikation der gesamten Gleichung

mit µij und Aufsummation uber alle beteiligten Elemente die Gleichung 3.15 ergibt.

Diese muss naturlich ebenso zeitlich gemittelt werden.

3.3. Turbulenzmodelle

• Null-dimensionale Transportgleichungen

In dieser Art der Modellierung wird der turbulente Transport und der tur-

bulente Austauschkoeffizient durch mathematische Terme substituiert ohne

eine zusatzliche Differentialgleichung aufzusetzen. Beispielsweise mit der For-

mel der Mischungslange von Prandtl (1925) [6]. Hierbei wird der Transport

modelliert als

ρ~v′′q′′ = −ρ`2∣∣∣∣∂v∂z

∣∣∣∣ ∂q∂z und νT = `2∂v

∂z. (3.18)

Am Beispiel in Abbilung 5 ist ersichtlich, dass der turbulete Transport einer

Abbildung 5: Beispiel einer Scherstromung mit turbulenter Grenzschicht,[6].

16

3.3 Turbulenzmodelle Modellierung turbulenter Flammen

Scherstromung von der Anderung der Geschwindigkeit in Scherrichtung (z-

Richtung) und einer problemspezifischen Lange ` , welche von der Scherschicht

δ abhangt. Diese Modellierung ist jedoch heutzutage uberholt.

• Eindimensionale Transportgleichungen

Der turbulente Transport wird, im Gegensatz zur null-dimensionalen Modellie-

rung, mit einer Differentialgleichung beschrieben. Der turbulente Austausch-

koeffizient νT berechnet sich mit der turbulenten kinetischen Energie

k =1

2

ρ∑v′2i

ρ, (3.19)

aus der Formel nach Prandtl (1945), [6]

νT = `√k, (3.20)

wobei sich k als die Losung der Differentialgleichung ergibt und v′2i die Diago-

nalelemente des Reynold’schen Spannungstensors bezeichnet (vgl. Gleichung (4.7)).

Die Mischungslange ` wird analog zur null-dimensionalen Modellierung errech-

net. Diese Modellierung ist heutzutage ebenso uberholt.

• Zweidimensionale Transportgleichungen

Die wohl popularste Transport-Modellierung ist das k-ε-Turbulenzmodell als

Spezialfall zweidimensionaler Transportgleichungen, aufgrund der zusatzlichen

Berechenbarkeit von turbulenten Auswirkungen, wie der Konvektion und der

Diffusion [16].

Die Formulierung des turbulenten Austauschkoeffizienten lautet

νt = Cµk

ε, (3.21)

aus der allgemeinen Formel

νT ∝ z1n k

12−m

n , mit n = −1 und m =3

2, (3.22)

wobei im Gegensatz zu anderen Turbulenzmodellen wie beispielsweise dem

k-ω-Turbulenzmodell die Varieble z der gemittelten turbulenten Dissipations-

17

3.3 Turbulenzmodelle Modellierung turbulenter Flammen

rate ε entspricht. Das zugehorige Differentialgleichungssystem, welches zusatz-

lich zu den RANS-Gleichungen gelost wird lautet

∂(ρk)

∂t+ div(ρ~vk)− div(ρνT grad k) = Gk − ρε, (3.23)

∂(ρε)

∂t+ div(ρ~vε)− div(ρνT grad ε) = (C1Gk − C2ρε)

ε

k. (3.24)

Die Gleichung (3.24) basiert auf reiner Empirie, ebenso wie die Modellkon-

stanten Cµ = 0.09, C1 = 1.44, C2 = 1.92 und der Konstanten Gk welche sich

aus dem Term

Gk = −ρ~v′′ ⊗ ~v′′ : grad ~v, (3.25)

ergibt. Auf deren Problemabhangigkeit - speziell der Konstanten C1 - wird in

Kapitel 5.4 noch weiter eingegangen und die Anfangswerte des Differentail-

gleichungssystems werden in Kapitel 4.2.2 thematisiert.

18

Simulation einer Flamme

4. Simulation einer Flamme

4.1. OpenFoam

Die quelloffene Software OpenFoam (Open Source Field Operation and Manipulati-

on, [1]) bietet eine Vielfalt an Anwendungen zur Losung laminarer und turbulenter

Stromung, sowohl im kommerziellen als auch in akademischen Bereich. Sie beinhal-

tet einige verbreitete Turbulenzmodelle, wie beispielsweise RAS (Reynolds-Averaged

Simulation), LES (Large Eddy Simulation), DES (Detached Eddy Simulation) oder

DNS (Direct Numerical Simulation) zur numerischen Stromungssimulation, speziell

auch fur reaktive Stromung. Der strukturelle Aufbau eines OpenFoam-Cases ist in

Abbildung 6 ersichtlich. Der system-Ordner beinhaltet samtliche Informationen zur

Abbildung 6: Ordner-Struktur eines OpenFoam-Cases, [15].

numerischen Berechnung und Einstellungen fur die Architektur auf der gerechnet

werden soll. In den Dateien fvSchemes und fvSolution sind alle Angaben zu numeri-

schen Losern gespeichert und in der controlDict-Datei werden, wie im nachfolgenden

Code-Beispiel gezeigt, die verwendete Applikation, die Zeitspanne und einige weitere

Parameter angegeben.

19

4.1 OpenFoam Simulation einer Flamme

1 /*--------------------------------*- C++ -*----------------------------------*\

2 | ========= | |

3 | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |

4 | \\ / O peration | Version: 2.3.1 |

5 | \\ / A nd | Web: www.OpenFOAM.org |

6 | \\/ M anipulation | |

7 \*---------------------------------------------------------------------------*/

8 FoamFile

9 {

10 Version 2.0;

11 Format ascii;

12 class dictionary;

13 location "system ";

14 object controlDict;

15 }

16

17 application flameletFoam;

18

19 startFrom startTime;

20

21 startTime 0;

22

23 stopAt endTime;

24

25 endTime 0.65;

26

27 deltaT 2.5e-7; // initial time step

28

29 writeControl adjustableRunTime;

30

31 writeInterval 1e-2;

32

33 purgeWrite 0;

34

35 writeFormat ascii;

36

37 writePrecision 6;

38

39 writeCompression off;

40

41 timeFormat general;

42

43 timePrecision 6;

44

45 runTimeModifiable true;

46

47 adjustTimeStep yes;

48

49 maxCo 0.3;

20

4.1 OpenFoam Simulation einer Flamme

Hierbei ist wichtig zu erwahnen, dass der Parameter maxCo den Wert 0.3 nicht

uberschreiten darf. Die sogenannte Courant-Zahl Co steht in einer Stromungs-Simu-

lation fur das Verhaltnis zwischen einem Zeitschritt ∂t pro Zellengroße ∂x, multipli-

ziert mit der Mittleren Geschwindigkeit in der jeweiligen Zelle des Gitters, also

Co =∂t|U |∂x

. (4.1)

Ist adjustT imeStep = yes, wird der Zeitschritt ∂t automatisch angepasst um die

Courant-Zahl stets unter 0.3 zu halten. Wird die Courant-Zahl zu groß (kritisch bei

Co > 1), wird in einem Zeitschritt eine ganze Zelle im Netz ubersprungen, was ein

feines Netz unnutz macht.

Im system-Ordner befindet sich in diesem Fall noch eine decomposeParDict-Datei,

mit welcher die Moglichkeit besteht, einen OpenFoam-Case parallel via shared me-

mory oder auch via distributed memory zu berechnen.

Im constant-Ordner des OpenFoam-Cases befindet sich der Ordner polyMesh und

zusatzlich Dateien zur Spezifizierung des Turbulenz-Modells, der Art der Verbren-

nung, der Auswahl der chemischen Tabellen und der thermophysikalischen Großen.

Die Dateien im polyMesh-Ordner sind ein Produkt der Verarbeitung der Datei block-

MeshDict durch die OpenFoam-Applikation blockMesh. Sie beinhalten alle relevan-

ten Informationen zum Aufbau und der Art des Rechengitters.

Will man nun einen OpenFoam-Case berechnen, bedient man sich aus Aufwands-

grunden eines make-files. Das Intervall, in welchem die Losungen in Ordnern gespei-

1 # make -file: Allrun

2

3 . $WM_PROJECT_DIR/bin/tools/RunFunctions #Source tutorial run functions

4

5 runApplication blockMesh #create Mesh

6

7 runApplication canteraToFoam #integrate tables

8

9 runApplication decomposePar #decompose case

10

11 runParallel flameletFoam 12 #start solver

12

13 runApplication reconstructPar #reconstruct case

14

15 rm -rf processor*

16

17 # calculate species mass fractions:

18 runApplication flameletFoamPost -latestTime

21

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

chert werden sollen, wird in der controlDict-Datei via writeInterval angegeben und

alle Simulationsergebnisse landen in ihren jeweiligen time directories. Die Ordner

werden nach ihrer jeweiligen Zeit benannt, also

namei = 0 + i ∗ writeInterval, mit i = 1, . . . ,endTime

writeInterval. (4.2)

Zur Berechnung kann in derselben Datei eine von uber 80 OpenFoam-Applikationen

ausgewahlt werden. Genugt diese Auswahl nicht, besteht durch den einheitlichen

Aufbau des Quellcodes der verschiedenen Stromungs-Losern den OpenFoam-Nutzern

die Moglichkeit eigene Programme zu schreiben und sie in OpenFoam einzubinden.

In dieser Bachelorarbeit wird die Applikation flameletFoam von Muller, Ferraro und

Pfitzner [10] verwendet um eine Gleichstrom-Wasserstoff-Flamme zu simulieren. Das

zugrunde liegende Prinzip dieser Applikation wurde in Kapitel 3.1 erlautert.

4.2. Die Gleichstrom-H2-Flamme

In Anlehnung an die Experimente der Sandia National Laboratories Livermore,

CA wird im Folgenden der Aufbau und die Simulation einer nicht-vorgemischten

Gleichstrom-Wasserstoff-Verbrennung aufgezeigt.

4.2.1. Geometrie

Der Simulationsaufbau besteht wie in den Experimenten an der Einfluss-Seite aus

dem Querschnitt einer Wasserstoff-Duse mit 3,75 mm Durchmesser mit einer exklu-

siven Wandstarke von 0,55 mm. Die Duse wird von einem runden Stromungsfeld

mit Durchmesser 300 mm umgeben durch welches Luft einstromt. Die Lange dieses

zylindrischen Gebiets und somit die Hohe der simulierten Flamme betragt 800 mm.

An der Ausfluss-Seite wurde eine durchlassige Wand definiert, welche die Stromung

nicht am Austreten hindert.

Der Raum in dem die Simulation ablauft wurde dahingehend vereinfacht, dass in

dem radialsymmetrischen Stromungsfeld der Flamme lediglich ein”Kuchenstuck“

mit Innenwinkel α ≈ 3◦ betrachtet wird (siehe Abbildung 7). Um eine zweidimen-

sionale reaktive Stromung berechnen zu konnen, besitzt dieser Ausschnitt die Dicke

eines einzigen Elements. Aufgrund dieser Vereinfachung kann die Dusenwand an der

Einfluss-Seite nicht rund dargestellt werden, sondern wird linear zwischen den an

22

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

den Seitenwanden befindlichen Knoten interpoliert. Wie in Abbildung 7 ersichtlich,

wurde die Einfluss-Ebene in drei Teile unterteilt:

1. Zuluft im Gleichstrom (Air)

2. Dusenwand (Tube)

3. Wasserstoff Einlass (Hydrogen)

Abbildung 7: Kuchenstuck des Stromungsfeldes, 20-fach in z-Richtung hochskaliert.

Der Raum, der an die Zuluft-Ebene anschließt ist ein Zusammenschluss (patch) aus

zwei Unterraumen, da so das Gebiet der Grenzschicht zwischen Luft und Flamme in

y-Richtung feiner vernetzt werden kann, ohne unnotigerweise den kompletten Raum

zu verfeinern.

23

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

4.2.2. Randbedingungen

In OpenFoam werden Randbedingungen in der time directory”0 “(vgl. Kapitel 4.1)

definiert. Fur jede der Variablen alphat, chi, epsilon, k, mut, p, T , U , varZ und

Z wird eine Datei mit den Werten an den jeweiligen Flachen (faces) Inlet, Outlet,

Air, Hydrogen, etc. angelegt. Fur jede Flache muss ein Wert angegeben werden,

welcher auf alle Elemente der Flache einzeln aufgepragt wird. In diesem Fall wird

fur die Geschwindigkeit U , die turbulente kinetische Energie k und die turbulente

Dissipationsrate ε nicht nur ein Wert, sondern eine Liste von Werte angegeben um

den Anfangswerten einen nicht-konstanten funktionalen Verlauf zu geben. Das ist

notwendig um die Reibung einer Rohrstromung, wie sie vor dem Wasserstoff-Einlass

in der Wasserstoff-Duse vorkommt abzubilden. Der resultierende funktionale Verlauf

wird in Abbildung 8 gezeigt.

Abbildung 8: Reibungsbedingte Geschwindigkeits-Verteilung einer Rohrstromung[11].

24

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

Geschwindigkeit u0

Die Formel fur die reibungsbehaftete Geschwindigkeit an der Wasserstoff-Duse lautet

u(r) =(

1− r

R

) 1nUmax. (4.3)

Nach der 1/7-Regel von Nikuradse (1932) [12] ergibt sich somit fur n = 7 eine echt

turbulente Rohrstromung. Um die Geschwindigkeitsverteilung den Messdaten der

Randbedingungen von Barlow et. al. [3] etwas Naher zu bringen, ist ein Wert von

n = 12 passender. Die Verteilung wurde der Messung mit 20% Helium-Verdunnung

entnommen, da fur den 0%-Fall keine Randmessdaten existieren.

Die Geschwindigkeit ist in der Literatur als Mittelwert Uavg = 296ms

angegeben. Um

die Maximalgeschwindigkeit der Formel (4.3) zu berechnen wurde die Gleichung (4.5)

implementiert und mit einem m ≈ 106 ausgewertet.

Uavg =

∑mi=0

(1− r(i)

R

) 1nUmax

m, mit r(i) = i · R

m(4.4)

⇔ Umax = limm→∞

Uavgm∑mi=0

(1− r(i)

R

) 1n

. (4.5)

Mit dem berechneten Umax und der Formel (4.3) kann nun mit Matlab eine Ge-

schwindigkeitsverteilung auf den Elementen der Hydrogen-Flache im OpenFoam-

Format erstellt werden (siehe Matlab-Skript im Anhang A). Hier mit numElements =

25. Zur Veranschaulichung zeigt Abbildung 9 diesen fur OpenFoam definierten Ge-

schwindigkeitsverlauf auf 25 Zellen.

25

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

1 type fixedValue;

2 value nonuniform List <vector >

3 25

4 (

5 ( 320.127453 0 0 )

6 ( 319.017667 0 0 )

7 ( 317.863716 0 0 )

8 ( 316.661758 0 0 )

9 ( 315.407417 0 0 )

10 ( 314.095680 0 0 )

11 ( 312.720768 0 0 )

12 ( 311.275962 0 0 )

13 ( 309.753395 0 0 )

14 ( 308.143767 0 0 )

15 ( 306.435973 0 0 )

16 ( 304.616596 0 0 )

17 ( 302.669213 0 0 )

18 ( 300.573415 0 0 )

19 ( 298.303389 0 0 )

20 ( 295.825799 0 0 )

21 ( 293.096516 0 0 )

22 ( 290.055331 0 0 )

23 ( 286.616943 0 0 )

24 ( 282.654543 0 0 )

25 ( 277.967138 0 0 )

26 ( 272.206244 0 0 )

27 ( 264.679769 0 0 )

28 ( 253.649115 0 0 )

29 ( 231.458560 0 0 )

30 );

Abbildung 9: Reibungsbedingte Geschwindigkeits-Verteilung uber die Zellen, ∗ be-zeichnet die Knoten.

26

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

Turbulente kinetische Energie k0

Die Formel fur die turbulente kinetische Energie lautet

k =1

2

(u′1u

′1 + u′2u

′2 + u′3u

′3

), (4.6)

wobei uii, i = 1,2,3, die Diagonalelemente des Reynold’schen Spannungstensors und

somit die drei Hauptspannungen bezeichnen:

− τij = ρ

u′1u′1 u′1u

′2 u′1u

′3

u′2u′1 u′2u

′2 u′2u

′3

u′3u′1 u′3u

′2 u′3u

′3

. (4.7)

Da fur den Fall ohne Helium-Verdunnung keine Messdaten existieren, werden wie-

der die Daten mit 20%-Verdunnung verwendet und via Matlab ausgewertet (siehe

Matlab-Skript im Anhang B).

Die Diskretisierung der Messdaten ist, wie in Abbildung 10 verdeutlicht, mit 50

Messdaten uber den kompletten Durchmesser zu gering gewahlt, um sie auf eine

Zellenanzahl numElements > 25 aufzupragen. Daher werden die Daten via Inter-

polation auf ≈ 500 Datenpunkte erweitert. Anschließend mussen die Daten zuge-

Abbildung 10: Messdaten der turbulen-ten kinetischen Energie.

Abbildung 11: Verfeinerte Messdaten.

schnitten werden, um ausschließlich Werte innerhalb des Durchmessers der Duse zu

betrachten. Der Durchmesser wurde hier auf d = 2, 04mm gesetzt, da die Messstelle

27

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

sich offenbar nicht direkt an der Duse, sondern etwas dahinter befand. Somit ver-

bleiben noch ≈ 400 Datenpunkte (vgl. Abbildung 11). Die Grenzen der relevanten

Daten werden in den Abbildungen als rote Linien gekennzeichnet. Die Vereinfachung

der Simulationsumgebung basiert auf gewissen Symmetrie-Eigenschaften, welche ei-

ne symmetrische Halfte der Randbedingungen benotigt. Um Symmetrie zu schaffen,

werden die verfeinerten Messdaten k ∈ Rn symmetrisch zur y-Achse gemittelt,

ki =|ki + kn−i+1|

2, mit i = 1, . . . ,

n

2, (4.8)

und anschließend halbiert, wie es in Abbildung 12 und 13 ersichtlich ist.

Abbildung 12: Gemittelte Messdaten. Abbildung 13: Halbierte Messdaten.

Dieser symmetrische Verlauf der turbulenten kinetischen Energie kann dann wie

im vorherigen Kapitel als funktionaler Verlauf uber die Zellen in der Hydrogen-

Flache im OpenFoam-Format erstellt werden (siehe Matlab-Skript im Anhang B).

In Abbildung 14 ist der Verlauf der turbulenten kinetischen Energie uber die Zellen

aufgezeigt. Die Verteilung deckt sich mit der zuvor eingefuhrten Rohrstromung aus

Abbildung 8. Die Normalspannungen sind reibungsbedingt in Wandnahe wesentlich

großer als in der Rohrmitte. Aus Formel (4.6) folgt, dass ebenso die turbulente kine-

tische Energie in Wandnahe wesentlich großer sein muss, da die Normalspannungen

quadratisch in die Gleichung eingehen. Der Einfluss von Reibung auf die turbulente

Dissipationsrate wird im Folgenden erlautert.

28

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

1 type fixedValue;

2 value nonuniform List <scalar >

3 25

4 (

5 557.580764

6 543.032708

7 541.837083

8 552.179792

9 551.551042

10 534.833854

11 538.982604

12 524.174444

13 498.732847

14 499.842257

15 475.502743

16 475.871771

17 465.603889

18 445.749861

19 440.988958

20 441.800139

21 458.372153

22 469.240278

23 477.565764

24 510.699062

25 563.164459

26 728.768216

27 986.141213

28 1187.031665

29 1161.620548

30 );

Abbildung 14: Reibungsbedingte Verteilung der turbulenten kinetischen Energieuber 25 Zellen.

29

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

Turbulente Dissipationsrate ε0

Mit der turbulenten Dissipationsrate bezeichnet man die Geschwindigkeit in welcher

turbulente kinetische Energie in innere Energie eines Systems umgesetzt wird, also

die Energieanderung pro Zeit. Sie geht direkt aus der turbulenten kinetischen Energie

hervor

ε = C34µk

32

`, (4.9)

mit dem Standard-Koeffizienten des k-ε-Modells Cµ = 0, 09.

Das turbulente Langenmaß ` wird in Anlehnung an Zimmermann [12] auf 30% des

hydraulischen Durchmessers gesetzt. Der funktionale Verlauf der turbulenten Dis-

sipationsrate aus Abbildung 15, kann dann mit Formel (4.9) wie zuvor auf den

Mittelpunkt jeder Zelle der Hydrogen-Flache aufgepragt werden:

1 type fixedValue;

2 value nonuniform List <scalar >

3 25

4 (

5 1923052.024530

6 1848282.464998

7 1842181.628383

8 1895178.507018

9 1891942.457187

10 1806582.063616

11 1827643.483394

12 1752843.429348

13 1626789.341142

14 1632220.442816

15 1514463.809202

16 1516227.166959

17 1467419.406178

18 1374567.857973

19 1352604.827066

20 1356338.631936

21 1433364.676469

22 1484643.852893

23 1524330.492975

24 1685687.050456

25 1952010.808505

26 2873515.175124

27 4523119.104202

28 5973416.756979

29 5782635.104072

30 );

30

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

Abbildung 15: Reibungsbedingte Verteilung der turbulenten Dissipationsrate.

4.2.3. Rechner-Architektur

Die Simulationen wurden auf dem High-Performance-Computing(HPC)-Cluster na-

mens Pacioli des Ulmer Zentrums fur Wissenschaftliches Rechnen (UZWR) durch-

gefuhrt. Der Cluster lauft unter dem Linux Derivat”Scientific Linux“und besitzt

insgesamt 39 Compute-Nodes und einen dedizierten Storage-Node. Aus Kompa-

tibilitatsgrunden des aktuell eingerichteten”parallel environment“mit OpenFoam,

konnte nur via shared memory auf einem der Knoten mit maximal 12 Prozessen

gerechnet werden. Die Knoten basieren auf Intels Sandy Bridge EP (Xeon E5-2630)

und verfugen uber jeweils 128 Gigabyte RAM. Im folgenden Kapitel wird erlautert,

wie auf dieser Rechner-Architektur die Rechenzeiten der Simulation dem Ergebnis

gegenubergestellt wird.

31

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

4.2.4. Netz-Konvergenzanalyse

Einen Kompromiss zwischen Rechenzeit und Aussagekraft zu finden ist in den meis-

ten Simulationen schwierig. Oftmals interessieren, besonders in der Industrie, nur

komplexe Fragestellungen. Einfache Probleme konnen analytisch gelost werden. Mit

Hilfe einer Netz-Konvergenzanalyse wird die Netzdichte des Stromungsfelds der Ge-

nauigkeit der Losung gegenubergestellt um das optimale Gitter zu finden. Die Re-

chenzeiten und die zugehorigen Knoten-/Elementzahlen werden in Abbildung 16

verglichen.

Netz # Elemente # Knoten RechenzeitenNetz01 7000 14000 1 h 06 minNetz02 28000 57000 7 h 59 minNetz03 60000 120000 31 h 25 minNetz04 113000 230000 110 h 12 min

Abbildung 16: Element-/Knotenanzahlen und zugehorige Rechenzeit.

Am Beispiel des Mischungsbruchs Z an den axialen Stellen x/L = 1/4 und

x/L = 3/8 kann man sehr gut erkennen, dass die Netz-Konvergenzanalyse in diesem

Fall keine verwertbare Losung liefert. Die Mittelwerte der Messdaten werden als ∗dargestellt.

(i) x/L = 1/4 (ii) x/L = 3/8

Abbildung 17: Z: Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04.

32

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

Die Verteilung (ii) wurde die Annahme bestatigen, dass mit zunehmender Netz-

dichte die Losung sich zunehmend verbessert. Besonders im Bereich 0-20 mm zeigt

sich durch die zunehmende Krummung eine wesentlich bessere Annaherung an die

Messdaten (Netz04 - blau) im Vergleich zu den Ergebnissen geringer Netzdichten

(Netz01 - cyan, Netz02 - grun). In der axial direkt benachbarten Verteilung (i) tritt

jedoch Gegenteiliges auf.

(iii) x/L = 3/8 (iv) x/L = 1/2

Abbildung 18: O2: Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04.

Entgegen der Erwartungen verlauft die Losung des feinsten Netzes mit geringe-

rer Krummung im Bereich 0-20 mm als die Losung der einfachen Netze und bewegt

sich zudem fast außerhalb der Standardabweichung der Messungen. In vielen Vertei-

lungen der verschiedenen chemischen Spezies ist teilweise zu beobachten, dass sich,

wie im Verlauf des Sauerstoff-Massenbruchs in Abbildung 18, die Losung nur unwe-

sentlich andert. Aufgrund dieser Beobachtungen ware die Wahl des Netzes nahezu

irrelevant. In Anhang D werden noch weitere Beispiele gezeigt, welche diese Aussage

untermauern.

Unter Berucksichtigung der Rechenzeit wird in den folgenden Kapiteln das Netz03

mit ca. 60000 Elementen und ca. 120000 Knoten zur Auswertung verwendet. Die

Standardabweichungen werden zwar von allen Netzen sehr gut getroffen, jedoch bil-

det Netz03 – in Relation gesehen – die Mittelwerte der Messdaten am besten ab.

33

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

Vernetzung

Wie in Abbildung 19 zu sehen ist, wird sowohl der gesamte Bereich des Kerns

der Flamme als auch die Vernetzung um die Dusenwand so angepasst, dass die

Zellen an den relevanten Stellen am kleinsten sind. In OpenFoam wird das Netz

Abbildung 19: Netz03, gesamt (o.) und Ausschnitt an der Dusenwand (u.).

durch Definition der Randpunkt-Koordinaten, Verknupfung dieser Randpunkte zu

”blocks“und Unterteilung dieser

”blocks“in allen drei Dimensionen, erstellt. Im fol-

genden Code-Beispiel wird die Definition des verwendeten Netzes und die Begren-

zung des Stromungsfeldes durch”patches“beschrieben. Die Zeile 25 beispielswei-

se bezeichnet das Hexaederformige (hex) Stromungsfeld, welches an die Hydrogen-

Flache anschließt. Es wird durch acht Rand-Koordinaten definiert und ist 300-fach

in x-Richtung, 25-fach in y-Richtung und 1-fach in z-Richtung unterteilt. Die Me-

thode grading(4 0.5 1) vergroßert die Differenz zwischen dem ersten und letzten

Elements jeder Dimension um ihren jeweiligen Faktor und interpoliert die Element-

großen linear um eine gewisse Verfeinerung an den relevanten Stellen zu erhalten.

Bei Werten kleiner Null wird um deren Kehrwert in die andere Richtung verfeinert.

34

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

1 convertToMeters 1e-3;

2 vertices

3 (

4 (0 0 0)

5 (800 0 0)

6 (800 1.8747 -0.03272)

7 (800 2.4247 -0.04232)

8 (800 9.3735 -0.16359)

9 (800 149.977 -2.61786)

10 (0 149.977 -2.61786)

11 (0 9.3735 -0.16359)

12 (0 2.4247 -0.04232)

13 (0 1.8747 -0.03272)

14 (800 1.8747 0.03272)

15 (800 2.4247 0.04232)

16 (800 9.3735 0.16359)

17 (800 149.977 2.61786)

18 (0 149.977 2.61786)

19 (0 9.3735 0.16359)

20 (0 2.4247 0.04232)

21 (0 1.8747 0.03272)

22 );

23 blocks

24 (

25 hex (0 1 2 9 0 1 10 17) (300 25 1) simpleGrading (4 0.5 1)

26 hex (9 2 3 8 17 10 11 16) (300 15 1) simpleGrading (4 1 1)

27 hex (8 3 4 7 16 11 12 15) (300 60 1) simpleGrading (4 8 1)

28 hex (7 4 5 6 15 12 13 14) (300 100 1) simpleGrading (4 15 1)

29 );

30 edges

31 (

32 );

33 boundary

34 (

35 Air

36 {

37 type patch;

38 faces

39 (

40 (15 7 6 14)

41 (16 8 7 15)

42 );

43 }

44 Hydrogen

45 {

46 type patch;

47 faces

48 (

49 (0 9 17 0)

50 );

51 }

52 Tube

53 {

54 type wall;

55 faces

56 (

57 (17 9 8 16)

58 );

59 }

60 ...

61 );

62 mergePatchPairs

63 (

64 );

35

4.2 Die Gleichstrom-H2-Flamme Simulation einer Flamme

4.2.5. Zeitliche Konvergenz

Neben der Konvergenz des Netzes ist zusatzlich wichtig, dass jegliche Turbulen-

zen der transienten Stromungssimulation sich in eine stationare Losung einpen-

deln. Schon geringe Bewegungen, wie in Abbildung 20 verdeutlicht, behindern einen

adaquaten Vergleich der Simulationsergebnisse mit den experimentellen Daten. Hier-

zu wurde die Endzeit der Simulation um bis zu 0,2 Sekunden verlangert und daruber

hinaus wurde eine Interpolation gewahlt welche die Werte stromaufwarts mit ein-

bezieht (upwind).

Abbildung 20: Flackern der Flamme in der transienten Berechnung, eingefarbt nachder Temperaturverteilung.

36

Auswertung

5. Auswertung

Die experimentellen Daten der Thermodynamik entstammen den Messungen von

Robert Barlow [13], einem Mitglied der Combustion Forschungseinrichtung der San-

dia National Laboratories Livermore, CA, wobei die Messdaten der Geschwindigkei-

ten an der ETH Zurich ermittelt wurden. Die gemeinsame, hier verwendete Veroffentlichung

2.0, [3] ist auf dem Stand von 2003 (Januar). Es wurden drei verschiedene Messun-

gen durchgefuhrt: 0% , 20% und 40% Helium Verdunnung, wobei die Simulation

der Wasserstoff-Flamme dem unverdunnten Fall entspricht. Pro Messung wurden

an jeder der sieben axialen Messstellen (18, 14, 38, 12, 58, 34, 11) ca. 500 Messungen durch-

gefuhrt und in Tabellen gespeichert. Diese Tabellen sind entsprechend nach der

Helium Verdunnung, der axialen und der radialen Position benannt. Beispielswei-

se he0x1409.sct enthalt Daten mit unverdunntem Wasserstoff (he0) an der axialen

Stelle x/L = 1/4 (x14) im radialen Abstand 9 mm (09). Um den radialen Verlauf an

jeder axialen Stelle auswerten zu konnen, muss jeweils das radiale Mittel bzw. die

radiale Standardabweichung berechnet werden. Die Mittelwerte sind im folgenden

als ∗ und die Standardabweichungen als —— dargestellt.

5.1. Mischungsbruch

In den Messdaten wird der Mischungsbruch nach Bilger definiert als

Fblgr =0, 5(YH − Y2H)/MH − (YO − Y2O)/MO

0, 5(Y1H − Y2H)/MH − (Y1O − Y2O)/MO

, (5.1)

wobei YH, YO die Elementar-Massenbruche der H- bzw. O-Atome bezeichnet. Die

Indizes 1 und 2 ordnen die Massenbruche dem Wasserstoff-Strahl und enstprechend

dem Luft-Strom zu. MH = 1, 008 und MO = 16 sind die molaren Massen der Stoffe.

In Abbildung 21 sind die radialen Verlaufe des Mischungsbruchs an den vier aussa-

gekraftigsten axialen Stellen aufgezeigt.

Die Verteilung (i), unmittelbar stromabwarts der Duse, trifft die Standardabwei-

chungen nicht zufriedenstellend. Der Radius der Flamme ist hier ausschlaggebend,

was direkt auf die Streuung an der Wasserstoff-Duse zuruckzufuhren ist. Diese Pro-

blematik wird in Kapitel 5.4 ausfuhrlicher behandelt. In der Verteilung (ii) sowie

in (iii) tritt gutes Krummungsverhalten auf, es kann jedoch besonders in (iii) noch

37

5.1 Mischungsbruch Auswertung

durch ein feineres Netz lokal verbessert werden (siehe Kapitel 4.2.4). An der axialen

Stelle x/L = 1/1 ist die Flamme ebenfalls noch zu breit, was jedoch durch eine wei-

tere Verlangerung der Rechenzeit nicht verbessern lasst, da die Flamme sich nicht

weiter einpendelt.

(i) x/L = 1/8 (ii) x/L = 3/8

(iii) x/L = 5/8 (iv) x/L = 1/1

Abbildung 21: – Ergebnis Netz03, Radialer Verlauf des Mischungsbruchs an einigenaxialen Stellen.

38

5.2 Massenbruch H2 Auswertung

5.2. Massenbruch H2

Das Verhalten des Massenbruchs ahnelt dem des Mischungsbruches sehr. Der Verlauf

nahe der Duse trifft die Standardabweichung ebenfalls in den Bereichen r ∈ [0, 3] und

r ∈ [13, 18] nicht, jedoch zeigen die Verteilungen (ii) und (iii) besonders ab r > 20

sehr gutes Annaherungsverhaltenan die Mittelwerte. An der axialen Stelle x/L = 1/1

ist die H2-Konzentration aufgrund der stromaufwarts stattgefundenen Reaktion sehr

gering, wodurch im Experiment Messungenauigkeiten auftreten konnen.

(i) x/L = 1/8 (ii) x/L = 3/8

(iii) x/L = 5/8 (iv) x/L = 1/1

Abbildung 22: – Ergebnis Netz03, Radialer Verlauf des Wasserstoff-Massenbruchsan einigen axialen Stellen.

39

5.3 Massenbruch O2 Auswertung

5.3. Massenbruch O2

Der Massenbruch des Sauerstoffs bildet eine gewisse Symmetrie zu den Verteilungen

des Wasserstoffs. Die Stelle x/L = 1/8 wird von der Simulation, wie in den vorheri-

gen Verlaufen, sehr schlecht abgebildet. Der experimentelle Verlauf (ii) wird von der

Simulation ausgezeichnet angenahert, jedoch ist die Streuung im Bereich r ∈ [0, 10]

derart gering, dass die Wahrscheinlichkeit die Mittelwerte sehr gut abzubilden daher

sehr hoch ist. An der Stelle (iii) mangelt es wie in der Wasserstoff-Verteilung eben-

(i) x/L = 1/8 (ii) x/L = 3/8

(iii) x/L = 5/8 (iv) x/L = 1/1

Abbildung 23: – Ergebnis Netz03, Radialer Verlauf des Sauerstoff-Massenbruchs aneinigen axialen Stellen.

falls am Krummungsverhalten in der Halfte r < 26, jedoch wird die zweite Halfte

sehr gut abgebildet. Die Sauerstoff-Verteilung an der Ausstrom-Grenze befindet sich

40

5.4 Variation der Modellkonstanten Auswertung

gut im Bereich der Standardabweichung. Es tritt ein ahnliches, jedoch gespiegeltes

Steigungsproblem auf wie im Verlauf des Mischungsbruchs. Weitere Simulationser-

gebnisse fur den Massenbruch YH2Ound die Temperatur sind in Anhang E anghangt.

5.4. Variation der Modellkonstanten

Die Standard-Parameter des k-ε-Modells aus Kapitel 3.3 werden in OpenFoam au-

tomatisch initialisiert und im log-file der Berechnung wie folgt ausgegeben:

1 kEpsilonCoeffs

2 { Cmu 0.09;

3 C1 1.44;

4 C2 1.92;

5 C3 -0.33;

6 sigmak 1;

7 sigmaEps 1.3;

8 Prt 1; }

Nach Untersuchungen von Zimmermann [12] beeinflusst der Parameter C1”die

Streuungsrate einer zylindrischen Duse, auch bekannt als ’round-jet/plane-jet an-

omaly’“. Das bedeutet, eine Variation des Parameters C1 kann den Durchmesser

der Flamme direkt am Duseneingang – und somit auch an allen axial nachfolgenden

Stellen – schmalern oder erweitern. Abbildung 24 zeigt eine wesentliche Verbesserung

des radialen Verlaufs der verschiedenen Großen an der axialen Stelle x/L = 1/8.

41

5.4 Variation der Modellkonstanten Auswertung

(i) Mischungsbruch Z (ii) Wasserstoff YH2

(iii) Wasser YH2O(iv) Temperatur T

Abbildung 24: Variation der k − ε-Modellkonstanten,– C1 = 1,44 , – C1 = 1,5.

42

Fazit

6. Fazit

Die Ergebnisse zeigen, dass die openFoam Applikation flameletFoam [10] die Losung

der nicht-vorgemischten Wasserstoff-Flamme gut abbildet, da sie sich – bis auf we-

nige Ausnahmen – immer innerhalb der Standardabweichung der Messdaten von

Barlow [3] befindet. Diese wenigen Ausnahmen konnen zudem von der Messunge-

nauigkeit der experimentellen Daten, wie in Abbildung 22 gezeigt, beeinflusst sein.

Die Verwendung verschiedener Randbedingungen hat eine gewisse Anfangswert-

Sensibilitat aufgezeigt und besonders deren funktionale Darstellung uber die ein-

zelnen Zellen hat die Losung erheblich verbessert.

Durch die Anwendung einer Netz-Konvergenzanalyse ergab sich ein optimales Netz

von ca. 60000 Elementen und ca. 120000 Knoten, wobei dieses Ergebnis sehr von der

Rechner-Architektur abhangt auf welcher gerechnet wird. Die Simulation mit Open-

Foam uber ein”parallel environment“mit distributed memory konnte aufgrund des

beschrankten Zeitraums dieser Arbeit nicht eingerichtet werden, wodurch die Anzahl

der Prozessoren auf 12 beschrankt blieb. Fur auf diese Bachelorarbeit aufbauende Si-

mulationen ist es durchaus sinnvoll, mit einem variierten Parameter des k-ε-Modells

zu rechnen, da auch das erhebliche Verbesserungen, besonders im dusennahen Be-

reich, gezeigt hat. Außerdem konnen Tabellen eines reduzierten Wasserstoff-Differen-

tialsystems in die Ordner des OpenFoam-Cases eingebettet werden um die zugrunde

liegende Modellreduktion zu Validieren und letztendlich den ersten Schritt in Rich-

tung Kerosin-Simulation auf Basis eines reduzierten chemischen Systems zu leisten.

43

Literatur Literatur

Literatur

[1] The OpenFOAM Foundation http://www.openfoam.org/ c©2011-2015.

[2] H.Muller, F.Ferraro und M.Pfitzner, Implementation of a Steady Laminar Fla-

melet Model for non-premixed combustion in LES and RANS simulations. 8th

International OpenFoam Workshop. Jeju,Korea, 2013.

[3] R. S. Barlow, Sandia H2/He Flame Data - Release 2.0, http://www.sandia.

gov/TNF/DataArch/H2HeData.html, Sandia National Laboratories (2003).

[4] Barlow, R. S. and Carter, C. D., Combust. Flame 97:261-280 (1994).

[5] Barlow, R. S. and Carter, C. D., Combust. Flame 104:288-299 (1996).

[6] J. Warnatz, U. Maas and R.W. Dibble, Combustion, 4th Edition, Springer-

Verlag (2006).

[7] http://de.wikipedia.org/wiki/Entropie , 06.04.2015, 16:28 Uhr MESZ.

[8] Yvonne Kristen, Thermodynamik,

https://www.uni-ulm.de/fileadmin/website_uni_ulm/nawi.inst.251/

Didactics/thermodynamik/INHALT/HS3.HTM , 07.04.2015, 11:48 Uhr MESZ.

[9] Schwarze, R., CFD-Modellierung: Grundlagen und Anwendungen bei

Stromungsprozessen, Springer Verlag, Berlin, Heidelberg, 2013, ISBN 978-3-

642-24378-3.

[10] H.Muller, F.Ferraro und M.Pfitzner, flameletFoam-Applikation,

https://openfoamwiki.net/index.php/Extend-bazaar/solvers/

combustion/flameletFoam, 24.05.2015, 17:19 Uhr MESZ.

[11] Peter Junglas, Stromungslehre 2 Skript, PHWT Vechta/Diepholz/Ol-

denburg, http://www.peter-junglas.de/fh/vorlesungen/skripte/

stroemungslehre2.pdf 01.06.2015, 19:16 Uhr MESZ.

[12] Ilona Zimmermann, Dissertation: Modeling and Numerical Simulation of Par-

tially Premixed Flames (2009), Institut fur Thermodynamik, Universitat der

Bundeswehr Munchen.

44

Literatur Literatur

[13] Robert Barlow Short Bio

http://crf.sandia.gov/combustion-research-facility/

working-with-the-crf/crf-staff-2/barlow/, 13.06.2015 13:13 Uhr

MESZ.

[14] Rayleigh and PLIF image, http://www.sandia.gov/TNF/DataArch/

DLRflames.html, 16.06.2015, 00:26 MESZ.

[15] OpenFOAM Foundation: OpenFOAM User Guide. Version 2.3.0, 2014.

[16] k-ε-Modell, http://www.cfd-online.com/Wiki/K-epsilon_models,

16.06.2015, 00:26 MESZ.

45

Abbildungsverzeichnis Abbildungsverzeichnis

Abbildungsverzeichnis

1. DLR-Flamme (m.) mit Darstellung durch Rayleigh-Scattering (l.)

und PLIF (Planar Laser Induced Fluorescence, r.). [14] . . . . . . . . 3

2. Laminare Gegenstrom-Diffusionsflamme, [2]. . . . . . . . . . . . . . . 11

3. Funktionalitat der flameletFoam-Applikation, [2]. . . . . . . . . . . . 13

4. Schematischer Vergleich einer einer direkten Simulation (a) und einer

RANS-Simulation (b), [9]. . . . . . . . . . . . . . . . . . . . . . . . . 15

5. Beispiel einer Scherstromung mit turbulenter Grenzschicht,[6]. . . . . 16

6. Ordner-Struktur eines OpenFoam-Cases, [15]. . . . . . . . . . . . . . 19

7. Kuchenstuck des Stromungsfeldes, 20-fach in z-Richtung hochskaliert. 23

8. Reibungsbedingte Geschwindigkeits-Verteilung einer Rohrstromung

[11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

9. Reibungsbedingte Geschwindigkeits-Verteilung uber die Zellen, ∗ be-

zeichnet die Knoten. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

10. Messdaten der turbulenten kinetischen Energie. . . . . . . . . . . . . 27

11. Verfeinerte Messdaten. . . . . . . . . . . . . . . . . . . . . . . . . . . 27

12. Gemittelte Messdaten. . . . . . . . . . . . . . . . . . . . . . . . . . . 28

13. Halbierte Messdaten. . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

14. Reibungsbedingte Verteilung der turbulenten kinetischen Energie uber

25 Zellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

15. Reibungsbedingte Verteilung der turbulenten Dissipationsrate. . . . . 31

16. Element-/Knotenanzahlen und zugehorige Rechenzeit. . . . . . . . . . 32

17. Z: Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04. . . . . 32

18. O2: Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04. . . . . 33

19. Netz03, gesamt (o.) und Ausschnitt an der Dusenwand (u.). . . . . . 34

20. Flackern der Flamme in der transienten Berechnung, eingefarbt nach

der Temperaturverteilung. . . . . . . . . . . . . . . . . . . . . . . . . 36

21. – Ergebnis Netz03, Radialer Verlauf des Mischungsbruchs an einigen

axialen Stellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

22. – Ergebnis Netz03, Radialer Verlauf des Wasserstoff-Massenbruchs

an einigen axialen Stellen. . . . . . . . . . . . . . . . . . . . . . . . . 39

23. – Ergebnis Netz03, Radialer Verlauf des Sauerstoff-Massenbruchs an

einigen axialen Stellen. . . . . . . . . . . . . . . . . . . . . . . . . . . 40

46

Abbildungsverzeichnis Abbildungsverzeichnis

24. Variation der k − ε-Modellkonstanten,– C1 = 1,44 , – C1 = 1,5. . . . 42

25. Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04. . . . . . 58

26. Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04. . . . . . 59

27. – Ergebnis Netz03, Radialer Verlauf des Wasser-Massenbruchs an ei-

nigen axialen Stellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

28. – Ergebnis Netz03, Radialer Temperaturverlauf an einigen axialen

Stellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

47

Matlab Skript zur Berechnung der Geschwindigkeitsverteilung

Anhang

A. Matlab Skript zur Berechnung der

Geschwindigkeitsverteilung

1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2 % Bachelor Thesis: Matlab Script %

3 % Jan Gabriel %

4 % Institute for numerical mathematics %

5 % Ulm University %

6 % file: velocity.m %

7 % Description: %

8 % nonlinear inlet boundary velocity %

9 % due to fricional inlet tube %

10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

11 close all

12 clc

13 clear

14 h = figure;

15 hold on

16 grid

17

18 nofelements = 10; % grid dependent value

19 Umean = 296; %m/s

20 powerLaw = 1/12;

21

22 nofnodes = nofelements +1;

23 Umax = calc_Umax(Umean ,powerLaw);

24 y = linspace (0 ,1.875, nofnodes);

25

26 % velocity inlet distribution

27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

28 for j = 1:nofnodes -1

29 z(j) = y(j) + (y(j+1)-y(j))/2;

30 end

31 f = @(z) Umax * (1 - (abs(z)/1.875)).^( powerLaw); % 1/7 or 1/12 ?

32 x = f(z);

33 a = [zeros(nofnodes -1,1) x’];

34 y_scale = linspace (0,1, nofnodes);

35 for j = 1:nofnodes -1

36 z_scale(j) = y_scale(j) + (y_scale(j+1)-y_scale(j))/2;

37 end

38 b = [z_scale ’ z_scale ’];

39 for i = 1:nofnodes -1

40 plot(a(i,:),b(i,:),’Marker ’,’>’);

41 %plot(a(i,:) ,-b(i,:) ,’Marker ’,’>’);

42 end

48

Matlab Skript zur Berechnung der Geschwindigkeitsverteilung

43 a = zeros(nofnodes ,1);

44 b = y_scale;

45 for i = 1: nofnodes

46 plot(a(i),b(i),’*r’);

47 %plot(a(i),-b(:) ,’*r’);

48 end

49 title([’inlet tube flow , power law: 1/’ num2str (1/ powerLaw) ’, nofelements = ’

num2str(nofelements)])

50 xlabel(’velocity ’)

51 ylabel(’r/R’)

52

53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

54 % save image

55 cd(’output/boundary ’)

56 print(h,’-dpng’,’pipefriction_u.png’)

57

58 % write data in files

59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

60 A = [x’ zeros(nofnodes -1,1) zeros(nofnodes -1,1)];

61

62 fileID = fopen(’inlet_velo.txt’,’w’);

63 fprintf(fileID ,’\t type \t \t fixedValue ;\n’);

64 fprintf(fileID ,’\t value \t \t nonuniform List <vector > \n’);

65 fprintf(fileID ,’\t %d \n’, nofnodes -1);

66 fprintf(fileID ,’\t (\n’);

67 formatSpec = ’\t ( %f \t %d \t %d )\n’;

68 fprintf(fileID ,formatSpec , A’);

69 fprintf(fileID ,’\t );’);

70 fclose(fileID);

71 cd(’../..’)

1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2 % Bachelor Thesis: Matlab Function %

3 % Jan Gabriel %

4 % Institute for numerical mathematics %

5 % Ulm University %

6 % file: calc_Umax.m %

7 % Description: %

8 % calculating Umax %

9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

10 function Umax = calc_Umax(Umean ,powerLaw)

11 nofnodes = 1e6; % grid dependent value

12 y = linspace (0 ,1.875, nofnodes);

13 f = @(y) (1 - (abs(y)/1.875)).^( powerLaw); % 1/7 or 1/12 ?

14 x = f(y);

15 sum = 0;

16 for i = 1: nofnodes

17 sum = sum + x(i);

18 end

19 Umax = Umean*nofnodes / sum; end

49

Matlab Skript zur Berechnung der k-epsilon-Verteilung

B. Matlab Skript zur Berechnung der

k-epsilon-Verteilung

1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2 % Bachelor Thesis: Matlab Script %

3 % Jan Gabriel %

4 % Institute for numerical mathematics %

5 % Ulm University %

6 % file: k_eps.m %

7 % Description: %

8 % nonlinear k-epsilon boundary distri -%

9 % bution due to fricional inlet tube %

10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

11

12 clc

13 close all

14 clear

15 h = figure;

16 hold on

17 format long

18 grid

19

20 nofelements = 10; % 200% noefelements = 0 !!!

21

22 % Import Data

23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

24 cd(’~/ Schreibtisch/Bachelor/Matlab/s0020 ’)

25 load s0020.dat

26 cd(’..’)

27 u = s0020 (:,5);

28 varu = s0020 (:,6);

29 varv = s0020 (:,8);

30 radial = s0020 (:,3);

31

32 % Calculate turblulent kinetic energy

33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

34 k = 0.5.*( varu+varv);

35

36 % refining/interpolating

37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

38 i = 2;

39 k_fine = linspace(k(1),k(2) ,10);

40 while 1

41 if i == 6 || i == 7

42 k_fine = [k_fine linspace(k(i),k(i+1) ,20)];

43 else

44 k_fine = [k_fine linspace(k(i),k(i+1) ,10)];

45 end

46 if radial(i+1) == 2.5600

50

Matlab Skript zur Berechnung der k-epsilon-Verteilung

47 k_fine = [k_fine k(i+1)];

48 break;

49 end

50 i=i+1;

51 end

52 % cut off unnecessary data

53 k_fine = k_fine (51:end -52);

54 radial_fine = -2.04:0.01:2.04;

55 % symmetric interpolation

56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

57 k_side = zeros ((( length(k_fine) -1)/2)+1,1);

58 for j = 1:(( length(k_fine) -1)/2)

59 k_side(j) = abs(k_fine(j)+k_fine(end -j+1))/2;

60 end

61 k_side(end)= k_fine ((( length(k_fine) -1)/2)+1);

62 radial_side = -2.04:0.01:0;

63 % Scaling

64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

65 k_scale = k_side (6:end); % 200 datapoints left

66 for i = 1: length(k_scale)/(200/ nofelements)

67 for j=2:(200/ nofelements)

68 k_scale ((i-1) *(200/ nofelements) +1) = k_scale ((i-1) *(200/ nofelements) +1)

+ k_scale ((i-1) *(200/ nofelements)+j);

69 end

70 k_scale(i) = k_scale ((i-1) *(200/ nofelements) +1) /(200/ nofelements);

71 end

72 k_scale = k_scale (1: nofelements); % cut off old data

73 radial_scale = linspace (0,1, nofelements +1);

74 upper = radial_scale (2) /2;

75 lower = 1 - upper;

76 step = upper * 2;

77 radial_scale = -(-lower:step:-upper);

78

79 % Calculating turbulent dissipation rate

80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

81

82 % Lengthscale (30 % hydraulic diameter)

83 L = 0.03 * 3.75; % [mm]

84

85 epsilon = (0.09^(3/4) .* k_scale .^(3/2))/(L*1e-3); % [m^2/s^2]

86

87 % Plots

88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

89 cd(’output/boundary ’)

90 plot(radial ,k,’o--b’)

91 title(’turbulent kinetic energy , measured ’)

92 plot ([2.04 2.04] ,[0 2000] ,’r’)

93 plot ([ -2.04 -2.04] ,[0 2000],’r’)

94 xlabel(’radius ’)

95 ylabel(’k’)

51

Matlab Skript zur Berechnung der k-epsilon-Verteilung

96 print(h,’-dpng’,’turbulentEnergy_measured.png’)

97

98 h = figure;

99 grid

100 hold on

101 plot(radial_fine ,k_fine ,’o--b’)

102 plot ([2.04 2.04] ,[0 2000] ,’r’)

103 plot ([ -2.04 -2.04] ,[0 2000],’r’)

104 title(’turbulent kinetic energy , fine’)

105 xlabel(’radius ’)

106 ylabel(’k’)

107 print(h,’-dpng’,’turbulentEnergy_fine.png’)

108

109 h = figure;

110 grid

111 hold on

112 plot(radial_side ,k_side ,’o--b’)

113 title(’turbulent kinetic energy , symmetric ’)

114 xlabel(’radius ’)

115 ylabel(’k’)

116 plot ([2.04 2.04] ,[0 2000] ,’r’)

117 plot ([ -2.04 -2.04] ,[0 2000],’r’)

118 hold on

119 plot(-radial_side ,k_side ,’o--b’)

120 print(h,’-dpng’,’turbulentEnergy_symmetric.png’)

121

122 h = figure;

123 grid

124 hold on

125 plot(k_side ,-radial_side ,’o--b’)

126 title(’turbulent kinetic energy , halved ’)

127 plot ([0 2000] ,[2.04 2.04] ,’r’)

128 xlabel(’k’)

129 ylabel(’radius ’)

130 print(h,’-dpng’,’turbulentEnergy_halved.png’)

131

132 h = figure;

133 grid

134 hold on

135 a = [zeros(nofelements ,1) k_scale ];

136 b = [radial_scale ’ radial_scale ’];

137 for i = 1: nofelements

138 plot(a(i,:),b(i,:),’Marker ’,’>’);

139 % plot(a(i,:) ,-b(i,:) ,’Marker ’,’>’);

140 end

141 title(’turbulent kinetic energy , scaled ’)

142 meshx = zeros(1, nofelements +1);

143 meshy = linspace(-1,0, nofelements +1);

144 plot(meshx ,-meshy ,’*r’)

145 %plot(meshx , meshy ,’*r’)

52

Matlab Skript zur Berechnung der k-epsilon-Verteilung

146 xlabel(’k’)

147 ylabel(’r/R’)

148 % save image

149 print(h,’-dpng’,’pipefriction_k.png’)

150

151

152 h = figure;

153 grid

154 hold on

155 a = [zeros(nofelements ,1) epsilon ];

156 b = [radial_scale ’ radial_scale ’];

157 for i = 1: nofelements

158 plot(a(i,:),b(i,:),’Marker ’,’>’);

159 %plot(a(i,:) ,-b(i,:) ,’Marker ’,’>’);

160 end

161 title(’turbulent dissipation rate , scaled ’)

162 plot(meshx ,-meshy ,’*r’)

163 %plot(meshx , meshy ,’*r’)

164 xlabel(’epsilon ’)

165 ylabel(’r/R’)

166 % save image

167 print(h,’-dpng’,’pipefriction_eps.png’)

168

169

170 k_scale = flipud(k_scale);

171 epsilon = flipud(epsilon);

172

173 % Write data in files

174 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

175 fileID = fopen(’inlet_k.txt’,’w’);

176 fprintf(fileID ,’\t type \t \t fixedValue ;\n’);

177 fprintf(fileID ,’\t value \t \t nonuniform List <scalar > \n’);

178 fprintf(fileID ,’\t %d \n’, nofelements);

179 fprintf(fileID ,’\t (\n’);

180 formatSpec = ’\t %f\n’;

181 fprintf(fileID ,formatSpec , k_scale ’);

182 fprintf(fileID ,’\t );’);

183 fclose(fileID);

184

185 fileID = fopen(’inlet_epsilon.txt’,’w’);

186 fprintf(fileID ,’\t type \t \t fixedValue ;\n’);

187 fprintf(fileID ,’\t value \t \t nonuniform List <scalar > \n’);

188 fprintf(fileID ,’\t %d \n’, nofelements);

189 fprintf(fileID ,’\t (\n’);

190 formatSpec = ’\t %f\n’;

191 fprintf(fileID ,formatSpec , epsilon ’);

192 fprintf(fileID ,’\t );’);

193 fclose(fileID);

194 cd(’../..’)

53

Matlab Skript zur Daten-Evaluation

C. Matlab Skript zur Daten-Evaluation

1 % usage:

2 % auto_eval( axial position , Mesh , evaluated Value , color)

3 % positions: 18, 14, 38, 12, 58, 34, 11 (without solidus "/", 1/8 = 18)

4 % Mesh options: Mesh01 , Mesh02 , Mesh03 , Mesh04

5 % Values: Z(mixture Fraction), H2, O2, H2O , T(emperature)

6 % colors: g(reen), b(lue), y(ellow), m(agenta), c(yan), (blac)k

7 % printString = ’on ’: prints image of solution in output/plots

8 % ’off ’: ’figure ’ is needed between auto_eval (...)

9

10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

11 % Bachelor Thesis: Matlab Script %

12 % Jan Gabriel %

13 % Institute for numerical mathematics %

14 % Ulm University %

15 % file: auto_eval.m %

16 % Description: %

17 % evaluate experimental data and %

18 % simulation data automatically %

19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

20 function auto_eval(positionString , meshString , valueString , color , printString)

21 if strcmp(printString , ’on’) == 1

22 fig = figure;

23 end

24

25 hold on

26

27 cd(’~/ Schreibtisch/Bachelor/Matlab/he0sct ’)

28

29

30 heights = zeros (58,1);

31 heights (18) = 18;

32 heights (14) = 30;

33 heights (38) = 48;

34 heights (12) = 56;

35 heights (58) = 52;

36 heights (34) = 55;

37 heights (11) = 50;

38

39 switch valueString

40 case ’Z’

41 low = 1;

42 high = 6;

43 titleString = ’mixture fraction ’;

44 case ’H2’

45 low = 33;

46 high = 40;

47 titleString = ’hydrogen ’;

48 case ’O2’

54

Matlab Skript zur Daten-Evaluation

49 low = 15;

50 high = 22;

51 titleString = ’oxygen ’;

52 case ’H2O’

53 low = 42;

54 high = 49;

55 titleString = ’water’;

56 case ’T’

57 low = 9;

58 high = 12;

59 titleString = ’temperature ’;

60 otherwise

61 warning(’Unexpected value. Use Z, H2, O2 , H2O or T instead.’);

62 end

63

64 A = dir;

65 a = size(dir);

66 g = a(1,1);

67

68 % Import file -names for evaluation

69 % ***********************************************************

70 for i =1:g

71 B=A(i).name;

72 size(B’);

73 for k = 1:size(B’);

74 a(1,k) = B(1,k);

75 end

76 end

77 % Create file -name -string

78 % ***********************************************************

79 for h = 1 : (g-2)

80 if h ==1

81 meinfile = strcat(A(h+2).name);

82 else

83 meinfile = [meinfile ,strcat(A(h+2).name)];

84 end

85 end

86 % search for char ’h’ in file -names (he0xXXXX.sct)

87 % ***********************************************************

88 strf = strfind(meinfile ,’h’);

89 size(strf);

90 length = size(meinfile);

91 df = length (1,2);

92 as = 1;

93

94 for i =1:(g-3)

95 for h =strf(i):(strf(i)+11)

96 diffn = h - strf(i)+1;

97 b(i,diffn) = meinfile(h);

98 end

55

Matlab Skript zur Daten-Evaluation

99 end

100 sortrows(b);

101

102 % extracting raw -data

103 % ***********************************************************

104 y = 0;

105 e = 0;

106 x = 0;

107 for i = 1:(g-4)

108 str = b(i,:);

109 if(str (5:6)== positionString)

110

111 fid = fopen(str);

112

113 tline = fgetl(fid);

114 tline = fgetl(fid);

115 tline = fgetl(fid);

116 tline = fgetl(fid);

117 tline = fgetl(fid);

118

119 value = double(str2double(tline(low:high)));

120 while ischar(tline)

121 tline = fgetl(fid);

122 if (tline ~= -1)

123 if str2double(tline(low:high)) < 1e-7

124 value = [value ; 0];

125 else

126 value = [value ; str2double(tline(low:high))];

127 end

128 end

129 end

130 fclose(fid);

131

132 % calculating mean values and standard deviations

133 % ***********************************************************

134 y = [y mean(value)];

135 e = [e std(value) ];

136 x = [x int16(str2double(str (7:8)))];

137 end

138 end

139 y = y(2:end);

140 e = e(2:end);

141 x = x(2:end);

142

143 errorbar(x,y,e,’r*’) % matlab -errorplot

144

145 cd([’../ OpenFoamData/’ meshString ])

146

147 warning(’off’,’MATLAB:codetools:ModifiedVarnames ’)

148 Table = readtable ([ positionString ’.csv’]);

56

Matlab Skript zur Daten-Evaluation

149 warning(’on’,’MATLAB:codetools:ModifiedVarnames ’)

150

151 % variety of values to be evaluated (T, YH2 ,YO2 ,YH2O ,...)

152 % ***********************************************************

153 value = Table {1:end ,{ valueString }};

154

155 z = linspace(0,heights(str2num(positionString)),size(value ,1));

156 plot(z,value ,color)

157 title([’Radial ’ titleString ’ distribution at l/L = ’ positionString (1) ’/’

positionString (2)])

158 xlabel(’radius [mm]’)

159 if ( strcmp(titleString , ’oxygen ’) == 1 || strcmp(titleString , ’hydrogen ’) == 1 ||

strcmp(titleString , ’water ’) == 1 )

160 ylabel ([ titleString ’ mass fraction ’])

161 else

162 ylabel(titleString)

163 end

164 hold off

165 % saving image of plot

166 % ***********************************************************

167 if strcmp(printString , ’on’) == 1

168 cd([’../../ output/plots/’ meshString ])

169 print(fig ,’-dpng’,[valueString meshString ’at’ positionString ’.png’])

170 cd(’../../.. ’)

171 else

172 cd(’../..’)

173 end

174 end

57

Netz-Konvergenz

D. Netz-Konvergenz

In Abbildung 25 und 26 sind an jeweils zwei axialen Stellen die Verteilungen der in

Kapitel 4.2.4 nicht erwahnten Variablen gezeigt. Diese untermauern die These, dass

sich das Netz durch weitere Verfeinerung den Mittelwerten der Losung und dem

Krummungsverhalten deren Verlaufe nicht weiter annahert.

(i) H2 : x/L = 1/4 (ii) H2 : x/L = 5/8

(i) T : x/L = 3/8 (ii) T : x/L = 5/8

Abbildung 25: Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04.

58

Netz-Konvergenz

(i) H2O : x/L = 1/4 (ii) H2O : x/L = 1/1

Abbildung 26: Netz-Konvergenz, – Netz01, – Netz02, – Netz03, – Netz04.

59

Auswertung: H2O und Temperatur

E. Auswertung: H2O und Temperatur

Massenbruch H2O

(i) x/L = 1/8 (ii) x/L = 3/8

(iii) x/L = 5/8 (iv) x/L = 1/1

Abbildung 27: – Ergebnis Netz03, Radialer Verlauf des Wasser-Massenbruchs aneinigen axialen Stellen.

60

Auswertung: H2O und Temperatur

Temperatur

(i) x/L = 1/8 (ii) x/L = 3/8

(iii) x/L = 5/8 (iv) x/L = 1/1

Abbildung 28: – Ergebnis Netz03, Radialer Temperaturverlauf an einigen axialenStellen.

61

Auswertung: H2O und Temperatur

Eidesstattliche Erklarung

Ich, Jan Gabriel, Matrikel-Nr. 766929, versichere hiermit, dass ich meine Bachelor-

arbeit mit dem Thema

Modellierung und Simulation einer nicht-vorgemischten

Gleichstrom-Wasserstoff-Verbrennung

selbststandig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel

benutzt habe, wobei ich alle wortlichen und sinngemaßen Zitate als solche gekenn-

zeichnet habe. Die Arbeit wurde bisher keiner anderen Prufungsbehorde vorgelegt

und auch nicht veroffentlicht.

Mir ist bekannt, dass ich meine Bachelorarbeit zusammen mit dieser Erklarung

fristgemaß nach Vergabe des Themas in zweifacher Ausfertigung und in gebundener

Form beim Studiensekretariat der Universitat Ulm einzureichen habe, zuzuglich des

in § 16c Abs. 9 Rahmenordnung erforderlichen elektronischen Exemplars fur die

Studierendenakte.

Ulm, den

Jan Gabriel

62