cfd-untersuchung einer kaplan-rohrturbine in openfoam · - iv - abstract cfd-analysis of a kaplan...
TRANSCRIPT
CFD-Untersuchung einer Kaplan-Rohrturbine in
OpenFOAM
Masterarbeit zur Erlangung des akademischen Grades Master of Science
Fachhochschule Vorarlberg Studiengang Energietechnik und Energiewirtschaft
Betreut von Dr.-Ing. Steffen Finck Prof. Dr.-Ing. Gerd Thieleke Vorgelegt von Dominik Allgaier Dornbirn, 30.07.2015
- II -
- III -
Kurzreferat
CFD-Untersuchung einer Kaplan-Rohrturbine in OpenFOAM
Mit dem Programm OpenFOAM 2.3.0 wurde ein Verfahren für die CFD-Simulation einer
Kaplan-Rohrturbine am Betriebspunkt mit dem besten Wirkungsgrad erstellt. Das physika-
lische Modell mit 40 kW Nennleistung hat einen maximalen Wirkungsgrad von 85,6 % und
steht im Energielabor der Hochschule Ravensburg-Weingarten.
Die Geometrie des Simulationsraumes wurde aus CAD importiert und mithilfe vorhandener
Messungen definiert. Durch den gewählten Frozen Rotor-Ansatz kann die Simulations-
dauer dramatisch gesenkt werden, indem ein quasistationäres Problem erzeugt wird. Somit
bietet sich der simpleFoam-Löser an. In einem iterativen Prozess wurden alle Simulations-
parameter so eingestellt, um eine bestmögliche Übereinstimmung mit den Messungen zu
erzielen.
Das mit snappyHexMesh erzeugte Rechengitter besteht aus 3,4 Millionen Zellen und erfüllt
abgesehen von der maximalen Schräge alle Qualitätskriterien. Das kω-SST-Turbulenzmo-
dell sagt ein Drehmoment auf das Laufrad von 85 Nm voraus, verglichen mit 94,8 Nm aus
der Messung. Die Simulation konvergiert mit Residuen von kleiner als e-04 nach 1000 Ite-
rationen.
Es können mehrere Punkte genannt werden, die die Abweichung der Simulation bezogen
auf den Messwert und den relativ niedrigen Wirkungsgrad der Turbine erklären. Das CFD-
Modell erlaubt darüber hinaus die Simulation weiterer Betriebspunkte sowie die Simulation
neuer Schaufeldesigns.
- IV -
Abstract
CFD-Analysis of a Kaplan Turbine in OpenFOAM
Using the program OpenFOAM 2.3.0 a method has been created to simulate a Kaplan tur-
bine at the best efficiency point. The physical model with 40 kW power rating shows a max-
imum efficiency of 85.6 % and is situated in the energy laboratory at the University of Ap-
plied Sciences Ravensburg-Weingarten.
The geometry was imported from CAD and defined using measurement results. The frozen
rotor approach reduces the duration of the simulation significantly compared to an unsteady
simulation, creating a quasi-steady problem. Thus lends itself to the simpleFoam-solver. In
an iterative process all simulation parameters have been adjusted to obtain a result that
matches with the measurements as good as possible.
The computational grid was created with snappyHexMesh and consists of 3.4 million cells.
Expect of the maximal skewness it can fulfill all quality criteria. The kω-SST-turbulence
model predicts 85 Nm referred to the rotor, compared to 94,8 Nm from the measurement.
The simulation converges after 1000 iterations with residuals smaller than e-04.
Several points can be named which explain the deviation between simulation and meas-
urement and the relatively low efficiency of the turbine itself as well. More over the CFD-
model enables a simulation of further operation points and even the simulation of different
rotor and stator geometries.
- V -
Inhaltsverzeichnis
Darstellungsverzeichnis VII
Tabellenverzeichnis VIII
Abkürzungsverzeichnis IX
Symbolverzeichnis X
1. Einführung 1
1.1 Motivation 1
1.2 Ziele und Methodik 2
2. Theorie 4
2.1 Kaplanrohrturbine 4
2.1.1 Funktionsweise 4
2.1.2 Die Laborturbine 5
2.2 Strömungstechnische Grundlagen 7
2.2.1 Bernoulli-Gleichung 7
2.2.2 Eulersche Turbinengleichungen 8
2.2.3 Erhaltungssätze 9
2.2.4 Reynoldzahl 10
2.2.5 Grenzschichttheorie 11
2.2.6 Tragflügeltheorie 13
2.3 Numerische Grundlagen 15
2.3.1 Diskretisierung 15
2.3.2 Lösungsverfahren 16
2.3.3 Konvergenzkriterium 16
2.3.4 Topologie und Qualitätskriterien 17
2.3.5 Turbulenzmodellierung 18
3. Aufbau des Simulationsfalls 22
3.1 OpenFOAM Struktur 22
3.2 Vereinfachungen 23
3.3 Geometrie und Vernetzung 24
3.3.1 Geometrie 24
3.3.2 Erzeugen eines Gitters in OpenFOAM 25
3.3.3 Erzeugen von STL-Dateien 26
3.3.4 Gittererzeugung mit snappyHexMesh 26
3.4 Vorbereitungen 29
3.4.1 Frozen Rotor-Methode 29
3.4.2 Stoffwerte 30
3.4.3 Rand- und Anfangsbedingungen 30
3.4.4 Lösungsverfahren und Kontrolle 32
- VI -
3.4.5 Reduzieren der Rechenzeit 34
3.5 Arbeitsablauf 36
4. Ergebnisse 37
4.1 Netz und Geometrie 37
4.2 Netzstudie und Rechendauer 38
4.3 Residuen 39
4.4 Turbulenzmodell 40
4.5 Visualisierungen 41
4.6 Y+-Kriterium 42
4.7 Druckbeiwert 43
4.8 Geschwindigkeit 44
4.8.1 Dreiecke 44
4.8.2 Profile 46
4.8.3 Hydromechansiche Kennzahlen 48
4.9 Vergleich mit der Eulerschen Turbinentheorie 51
5. Diskussion 52
5.1 Netz und Geometrie 52
5.2 Y+-Kriterium 53
5.3 Druckbeiwert 54
6. Zusammenfassung und Ausblick 56
Literaturverzeichnis 58
Anhang 60
- VII -
Darstellungsverzeichnis
Abbildung 2-1: einstufige axial durchströmte Kaplanturbine 4
Abbildung 2-2: Kaplanrohrturbinen-Prüfstand 5
Abbildung 2-3:Bernoulli an Turbine angewandt 8
Abbildung 2-4: Schaufelplan mit Impulsdreieck 8
Abbildung 2-5: Grenzschichtausbildung an einer ebenen Platte 11
Abbildung 2-6: Universelles Wandgesetz 13
Abbildung 2-7: Umströmter Tragflügel 14
Abbildung 2-8: Druckbeiwert eines ideal angeströmten Tragflügels 15
Abbildung 2-9: Hybrides Rechengitter 17
Abbildung 2-10: Vereinfachung und Aufwand numerischer Methoden 19
Abbildung 3-1: Strukturbaum in OpenFOAM 23
Abbildung 3-2: Geometriedefinition 24
Abbildung 3-3: InletOutlet Randbedingung 31
Abbildung 3-4: Kanal-Simulation 35
Abbildung 3-5: periodische Randbedingungen 35
Abbildung 4-1: Gitterstruktur im Längsschnitt 38
Abbildung 4-2: Nahauflösung der Turbinenstufe 38
Abbildung 4-3: Residuenverlauf 40
Abbildung 4-4: Drallströmung 41
Abbildung 4-5: Durchströmung der Turbinenstufe 42
Abbildung 4-6: Druckbeiwerte an Leit- und Laufrad 44
Abbildung 4-7: Geschwindigkeitsdreicke für Eulergleichung 45
Abbildung 4-8: Geschwindigkeitsdreiecke aus Messung (oben) und Simulation (unten) 46
Abbildung 4-9: Ideale Geschwindigkeitsprofile einer Kaplanturbine 47
Abbildung 4-10: Tatsächliche Geschwindigkeitsprofile der Kaplanturbine 48
Abbildung 4-11: Hydrodynamische Kennzahlen 49
Abbildung 4-12: normiertes Geschwindigkeitsdreieck 50
Abbildung 5-1: Nachbildung der Eintrittskanten 53
Abbildung 5-2: Geschwindigkeitsspitze an Eintrittskante 54
Abbildung 5-3: Auftriebsverteilung auf der Laufschaufel 55
Abbildung 5-4: Düsenwirkung an der Leitbeschaufelung 55
- VIII -
Tabellenverzeichnis
Tabelle 2-1: Technische Daten der Kaplanturbine 6
Tabelle 2-2: Messwerte am Bestpunkt 7
Tabelle 2-3: Übersicht über häufig genutzte Turbulenzmodelle 21
Tabelle 3-1: Wichtige Parameter in sHM 27
Tabelle 3-2: Stoffwerte für Wasser 30
Tabelle 3-3: Randbedingungen 31
Tabelle 3-4: Einstellungen in fvSchemes 33
Tabelle 4-1: Netzstudie 39
Tabelle 4-2: y+-Werte 43
- IX -
Abkürzungsverzeichnis
B Koeffizientenmatrix CAD Computer Aided Design CFD Computational Fluid Dynamics DNS Direkte numerische Simulation fHM foamyHexMesh FOAM Field Operation And Manipulation FVM Finite-Volumen-Methode kW Kilowatt La Laufrad Le Leitrad LES Large Eddy Simulation MRF Multiple Reference Frame, Multiple Reference Frame OBJ Objekt RANS Raynold Averaged Navier Stokes RB Randbedingung sHM snappyHexMesh SST Shear Stress Transport STL Stereolitographie
Indizes
0 Ebene am Leitradeintritt
1 Ebene zwischen Leit- und Laufrad
2 Ebene am Laufradaustritt
∞ freie Anströmung
a Auslass
ax Axialkomponente
e Einlass
eff Effektivwert
rel relativ
turb turbulent
u Umfangskomponente
- X -
Symbolverzeichnis
A Fläche m²
c Absolutgeschwindigkeit ms-1
cp Druckbeiwert -
Hn Nettofallhöhe m
k turbulente kinetische Energie m²s-²
kcu spezifische Umfangsgeschwindigkeit -
kcm spezifischer Durchfluss -
�̇� Massenstrom kgs-1
p statischer Druck Pa
r Residuum -
R Radius m
rm Radius des halben Volumenstroms m
Re Reynoldzahl -
t Zeit s
u Umfangsgeschwindigkeit ms-1
u+ dimensionsloses Geschwindigkeitsmaß -
w Relativgeschwindigkeit ms-1
y+ dimensionsloser Wandabstand -
𝛿 Grenzschichtdicke m
휀 turbulente Dissipationsrate m²s-³
𝜂 dynamische Viskosität kgm-1s-1
𝜈 kinematische Viskosität m²s-1
𝜌 Dichte kgm-³
𝜏 Schubspannung Nm-²
𝜑 Vektor aller Strömungsgrößen -
𝜑´ Korrekturvektor -
- XI -
𝜔 charakteristische Frequenz s-1
𝛺 Drehzahl s-1
∆ Laplace-Operator -
𝛻 Nabla-Operator -
T Transponierung -
× Kreuzprodukt -
- 1 -
1. Einführung
1.1 Motivation
In der Energieversorgung spielen Wasserkraftwerke seit jeher eine zentrale Rolle. Ihre Be-
deutung wird durch die Energiewende weiter zunehmen. In einem regenerativen Energie-
mix bestehend aus Wind, Wasser und Solar können Wasserkraftwerke ihre Stärken in den
wichtigen Segmenten der Grundlastversorgung und der Energiespeicherung ausspielen.
Turbomaschinen im Allgemeinen und Wasserturbinen im Speziellen weiterzuentwickeln
und zu optimieren, ist eine komplexe Herausforderung. Versuchstests sind aufwändig so-
wie zeit- und kostenintensiv. Andererseits beruhen mathematische Modelle häufig auf Em-
pirie.
Die Vorhersage von Strömungen mit Hilfe von numerischen Simulationen auf Computern
(CFD- Computational Fluid Dynamics) ist eine vielversprechende Alternative und Ergän-
zung, die in immer mehr Wissenschaftsdisziplinen genutzt wird. CFD hat sich in den letzten
Jahren zu einer anerkannten Untersuchungsmethode weiterentwickelt (Böswirth &
Bschorer, 2014). Die Anwender können heute komfortable Programme und leistungsfähige
Rechner für die numerische Strömungsmechanik nutzen, so dass auch die Berechnung
komplexer Strömungen möglich ist. Numerische Simulationen bieten das Potenzial einer
schnellen und günstigen Vorhersage von Eigenschaften eines Modells. Außerdem können
durch eine CFD-Simulation Phänomene entdeckt werden, die experimentell nicht zugäng-
lich sind. Dem Anwender muss dabei immer bewusst sein, dass es sich um ein vereinfach-
tes und idealisiertes Abbild des physikalischen Modells handelt. Eine Plausibilitätsprüfung
ist von daher immer erforderlich.
An der Hochschule Ravensburg-Weingarten befindet sich im Energie- und Strömungstech-
niklabor zu Forschungs- und Versuchszwecken eine Kaplan-Rohrturbine. Die Leistung die-
ser Wasserturbine beträgt 40 kW. Sie ist mit einigen Strömungssensoren ausgerüstet. So
kann das Ergebnis der Simulation den Messungen gegenübergestellt werden. Ein mit O-
penFOAM erstelltes und zugängliches CFD-Modell einer axial durchströmten Kaplanturbine
kann nicht gefunden werden. Deshalb wird im Rahmen dieser Masterarbeit das Ziel verfolgt,
mit diesem frei zugänglichen Programm ein CFD-Modell zu erstellen, um damit die Turbine
eingehend zu untersuchen und Optimierungspotenziale aufzuweisen. Das neue Modell soll
außerdem flexibel sein gegenüber der Simulation mit weiteren Schaufelgeometrien, um die
Turbine numerisch optimieren zu können. So besteht einerseits Potenzial in der Effizienz
- 2 -
von Turbinen, anderseits in einem schnelleren Simulationsablauf, von der Modellerzeugung
bis hin zur Ergebnisausgabe (Pre- und Postprocessing).
1.2 Ziele und Methodik
Das Hauptziel der Arbeit ist die numerische Strömungssimulation der Kaplanturbine am
Betriebspunkt mit dem besten Wirkungsgrad, dem Bestpunkt. Von großem Interesse ist
daher insbesondere das vorhergesagte Drehmoment, welches das Wasser auf die Rotor-
schaufeln ausübt sowie die Strömung zu visualisieren. Außerdem interessant ist die Detek-
tion von möglichen Verlustquellen.
Darüber hinaus soll das Modell für weitere Untersuchungen folgenden Ansprüchen genü-
gen:
- Umströmung der Leit- und Laufprofile visualisieren
- Die Strömungsverhältnisse im Saugrohr aufschlüsseln
- Geschwindigkeitsdreiecke erstellen
- Vektorfelder
- Netzstudie
- Vergleich von Turbulenzmodellen
- Druckbeiwerte cp des Laufrades berechnen
Spezifischer ausgedrückt wird folgende Forschungsfrage formuliert:
"Wie sind die Simulationsparameter Turbulenzmodell, Gitterstruktur und Randbedingungen
zu wählen, damit die Simulationsergebnisse unter Voraussetzung bestmöglicher Konver-
genz den Messergebnissen möglichst nahe kommen?"
Grundsätzlich kann eine CFD-Simulation immer in folgende vier Hauptprozesse eingeteilt
werden:
1. Definition der Geometrie: Dabei geht es darum, mit Hilfe von vorhandenen Kennt-
nissen das optimale Rechengebiet für das durchströmende Volumen zu finden
2. Rechennetz erstellen: Dies ist die Hauptaufgabe einer CFD-Simulation. Das Netz
muss einige Kriterien erfüllen und eine gute Qualität aufweisen, damit das Ergebnis
möglichst realitätsnah wird
3. Simulieren: Dazu gehört nicht nur die Simulation selbst, die der Rechner übernimmt,
sondern auch, die richtigen Randbedingungen und mathematische Verfahren aus-
zuwählen
4. Ergebnisse aufbereiten: Aufbereitete Ergebnisse sind für die Analyse, Auswertung
und weiterführende Arbeiten wichtig
- 3 -
Die einzelnen Schritte sind im 3. Kapitel detailliert aufgeschlüsselt. Nach der Geometriede-
finition wird in einem iterativen Prozess ein Modell erstellt, welches nach Möglichkeit alle
Qualitätskriterien erfüllt und den Messergebnissen möglichst nahe kommt. Dabei werden
die Parameter so eingestellt, um eine bestmögliche Übereinstimmung mit den Messwerten
zu erreichen. Anschließend wird die Wahl eines richtigen Turbulenzmodells überprüft und
eine Netzstudie durchgeführt. Die Rechenergebnisse können direkt mit den Ergebnissen
aus bestehenden Messungen validiert werden.
- 4 -
2. Theorie
In technisch relevanten Maßstäben gibt es hauptsächlich drei Typen von Wasserturbinen:
Kaplan- und Francisturbinen sind Überdruckturbinen, wobei sich eine Druckdifferenz an der
Turbinenstufe aufbaut. Die Peltonturbine dagegen ist eine Gleichdruckturbine, wobei sie
dem Fluid seine Energie durch Impulsübertrag entnimmt. In diesem Kapitel wird zunächst
die Kaplanturbine vorgestellt um anschließend die relevanten strömungstechnischen
Grundlagen näher zu erläutern. Abgerundet wird dieses Kapitel mit den mathematischen
Methoden, wie ein CFD-Programm die Strömungstechnik numerisch umsetzt.
2.1 Kaplanrohrturbine
2.1.1 Funktionsweise
Eine Turbine kann aus einer oder mehreren Stufen aufgebaut sein, wobei eine Stufe aus
einem stationären Leitrad (Le) sowie einem rotierenden Laufrad (La) besteht. Grundsätzlich
wandelt eine Wasserturbine potentielle wie auch kinetische Energie in Rotationsenergie
um, die über eine Welle weiter an einen Generator zur Stromerzeugung übertragen wird.
Im Leitrad wird die Strömung beschleunigt und umgelenkt, damit sie mit höherer kinetischer
Energie auf das Laufrad trifft, welches mittels Impulsübertrag in Rotation versetzt wird. Dies
erzeugt eine in Umfangsrichtung wirkende Kraft, woraus ein Drehmoment und damit ein
Leistungsübertrag resultieren. Abbildung 2-1 zeigt die einstufige axial durchströmte Kaplan-
turbine zusammen mit einer eingebauten Strömungssonde.
Abbildung 2-1: einstufige axial durchströmte Kaplanturbine
- 5 -
2.1.2 Die Laborturbine
Abbildung 2-2: Kaplanrohrturbinen-Prüfstand
Abbildung 2-2 zeigt den Aufbau des Kaplan-Rohrturbinenprüfstandes mit allen Messgrö-
ßen. Die Anlage steht im Energie- und Strömungslabor der Hochschule Weingarten und
erstreckt sich über zwei Stockwerke. Weil durch das Labor kein Fluss mit einstellbarem
Massenstrom fließt, dienen zwei Behälter im Keller als Wasserreservoirs. Über jeweils ein
Stellventil (V1, V2) lassen sich die Durchflussmengen aus den Behältern regeln. Mit der
Zubringerpumpe (110 kW Leistung, 1800 m3/h Fördermenge) wird das Wasser aus den
Behältern in den Windkessel gefördert. Damit keine Fremdteile in die Anlage eingetragen
werden, ist jeweils ein Sieb über den Ansaugöffnungen der Behälter angebracht. Die
Pumpe befindet sich ebenfalls im Keller und wird über einen Gleichstrommotor angetrieben.
Eine Prallplatte am Eintritt des Windkessels sorgt dafür, dass das Wasser mit einem nied-
rigeren Turbulenzgrad in den Windkessel eingeleitet wird. Über ein Ventil am Dach des
Windkessels lässt sich ein Druckluftpolster aufbauen, womit das Gefälle erhöht werden
kann. Der Einlauf in die Turbine ist als Trompete ausgeführt und soll die Einlaufverluste
durch Einschnürung verringern. Die Trompete ragt in den Windkessel hinein, um turbulente
3-dim Strömungssonde
Gleichrichter
- 6 -
Einströmung weiter zu mindern. Die Turbine ist eine axial durchströmte Kaplanturbine. Der
Leitapparat ist während des Betriebs der Anlage mithilfe eines Elektromotors verstellbar,
die Laufbeschaufelung dagegen nur manuell und bei entleerter Anlage. Das am Laufrad
erzeugte Drehmoment wird über eine Welle an einen außenliegenden Gleichstromgenera-
tor übertragen. Die Welle ist in einem Rohr gelagert und wird über die Flossen getragen.
Das anschließende Saugrohr in Form eines Diffusors dient zur Energierückgewinnung, in-
dem es die kinetische Energie in ein höheres Druckgefälle umwandelt. Dadurch kann der
Wirkungsgrad gesteigert werden. Ein nachgeschalteter Stoßdiffusor, in dem sich auch ein
Gleichrichter befindet, stabilisiert die Strömung. Über einen Krümmer wird das Wasser wie-
der nach unten abgeleitet. Hier sind Umlenkbleche integriert, welche die Strömung teilweise
homogenisieren und die Krümmerverluste reduzieren. Eine Drosselklappe leitet das Was-
ser in Behälter 1, womit der Kreislauf geschlossen und der Druck im Diffusor geregelt wird.
Die eingebaute Kaplanturbine wie auch weitere Hauptkomponenten des Versuchstandes
wurden von der Firma Escher-Wyss hergestellt. Der Leitapparat lässt sich mit einem Elekt-
romotor von 15° bis 85° bzw. bis zum Erreichen der Endschalter verstellen. Der Laufrad-
winkel kann von +10° bis -30° eingestellt werden. Tabelle 2-1 gibt einen Überblick über die
technischen Daten der Turbine. Eine nachträglich eingebaute Messapparatur ermöglicht
die Messung mittels verschiedener Strömungssonden. Zum Vergleich zwischen Simulation
und Messung werden die Messdaten einer dreidimensionalen Keilsonde herangezogen.
Tabelle 2-1: Technische Daten der Kaplanturbine
Turbinennummer 12007
Nennleistung PT 40 kW
Durchfluss Q 0,5 m3/s
Laufraddurchmesser DA 0,308 m
Fallhöhe HT 9 m
Leitschaufelzahl 18
Laufschaufelzahl 4
Tabelle 2-2 fasst die wichtigsten Messdaten am Betriebspunkt mit dem besten Wirkungs-
grad zusammen.
- 7 -
Tabelle 2-2: Messwerte am Bestpunkt
Wirkungsgrad 85,6 %
Volumenstrom 0,2956 m³s-1
Drehmoment 94,8 Nm
Druck am Einlauf (pE) 444,71 mbar
Druck am Auslauf (pA) 112,93 mbar
2.2 Strömungstechnische Grundlagen
2.2.1 Bernoulli-Gleichung
Die Bernoulli-Gleichung sagt aus, dass entlang einer Stromröhre die Summe aus kineti-
scher, potentieller und Druckenergie bis auf einen Verlustteil konstant bleibt, sodass sich
diese Komponenten ineinander umwandeln können gemäß
𝑝1
𝜌+
𝑣12
2+ 𝑔𝑧1 =
𝑝2
𝜌+
𝑣22
2+ 𝑔𝑧2 + 𝑌 + ∑ (𝜉𝑖
𝑣22
2)
𝑖 (2.1)
Wobei der letzte Term die Summe der Verlustwerte von 1 nach 2 beschreibt und Y die
spezifische Energie darstellt, die von der zwischengeschalteten Turbine entnommen wird.
Damit kann wie in Abbildung 2-3 die Drucklinie über der Turbine berechnet werden. Hier
kann man gut erkennen, dass die Kaplanturbine eine Überdruckturbine ist.
- 8 -
Abbildung 2-3:Bernoulli an Turbine angewandt
(Heimerl, 2015)
2.2.2 Eulersche Turbinengleichungen
Die von Leonhard Euler vorgeschlagene Theorie dient zur Berechnung von Turbomaschi-
nen und wird anhand einer allgemeinen Strömungsmaschine näher erläutert. In Abbildung
2-4 ist ein Schaufelplan einer einstufigen Turbine mit dem entsprechenden impulsgemittel-
ten Geschwindigkeitsdreieck dargestellt.
Abbildung 2-4: Schaufelplan mit Impulsdreieck
- 9 -
Die Absolutgeschwindigkeit c ist die vektorielle Summe aus der Umfangsgeschwindigkeit u
sowie der Relativgeschwindigkeit w. Im Laufrad gibt das Fluid seinen Impuls durch Ände-
rung der Umfangskomponente Δcu an die Schaufeln weiter, wodurch das Laufrad in Rota-
tion versetzt wird. Die spezifische Arbeitsleistung ∆ℎ𝑢 berechnet sich demnach zu
∆ℎ𝑢 = 𝑢 ∗ ∆𝑤𝑢 = 𝜔 ∗ 𝑟𝑚 ∗ (𝑤1,u − 𝑤2,u) (2-2)
wobei von einer idealen Turbine ausgegangen wird, also ∆𝑢 = 0 und ∆𝑤𝑢 = ∆𝑐𝑢. Alle Werte
beziehen sich auf den Radius, bei dem innerhalb sowie außerhalb der gleiche Massen-
durchsatz erfolgt. Die Leistung der Turbine berechnet sich mit ∆ℎ𝑢 = 𝑤𝑡12 zu
𝑃 = �̇� ∗ 𝑤𝑡12 = 𝑀 ∗ 𝜔 (2-3)
Über diese Beziehungen kann das Drehmoment berechnet werden gemäß
𝑀 = �̇� ∗ 𝑟𝑚 ∗ (𝑤2 − 𝑤1) (2-4)
Die Letztere ist die Euler-Hauptgleichung. Es gibt mehrere Möglichkeiten, den Turbinenwir-
kungsgrad ηt zu berechnen. Hier wird die abgegebene Leistung an der Welle P auf das zur
Verfügung stehende Gefälle bezogen
𝜂𝑡 =𝑃
𝑃𝐻=
𝑃
𝜌𝑄𝑔𝐻 (2-5)
Wobei PH die hydraulische Leistung darstellt, Q den Volumenstrom und H der Fallhöhe
entspricht, die weitere Geschwindigkeits- und Überdruckkomponenten beinhalten kann.
2.2.3 Erhaltungssätze
Von den fünf in der Physik existierenden Erhaltungssätzen werden folgende drei für die
Bilanzierung und das Aufstellen eines Gleichungssystems verwendet:
1. Massenerhaltungssatz (Kontinuitätsgleichung):
𝜕𝜌
𝜕𝑡+ ∇(𝜌�⃗� ) = 0 (2-6)
In einer stationären Rechnung mit inkompressiblem Fluid vereinfacht sich diese zu
∇�⃗� = 0 (2-7)
Wobei sie sich im rotierenden Bezugssystem verändert zu
- 10 -
∇�⃗� 𝑟𝑒𝑙 = 0 (2-8)
2. Impulserhaltungssatz (in der kontinuumsmechanischen Strömungstechnik die Na-
vier-Stokes-Gleichung):
𝜌 (𝜕�⃗�
𝜕𝑡+ �⃗� 𝑇∇�⃗� ) = −∇𝑝 + 𝜂Δ�⃗� + (𝜂 + 𝜆)∇(𝑑𝑖𝑣�⃗� ) + 𝜌𝑓 (2-9)
In dieser Simulation bleiben die Feldkräfte 𝑓 unberücksichtigt. Analog zu oben ver-
einfacht sich diese Gleichung wieder zu
�⃗� 𝑇∇�⃗� = −∇𝑝 + ∇(𝜂𝑒𝑓𝑓(∇�⃗� + (𝑑𝑖𝑣�⃗� )𝑇)) (2-10)
wenn außerdem von einem newtonschen Fluid mit konstanter Viskosität 𝜂𝑒𝑓𝑓 aus-
gegangen wird. Im rotierenden Bezugssystem mit der Drehzahl Ω wird noch die Co-
rioliskraft (zweiter Term links) berücksichtigt
�⃗� 𝑟𝑒𝑙𝑇∇�⃗� + �⃗� × �⃗� = −∇𝑝 + ∇(𝜂𝑒𝑓𝑓(∇�⃗� + (𝑑𝑖𝑣�⃗� )𝑇)) (2-11)
3. Energieerhaltungssatz (1. Hauptsatz der Thermodynamik): Dieser wird nur bei
Problemen mit kompressiblem Fluid oder Wärmetransfer zusätzlich angewandt.
Die Navier-Stokes-Gleichung kann auch in ihre Raumkomponenten zerlegt werden. All
diese Differentialgleichungen können in einen ähnlichen Aufbau umgeformt werden. Um
das so entstehende partielle, nichtlineare Differentialgleichungssystem zu schließen (mit p
und �⃗� gibt es mehr Unbekannte als Gleichungen), werden außerdem Zustandsgleichungen
und Materialgesetze herangezogen.
2.2.4 Reynoldzahl
In der Thermo- und Fluiddynamik werden dimensionslose Kennzahlen verwendet, um ge-
ometrisch ähnliche Prozesse oder Zustände vergleichbar zu machen. Die Re-Zahl stellt das
Verhältnis von Trägheits- zu Reibungskraft dar und ist definiert zu
𝑅𝑒 =𝜌 ∗ 𝑢 ∗ 𝑙
𝜂=
𝑢 ∗ 𝑙
𝜐=
6𝑚𝑠 ∗ 0,1𝑚
10𝑒 − 6𝑚2
𝑠
= 600.000 (2-12)
Sie wird häufig als Aussage darüber verwendet, ob eine Strömung laminar oder turbulent
vorliegt. Der Übergang, auch Transition genannt, wird durch eine sogenannte kritische Re-
- 11 -
Zahl definiert, wobei darauf zu achten ist, dass dieser mitnichten abrupt verläuft. Rekrit vari-
iert stark von Geometrie zu Geometrie.
Im Bereich am mittleren Radius der Laufradschaufel ist Re ≈ 600.000 und nimmt nach au-
ßen hin zu. Es liegt eine turbulente Strömung vor. Der Wert der Geschwindigkeit von 6 m/s
wurde der CFD-Simulation entnommen. Für die charakteristische Länge l wird die ange-
strömte Lauflänge der Laufschaufel von ca. 10 cm herangezogen.
2.2.5 Grenzschichttheorie
Die Grenzschichttheorie ist ein elementarer Bestandteil in der mathematischen Modellie-
rung von Strömungen und wurde von Prandtl 1904 vorgeschlagen. Sie bedeutet gleichzeitig
eine Vereinfachung, durch die einzelne, vereinfachte Navier-Stokes-Gleichungen erstmals
auch analytisch gelöst werden können (Stemmer). Demnach lässt sich die Strömung um
einen Körper in zwei Bereiche aufteilen: Die dünne Grenzschicht im wandnahen Bereich (u
< 0,99 u∞) und in die Außenströmung mit vernachlässigbarer Reibung. Die Gründe für die-
ses Phänomen liegen in der Haftbedingung an Oberflächen mit u = 0 m/s sowie an der
Viskosität des Fluides, welche den Proportionalitätsfaktor zwischen Schubspannung 𝜏 und
Geschwindigkeitsgradient darstellt gemäß:
𝜏 = 𝜂𝑑𝑢
𝑑𝑦 (2-13)
In Abbildung 2-5 wird die Ausbildung einer Grenzschicht an einer umströmten ebenen Platte
schematisch dargestellt, wobei δ(x) die Dicke der Grenzschicht bedeutet.
Abbildung 2-5: Grenzschichtausbildung an einer ebenen Platte
(Schlichting & Gersten, 2006)
- 12 -
Die Grenzschicht wird in zwei Arten unterteilt: Die laminare für niedrige und die turbulente
für hohe Reynoldszahlen. Die Strömung in der Kaplanturbine ist turbulent. Diese wird wie-
derum in zwei Bereiche aufgeteilt:
- Die viskose Unterschicht, in der der viskose Einfluss dominiert. Sie ist laminar und
𝛿𝑙𝑎𝑚𝑖𝑛𝑎𝑟 ≪ δ(x).
- Übergangsschicht im Außenbereich der Grenzschicht, in welcher der viskose Ein-
fluss rasch abnimmt.
Wäre eine Laufradschaufel eine ebene halbunendliche Platte, dann hätte die turbulente
Grenzschicht auf Höhe des mittleren Radius der Laufradschaufel eine Dicke von
𝛿𝑡𝑢𝑟𝑏 =0,37 ∗ 𝑙
√𝑅𝑒5 =
0,37 ∗ 0,05
√6000005 = 0,0012 ∗ 𝑚 = 1,29 𝑚𝑚 (2-14)
Wobei mit l die halbe Lauflänge des Laufrades angesetzt wird und Re aus Formel (2-12)
stammt. Die präzise Modellierung der Grenzschicht ist wichtig, weil sich von dort aus die
turbulente Strömung entwickelt. Ob die Grenzschicht durch das Rechengitter ausreichend
aufgelöst wird, kann durch den dimensionslosen Wandabstand y+ sowie dem dimensi-
onslosem Geschwindigkeitsmaß u+ beurteilt werden. Die folgende Beschreibung basiert
hauptsächlich auf (Schwarze, 2013, S. 150-155). Diese werden erlangt, indem die wand-
normale Koordinate y und die mittlere wandparallele Geschwindigkeit �̅� entdimensioniert
werden:
𝑦+=𝑢𝜏 ∗ 𝑦
𝑢 (2-15)
𝑢+=�̅�
𝑢𝜏 (2-16)
Mit 𝑢𝜏 als Wandschubspannungsgeschwindigkeit, die sich berechnet gemäß
𝑢𝜏 = √𝜏𝑊
𝜌 (2-17)
Wobei 𝜏𝑊 wiederum die Wandschubspannung ist. Wichtig ist, dass y+ proportional zu y ist
und durch eine feinere Netzauflösung gesenkt werden kann. Durch Auftragen von u+(y+)
erhält man das sogenannte universelle Wandgesetz (Abbildung 2-6), das durch die Be-
schreibung der Couette-Strömung abgeleitet werden kann. Das Wandgesetz enthält drei
charakteristische Bereiche:
- 0 < y+ < 5: viskose Unterschicht
- 13 -
- 5 < y+ < 70: Übergangsbereich
- y+ > 70: vollturbulente Kernströmung.
Abbildung 2-6: Universelles Wandgesetz
(Schwarze, 2013)
Um die viskose Unterschicht genau aufzulösen, muss also der dimensionslose Abstand
zwischen dem Mittelpunkt der wandnahsten Zellschicht und der Wand << 5 sein. Dies
würde ein immens feines Netz erfordern. Häufig werden 5 – 10 Zellschichten genannt, um
die turbulente Grenzschicht vollständig aufzulösen (CFD-Online, 2015). Deshalb wurden
sog. Wandrandbedingungen entwickelt und eingeführt, die in Kombination mit bestimmten
Turbulenzmodellen (sog. High-Re-Turbulenzmodellen) die Grenzschicht nicht auflösen,
sondern beschreiben. So sind y+-Werte von ca. 20 - 30 erforderlich, je nach Löser und
Turbulenzmodell.
2.2.6 Tragflügeltheorie
Die Effizienz einer Turbine wird maßgeblich durch die Geometrie der Leit- und Laufschau-
feln gesteigert. Diese sind in Form eines Tragflügels gestaltet. Die Tragflügeltheorie ist
wichtig für das Verständnis der Strömungsvorgänge in der Turbine.
- 14 -
Abbildung 2-7: Umströmter Tragflügel
(Böswirth & Bschorer, 2014)
Mittels des Impulssatzes wird der Auftrieb eines Tragflügels so erklärt, dass dieser einen
Fluidmassenstrom nach unten ablenkt (Abbildung 2-7, links). Gemäß dem Impulssatz ent-
steht eine Auftriebskraft nach oben. Die Bernoulli-Gleichung erklärt das Phänomen des Auf-
triebs so, dass die Fluidteilchen oberhalb des Profils einen längeren Weg zurückzulegen
haben als die unteren. Um der Kontinuitätsgleichung zu genügen, müssen ergo die oberen
eine größere Geschwindigkeit einnehmen. Höhere Geschwindigkeit bedeutet niedrigerer
Druck. Auf der Oberseite (Saugseite) herrscht demnach eine Sogwirkung, auf der unteren
(Druckseite) eine Druckwirkung. Der Auftrieb ist reibungsbedingt. Mit steigendem Anstell-
winkel wird der Massenstrom immer weiter nach unten gelenkt, bis eine Ablösung der Strö-
mung auf der Saugseite erzwungen wird. Dahinter entsteht ein sog. Totwassergebiet
(rechts). Auftriebs- und Wiederstandsbeiwerte ca,w werden nach folgender Formel berech-
net
𝑐𝑎,𝑤 =𝐹𝑎,𝑤
12𝜌𝐴𝑢∞
2 (2-18)
Wobei A die angeströmte Flügelfläche und 𝑢∞2 die Anströmgeschwindigkeit aus dem Un-
endlichen. Der Druckbeiwert cp wiederum berechnet sich zu
𝑐𝑝 =𝑝 − 𝑝∞
12𝜌𝑢∞
2
(2-19)
Dieser wird über den Profilumfang aufgetragen und gibt die Druckverteilung wider. Der Nen-
ner entspricht dem Staudruck, weshalb cp nicht größer als 1 werden kann. Abbildung 2-8
zeigt den Druckbeiwert eines ideal angeströmten Tragflügels.
- 15 -
Abbildung 2-8: Druckbeiwert eines ideal angeströmten Tragflügels
(Böswirth & Bschorer, 2014)
2.3 Numerische Grundlagen
2.3.1 Diskretisierung
Für das in Kapitel 2.2.3 genannte Gleichungssystem ist bis auf vereinzelte, vereinfachte
Formen keine analytische Lösung bekannt. Die Navier-Stokes-Gleichung analytisch zu lö-
sen, ist eines der Millenniumsprobleme (Clay Mathematics Institute, 2015). Darum muss
das Problem numerisch gelöst werden. Für die Diskretisierung, also das Aufteilen des Prob-
lems in eine endliche Summe von Differenzen (Kontrollvolumen), wendet OpenFOAM die
Finite-Volumen-Methode (FVM) an. Diese ist sehr anschaulich in (Lecheler, 2009) beschrie-
ben. OpenFOAM bietet eine große Auswahl an Diskretisierungs- und Interpolationsmög-
lichkeiten an. In einer stationären Rechnung ist nur die räumliche und nicht die zeitliche
Diskretisierung relevant. Standardmäßig wird für die 1. Ableitungen die zentrale räumliche
Differenzenmethode mit Genauigkeit 2. Ordnung verwendet gemäß
(𝜕𝜑
𝜕𝑥)𝑖,𝑗
=𝜑𝑖,𝑗+1 − 𝜑𝑖,𝑗−1
2∆x+ 𝜃(∆𝑥2) (2-20)
Wobei i und j die Laufvariablen in x- und y-Richtung darstellen und der letzte Term das
Abbruchsglied ist, welches aus der Taylorreihenentwicklung herrührt. In analoger Weise
- 16 -
werden die 2. Ableitungen diskretisiert. Die FVM integriert nun diese Werte über die Ober-
flächen des Kontrollvolumens.
2.3.2 Lösungsverfahren
Es gibt zahlreiche Lösungsverfahren, um die Differenzengleichungen zu lösen. Häufig wird
das Upwind-Verfahren verwendet, denn es hat sich als stabiles Verfahren erwiesen. Eine
detaillierte Beschreibung ist in (Lecheler, 2009) zu finden. Lösungsverfahren weiterzuent-
wickeln ist äußerst komplex und schon seit Jahrzehnten ein Thema in der Forschung. Die
gewählten Lösungsverfahren für die einzelnen Diskretisierungsgleichungen müssen mitei-
nander harmonisieren.
Im fvSchemes-Skript erfolgen alle Eingaben für die numerischen Lösungsverfahren der Dif-
ferentiation und Interpolation. In fvSolution werden die Lösung und der Algorithmus kontrol-
liert.
2.3.3 Konvergenzkriterium
Ob und wie schnell eine Simulation in Richtung der Näherungslösung konvergiert, lässt sich
durch den Residuenverlauf ausdrücken. Er stellt ein Maß für die Genauigkeit einer Lösung
dar. Ein Residuum gibt die Abweichung vom physikalischen Mess- oder Sollwert φphys und
dem berechneten Wert φ an. Nun ist dem Löser der Sollwert bzw. die Lösung unbekannt,
er kann das wahre Residuum nicht bestimmen. Der Löser macht also kurzgefasst folgen-
des: Seine Aufgabe ist es, das Gleichungssystem zu lösen
𝐵𝜑 = 𝑏 (2-21)
Wobei B die Koeffizientenmatrix und φ der Vektor der Näherungslösung ist. Der Löser ver-
sucht, den approximierten Lösungsvektor φn durch Addition eines Korrekturvektors φ´ zu
verbessern
𝜑𝑛+1 = 𝜑𝑛 + 𝜑´ (2-22)
Das Residuum der n-ten Iteration wird demnach darstellen gemäß
𝑟𝑛 = 𝑏 − 𝐵𝜑𝑛 (2-23)
Es wird herangezogen, um den Korrekturvektor zu bestimmen
- 17 -
𝐵𝜑´ = 𝑟𝑛 (2-24)
Durch Konvergenz des Korrekturvektors und damit des Residuums gegen Null, ändert sich
die Lösung nicht mehr und damit ist Ergebnis erreicht. Dies ist lediglich eine stark verein-
fachte Darstellung und wird in (Schwarze, 2013) detaillierter erläutert. Bei turbulenten Si-
mulationen wird häufig der Wert r < 10e-4 für eine gute Lösung genannt.
2.3.4 Topologie und Qualitätskriterien
Das Rechengitter besteht aus einer endlichen Anzahl an Kontrollvolumen, für die jeweils
das Gleichungssystem gelöst und der Lösungsvektor φ bestimmt wird (z.B. im Zellmittel-
punkt). Ein Rechengitter wird unterschieden in zwei Typen.
Strukturierte Gitter bestehen aus ähnlichen Elementen – meist Vierecken oder Hexaedern
– mit einer regelmäßigen Struktur. Damit können einfache Geometrien wie Tragflächen ab-
gebildet und schnell gerechnet werden.
Unstrukturierte Gitter weisen keine Regelmäßigkeiten auf und füllen das Volumen meist
mit Hexaedern und Tetraedern. Damit können auch komplexe Geometrien nachgebildet
werden. Allerdings erhöht sich der Rechenaufwand für ein unstrukturiertes Gitter, da mehr
Kontrollvolumen notwendig sind, denn ein Hexaeder hat ein bis zu 8,5-mal so großes Vo-
lumen als ein Tetraeder mit gleicher Kantenlänge. Abbildung 2-9 zeigt ein hybrides Gitter
mit partiell strukturierten wie auch unstrukturierten Bereichen, wie es für diese Simulation
erstellt wird.
Abbildung 2-9: Hybrides Rechengitter
- 18 -
In OpenFOAM wird die Netzqualität mit der checkMesh-Funktion überprüft. Es gibt die Netz-
statistik und Topologie aus und überprüft und bewertet die Qualität nach folgenden Kriterien
(OpenFOAM wiki, 2015):
- Aspect Ratio: Verhältnis zwischen längster und kürzester Kantenlänge einer Zelle.
1,0 wäre ideal
- Volume: Das Verhältnis zwischen maximalem und minimalem Volumen darf nicht
zu groß werden
- Mesh non-orthogonality: Misst den Winkel zwischen der Verbindungslinie zweier
benachbarter Zellen und der Normalen ihrer gemeinsamen Oberfläche. 0.0° wäre
ideal
- Skewness: Misst den Abstand zwischen dem Schnittpunkt der Verbindungslinie
zwischen zwei Zellzentren mit ihrer gemeinsamen Oberfläche und der Mitte dieser
Fläche. Je kleiner, desto besser.
Darüber hinaus werden weitere Kriterien überprüft. Beim Vernetzen ist darauf zu achten,
dass große Sprünge im Netz zu vermeiden sind. Ein weiteres wichtiges Qualitätskriterium
wird in (CFD-Online, 2015) genannt. Es sagt aus, dass der Wachstumsfaktor zwischen zwei
Zellschichten normal zu einer Oberfläche nicht größer als 1,25 betragen soll.
2.3.5 Turbulenzmodellierung
Die Realität einer derart turbulenten Strömung ist äußerst komplex, denn es treten instati-
onäre Ablösungen, (Klein-) Wirbel, Grenzschichteffekte und Nachlaufgebiete auf. Außer-
dem sind die Bahnkurven der Teilchen instationär und turbulent. Dafür ist ein hoch feines
Gitter notwendig. All dies numerisch aufzuschlüsseln, würde einen immens hohen Rechen-
aufwand bedeuten. Dies wird zwar mit der direkten numerischen Simulation versucht (kurz
„DNS“), die Berechnungen beschränken sich bisweilen jedoch auf einfache Geometrien und
selbst für diese ist ein Supercomputer notwendig. Deshalb wurden zeitgemittelte Navier-
Stokes-Gleichungen (kurz „RANS“ für Reynold-Averaged Navier-Stokes, siehe Abbildung
2-10) entwickelt, um die Turbulenzen zu modellieren.
- 19 -
Abbildung 2-10: Vereinfachung und Aufwand numerischer Methoden
(Schwarze, 2013)
Für turbulente Strömungen mit in jedem Raumpunkt konstanten Mittelwerten von Ge-
schwindigkeit und Druck (welche jedoch turbulent schwanken) wird die instationäre Navier-
Stokes-Gleichung vereinfacht (Böswirth & Bschorer, 2014), indem man die turbulent
schwankenden Werte von Geschwindigkeit �⃗� (t) und Druck p (t) in zeitunabhängige statio-
näre Mittelwerte �̅� und �̅� sowie in zeitabhängige Schwankungswerte aufspaltet gemäß (hier
nur für die Komponente der Geschwindigkeit in x-Richtung):
𝑢(𝑡) = �̅� + 𝑢´ (2-25)
Wobei
�̅�´ =1
𝑇∫ 𝑢´
𝑇
0
𝑑𝑡 = 0 (2-26)
Dies ist die Reynolds-Mittelung. Wird das nun in die Navier-Stokes-Gleichung eingesetzt,
erhält man nach weiterem Umformen
𝜌(u⃗ 𝑇∇�⃗̅� ) = −∂𝑝
𝜕𝑥+ 𝜂∆�̅� + 𝜕 (
𝜕�̅�2
𝜕𝑥+
𝜕𝑢𝑣̅̅̅̅
𝜕𝑦+
𝜕𝑢𝑤̅̅ ̅̅
𝜕𝑧) (2-27)
Wobei �⃗� = (𝑢 𝑣 𝑤). Der mittlere Term auf der rechten Seite ist gegenüber dem rechten
Term vernachlässigbar (Böswirth & Bschorer, 2014). Der rechte Term beinhält die Rey-
nolds-Spannungen, welche die scheinbaren turbulenten Spannungen darstellen. „Schein-
bar“ deshalb, weil in der Modellierung die turbulenten Bewegungen der einzelnen Fluidteil-
chen nicht berücksichtigt sind. Es ist ersichtlich, dass durch dieses Aufspalten sechs wei-
tere Unbekannte hinzugefügt wurden. Deshalb wurden die empirischen Turbulenzmodelle
- 20 -
entwickelt, um das Gleichungssystem wieder zu schließen. Diese werden nach der Anzahl
ihrer zusätzlichen Transportgleichungen eingestuft (siehe Tabelle 2-3).
So zeigt jedes Turbulenzmodell seine bestimmte Charakteristik und weist je nach Problem-
stellung Stärken und Schwächen auf. Dies muss bei der Auswahl eines geeigneten Modells
berücksichtigt werden. Das kε-Modell etwa liefert gute Ergebnisse im Kernbereich einer
vollturbulenten Rohrströmung, hat aber Probleme bei der Vorhersage von Staupunkten und
Drall. Das kω-Modell hingegen liefert gute Ergebnisse bei Scher- und Nachlaufströmungen,
ist dafür im Kernbereich ungenauer. Das kω-SST-Modell (Shear Stress Transport) vereint
durch einen speziellen Algorithmus die Vorteile von kε- sowie kω-Modell. Deshalb, und weil
es zurzeit als Stand der Technik angesehen werden kann, fällt die Wahl zunächst auf dieses
Modell. Es wird jedoch ein zusätzlicher Vergleich mit dem kε –Modell herangezogen.
Analog zu anderen Disziplinen der Physik steht k für die turbulente kinetische Energie, ε für
die turbulente Dissipationsrate und ω für die charakteristische Frequenz der energietragen-
den Wirbel. Diese Turbulenzparamater berechnen sich zu
𝑘:=1
2(𝑢´2 + 𝑣´2 + 𝑤´2) (2-28)
Wobei der Strich im Exponent darauf hinweist, dass es sich jeweils um die fluktuierenden
Geschwindigkeitskomponenten handelt. Der fluktuierende Anteil I wird häufig zwischen 2 –
5 % für Turbomaschinen angenommen (CFD-Online, 2015). Die Strömung in der Kaplan-
turbine ist eher turbulent, von daher orientiert man sich für die weiteren Berechnungen am
oberen Ende des Fensters mit 5 %. Nimmt man außerdem eine isotrope Turbulenz an,
verändert sich k zu
𝑘 =3
2(‖�⃗� ‖𝐼)2 =
3
2(1,5
𝑚
𝑠∗ 0,05)2 = 0,0084
𝑚2
𝑠2 (2-29)
Hier wurde eine mittlere Eintrittsgeschwindigkeit von 1,5 m/s herangezogen. ε berechnet
sich zu
휀: = 𝐶𝜇0,75𝑘1,5𝑙−1 = 0,090,750,00841,50,035−1 = 0,0036
𝑚2
𝑠3 (2-30)
Wobei 𝐶𝜇 eine Konstante des kε-Modells darstellt und für die charakteristische Länge l 7 %
des Durchmessers der Turbine angenommen werden. Außerdem ist
𝜔:=𝑘
휀= 2,33
1
𝑠 (2-31)
- 21 -
Es wird immer wieder genannt, dass die Anfangs- und Randwerte der Turbulenzparameter
große Auswirkungen auf das Ergebnis mit sich bringen können, jedoch wurden beim Vari-
ieren dieser Parameter keine großartigen Unterschiede festgestellt.
Tabelle 2-3: Übersicht über häufig genutzte Turbulenzmodelle
(Schwarze, 2013)
- 22 -
3. Aufbau des Simulationsfalls
OpenFOAM hat sich als frei verfügbares CFD-Programm neben einigen kommerziellen wie
Ansys oder Star-CCM+ in Wissenschaft und Industrie etabliert. Es ist ein offenes und nati-
ves Simulationsprogramm ohne grafische Benutzeroberfläche. Alle Einstellungen und Vor-
bereitungen einer Simulation werden in Skript-Dateien erfasst. Die Steuerung erfolgt grund-
sätzlich über eine Kommandozeile. Es gibt jedoch einige Firmen, die sich darauf speziali-
siert haben, OpenFOAM weiterzuentwickeln. CFD-Support © aus Prag etwa geht den Weg,
dass es auf Basis von OpenFOAM das Programm für spezifische Anwendungen wie Tur-
bomaschinen oder Automobile weiterentwickelt, indem Löser optimiert werden und der ge-
samte Arbeitsablauf effizienter vonstattengeht. Die SimScale GmbH © aus München wie-
derum bietet eine webbasierte Benutzeroberfläche für Vernetzung und grafische Auswer-
tung an und bereitet intern die passende Geometrie her (siehe Kapitel 3.3.3). move © aus
Braunschweig ist ein Dienstleister, der die gesamte CFD-Simulation übernimmt. Die im
Rahmen der Masterthesis erstellte CFD-Simulation basiert auf dem nativen OpenFOAM
Version 2.3.0.
3.1 OpenFOAM Struktur
Ein Arbeitsordner, der alle Eingabefunktionen für einen bestimmten Simulationsfall enthält,
besteht aus drei Unterordnern.
- Der 0-Ordner enthält alle Informationen über physikalische Größen wie Druck und
Geschwindigkeit
- Im constant-Ordner sind Information über die Geometrie (im triSurface-Unterordner)
und physikalische Konstanten sowie Stoffwerte hinterlegt
- Mit den Skripten im system-Ordner werden die Netzerzeugung und alle Simulati-
onsparameter eingestellt und überprüft.
Abhängig vom Simulationsfall existieren unterschiedlich viele Skripte. Im Laufe der Netzge-
nerierung und der Simulation werden, je nach Einstellungen, neue Ergebnisordner und
Skripte erstellt. Abbildung 3-1 zeigt den Arbeitsordner der Kaplanturbine vor der Simulation.
Die Ergebnisse können z.B. in Paraview, einem Programm für wissenschaftliche Visualisie-
rungen, angezeigt werden. Es bietet eine große Auswahl an Funktionen für die bestimmte
Datenextraktion.
- 23 -
Abbildung 3-1: Strukturbaum in OpenFOAM
3.2 Vereinfachungen
Um die Komplexität und damit den Aufwand der Vorbereitungen und der Rechnung nicht
unnötigerweise in die Höhe zu treiben, werden folgende Vereinfachungen getroffen:
- Vereinfachte Geometrie, so können etwa einzelne Schrauben oder der 0,2 mm
dünne Schlitz zwischen Laufrad und Wand nicht berücksichtigt werden
- Einphasiges Strömungsgebiet, bestehend aus Wasser, d.h. Lufteinschlüsse und
Kavitation werden nicht berücksichtigt
- Homogene Randbedingungen
- Quasistationäres Problem (Frozen Rotor-Methode, siehe Kapitel 3.4.1)
- Isothermer Prozess
- Einfluss der Gravitation wird vernachlässigt. Der Fehler ist jedoch gering und wird
Großteils rausgemittelt
- Wasser ist inkompressibel und kann als Newtonsches Fluid angenommen werden.
- 24 -
Mit diesen getroffen Annahmen bietet sich der simpleFoam-Löser idealerweise an. Es ist
ein druckbasierter Algorithmus und steht für Semi Implizit Method for Pressure Linked
Equations.
3.3 Geometrie und Vernetzung
Ein gutes Rechengitter zu erzeugen, ist die Haupt- und mit Abstand zeitintensivste Aufgabe
einer CFD-Simulation, denn das Ergebnis der Simulation steht und fällt mit dem Rechen-
gitter. Es gibt viele Möglichkeiten, ein geeignetes Gitter zu erzeugen. In diesem Kapitel wird
zuerst die Geometrie für das Simulationsgebiet definiert und anschließend vorgestellt, wel-
che Möglichkeiten OpenFOAM zur Gittererzeugung bietet und wie dabei vorgegangen wird.
3.3.1 Geometrie
Abbildung 3-2 zeigt das durchströmende Volumen, welches später mit dem Rechengitter
ausgefüllt wird.
Abbildung 3-2: Geometriedefinition
Während die Wand und die Turbinenstufe durch die Geometrie selbst vorgegeben sind,
wird der Einlass direkt hinter die Trompete gewählt. Hier ist der Volumenstrom durch Mes-
sungen bekannt. Der Vorteil ist, dass die Trompete so nicht berücksichtigt werden muss,
der Einlass ist aber immer noch weit genug entfernt von der Turbinenstufe. Die Entfernung
zwischen Einlass und Turbinenstufe muss genügend groß sein, denn am Einlass wird als
Randbedingung ein homogenes Geschwindigkeitsfeld vorgegeben, das sich beim Eintritt in
die Turbinenstufe noch verändert. Der Auslass wird direkt an das Ende des Saugrohres
gesetzt. Dort ist der Druck durch Messungen bekannt. Direkt im Anschluss an das Saugrohr
befindet sich ein Gleichrichtergitter, das die Strömung stabilisiert und eine Rückströmung
Welle Flossen
Ein
lass
Leit- und Laufrad A
usla
ss
Wand
- 25 -
verhindern soll. Die Geometrie des Gitters bleibt unberücksichtigt, denn scharfen Kanten
sind potenzielle Schwachpunkte im Netz. Außerdem kann die gleichrichtende Eigenschaft
durch eine spezielle Randbedingung nachgestellt werden (inletOutlet, siehe Kapitel 3.4.3).
3.3.2 Erzeugen eines Gitters in OpenFOAM
OpenFOAM bietet drei interne Netzerzeuger an. Mit blockMesh können einfache bis wenig
komplexe Geometrien erzeugt werden. Das Gitter besteht dabei aus einem oder mehreren
Blöcken, die wiederum beliebig in Unterblöcke aufgeteilt werden können. Somit erzeugt
blockMesh ein strukturiertes Gitter. Der einfachste Block ist dabei ein Würfel, wobei dieser
entlang seiner Kanten gestaucht und gestreckt werden kann. Des Weiteren kann eine Kante
gerade und kurvige Formen einnehmen. Typische Geometrien sind Rohre, Düsen und Dif-
fusoren, aber auch Kessel und Rührer.
Mit snappyHexMesh können nahezu alle beliebigen Geometrien erzeugt werden. sHM er-
zeugt im Prinzip die Geometrie nicht selbst, sondern kann STL- sowie OBJ-Dateien einle-
sen, wobei diese Dateien sämtliche relevante Informationen für die Geometrie enthalten
müssen. Zunächst wird dazu in blockMesh ein sog. Hintergrundnetz erstellt, aus dem sHM
die gewünschte Geometrie herausschneidet. Die STL- bzw. OBJ-Dateien werden dabei im-
portiert, also mit einem anderen Programm erzeugt und mittels sHM eingelesen. Diese Me-
thode wird im Verlauf der Masterthesis angewendet, weil es viele Einstellparameter bietet,
flexibel ist, relativ robust läuft und letzten Endes bewährt ist. Das erzeugte Gitter ist haupt-
sächlich hexaedrisch und unstrukturiert. sHM geht beim Vernetzen derart vor, dass es an
der Oberfläche iterativ ein Gitter erzeugt, um danach das Volumen durch geteilte Hexaeder,
sog. split-hex, das Volumen ausfüllt.
Mit der Version 2.3.0 wurde ein neuer Netzerzeuger namens foamyHexMesh eingeführt.
Dieser erzeugt ein hexaedrisch dominierendes Gitter und liest wie sHM die Geometrie über
STL- und OBJ-Dateien ein. Der Vorteil von fHM besteht darin, dass die Form der Geometrie
und insbesondere scharfe Kanten teils deutlich besser nachgebildet werden können. Aller-
dings ist dieser neue Netzerzeuger noch nicht ausgereift und der Anwender wird häufig mit
Fehlermeldungen konfrontiert. Aus diesem Grund konnte die Vernetzung mit fHM nicht fort-
gesetzt werden.
Darüber hinaus bietet OpenFOAM die Möglichkeit, Gitter, die mit einem anderen Programm
erzeugt wurden, zu importieren. So kann etwa über den Befehl fluent3DMeshToFoam mit
einem in Ansys erzeugten Gitter gerechnet werden.
- 26 -
3.3.3 Erzeugen von STL-Dateien
Die Geometrie der Kaplanturbine wird durch STL (Stereolithographie)-Dateien bestimmt.
Damit werden Oberflächen von dreidimensionalen Körpern mithilfe von Dreiecksgittern be-
schrieben (auch Triangulation genannt). Es werden mehrere offene STLs erzeugt, damit an
verschiedenen Stellen an der Turbine unterschiedliche Randbedingungen gestellt werden
können. Offene STLs haben Ränder und sind in sich nicht geschlossen. Zur vollständigen
Definition der Geometrie gilt: Die Summe aller offenen STLs erzeugt einen geschlossenen
Körper. Die STLs intelligent auszuwählen und zu benennen ist wichtig für die anschließen-
den Arbeitsschritte. Folgende STLs werden erstellt (siehe Abbildung 3-2): Inlet (Einlass),
Outlet (Auslass), Rotor (Laufrad), Stator (Leitrad), Shaft (Welle), Wall (Bewandung) und
Fins (Flossen). Dabei werden die in CFD typischen englischen Bezeichnungen herangezo-
gen. Diese sieben STLs werden im Folgenden nun als „Patch“ (engl. Flicken) bezeichnet.
Für das snappyHexMeshDict müssen zunächst die STL-Dateien für die Geometrie aufbe-
reitet werden. Es existiert bereits ein vollständiges CAD-Modell, welches in Creo gezeichnet
wurde. Um die STLs für sHM zu erzeugen, wurde folgendes Verfahren erstellt:
- Das bestehende CAD-Modell wird vereinfacht. Es enthält alle Bohrungen und Mes-
seinrichtungen, die für die CFD-Simulation irrelevant sind. Überflüssige Teile und
Informationen werden entfernt
- Export der Geometrie als STP-Datei, denn Creo kann keine offenen STLs für sHM
erzeugen
- Die STP-Datei wird nun in Gmsh, einem frei verfügbaren dreidimensionalen Netzer-
zeuger, eingelesen. Mit Gmsh können nun die gewünschten offenen STLs erzeugt
werden. Sie werden direkt im triSurface-Ordner abgelegt. Es ist darauf zu achten,
dass die STLs im ASCII-Format abgespeichert werden.
Es hat sich gezeigt, dass auf die Qualität der STLs ein Hauptaugenmerk zu legen ist, denn
sie können große Probleme beim Vernetzen verursachen und die Simulation maßgeblich
beeinträchtigen. Gerade die Schnittstellen zwischen zwei Patches sind potentielle Fehler-
quellen.
3.3.4 Gittererzeugung mit snappyHexMesh
Zunächst wird festgelegt, dass ein einziges zusammenhängendes Netz erstellt wird (Single
Region Mesh), was durch die Frozen Rotor-Methode ermöglicht wird (sieh Kapitel 3.4.1).
Eine Alternative dazu ist Multi Region Mesh. Hier werden für unterschiedliche statische und
- 27 -
rotierende Bereiche einzelne Netze erzeugt und diese im Anschluss zu einem Netz zusam-
mengefügt.
Bevor mit sHM vernetzt wird, muss mittels blockMesh ein Hintergrundnetz erzeugt werden.
Dies ist trivial, es muss lediglich ein Block erstellt werden, der die gesamte Geometrie um-
fasst. Dabei ist darauf zu achten, dass der Block in x-, y- und z-Richtung im Verhältnis 1:1:1
unterteilt, damit das AspectRatio-Kriterium erfüllt wird. Die Hauptarbeit erfolgt im snap-
pyHexMeshDict, welches im Anhang A1 zu finden ist. Es liest alle STL-Dateien ein, schnei-
det die gewünschte Geometrie zurecht und verfeinert das Gitter an entsprechenden Stellen.
Dabei werden drei Hauptschritte abgefahren: castellatedMesh, snap und addLayers
(Foundation, 2014). Tabelle 3-1 enthält wichtige Schlüsselwörter in sHM. Neben diesen
bietet es noch eine ganze Reihe weiterer Möglichkeiten, die im sHMDict selbst erläutert
werden.
Es gibt mehrere Möglichkeiten, das Netz lokal zu verfeinern:
- Explicit feature edge refinement: Damit werden Kanten und Ecken feiner vernetzt
- Surface based refinement: Ausgewählte Oberflächen können verfeinert werden, um
Grenzschichteffekte besser aufzulösen oder die Geometrie besser nachzubilden
- Region-wise refinement: Hier werden bestimmte Regionen (z.B. in Form eines Qua-
ders oder Würfel) bestimmt, innerhalb (oder außerhalb) dieser das Netz um einen
ganzzahligen Faktor gegenüber dem Hintergrundnetz verfeinert wird
- addLayers: Es bietet die Möglichkeit, zusätzliche dünne Schichten an der Oberflä-
che hinzuzufügen.
Eine Kombination aus allen Möglichkeiten wird genutzt, um ein möglichst feines Gitter zu
erstellen. Beim Verfeinern ist darauf zu achten, dass die Zellzahl sprunghaft ansteigt. Wird
eine Zelle um den Faktor eins in alle Raumrichtungen verfeinert, erhöht sich die Zellzahl
um 23, also um Faktor acht!
Tabelle 3-1: Wichtige Parameter in sHM
Activation rows
castellatedMesh
snap
addLayers
Gezinntes Gitter erstellen
Geometrie fein herausschneiden
Oberflächenschichten hinzufügen
- 28 -
geometry Einlesen der STL-Dateien
castellatedMeshControls
maxGlobalCells
locationInMesh
nCellsBetweenLevels
Features
refinementSurfaces
refinementRegions
gapLevelIncrement
Globales Maximum der Zellenzahl
Beliebiger Ortsvektor innerhalb der zu vernetzenden Region
Anzahl der Schichten zwischen verfeinerten Stufen
Explicit feature edge refinement (siehe oben)
s.o.
s.o.
Neue Funktion, mit der Lücken und Spalte besser nachge-
bildet werden können
snapControls
implicitFeatureSnap (true)
nSolveIter
nFeatureSnapIter
Funktion, mit der scharfe Kanten und Übergänge besser
nachgebildet werden können
Vorgabe der Iterationsschritte, wie oft versucht wird, die Ge-
ometrie durch Versetzen der Gitterpunkte perfekt abzubilden
Vorgabe der Iterationsschritte, wie oft versucht wird, die äu-
ßeren Gitterpunkte den scharfen Kanten genau zuzuordnen
addLayersControls
expansionRatio
finalLayerThickness
Expansionsfaktor für das Wachstum der dünnen Schichten
an der Oberfläche
Vorgabe der Dicke der von der Wand entferntesten Schicht
meshQualityControls
maxNonOrtho
maxBoundarySkewness
maxInternalSkewness
minVol
Maximal erlaubte Nicht-Orthogonalität
Maximal erlaubte Schiefe der Zellen an der Oberfläche
Maximal erlaubte Schiefe der Zellen im inneren Volumen
Minimal erlaubtes Volumen einer Zelle
- 29 -
3.4 Vorbereitungen
3.4.1 Frozen Rotor-Methode
Bei der Frozen Rotor-Methode sind die rotierenden und stationären Teile immer in einer
fixierten relativen Position zueinander, d.h. das Netz bewegt sich während der Simulation
nicht. Um dennoch rotierende Effekte zu berücksichtigen, wird um den eigentlich rotieren-
den Bereich einen Rahmen gesetzt, innerhalb diesem die Impulsgleichung um die Coriolis-
kraft (siehe Formel 2-11) erweitert wird.
Somit erhält man in dem Rahmen ein quasistationäres Problem. Das Rechengebiet, wel-
ches aus stationären und quasistationären Bereichen besteht, wird auch MRF-Zone ge-
nannt (Multiple Reference Frame). Bezogen auf die Größe dieses Rahmens ist gemäß CFD
Support © folgendes zu beachten: Einerseits sollte er möglichst klein gewählt werden, um
den Fehler gering zu halten, andererseits groß genug, um Nachlaufeffekte mitzunehmen.
Um diese qualitative Aussage in ein quantitatives Maß umzumünzen, wurden zwei Rah-
mengrößen getestet. Es stellte sich dabei kein signifikanter Unterschied heraus, was das
gesagte Drehmoment auf das Laufrad betrifft.
Der Rahmen in Form eines Zylinders um das Laufrad herum wird im topoSetDict ausge-
wählt. Was nun konkret mit diesem Rahmen passiert, wird wiederum in fvOptions bestimmt:
MRF1 { type MRFSource; active true; selectionMode cellZone; cellZone rotatingZone; // Name des Rahmens MRFSourceCoeffs { nonRotatingPatches (Wall); origin (0.15 0 0); // beliebiger Punkt auf Rotationsachse axis (1 0 0); // Rotationsachse omega 92.15; // entspricht 880 U/min; // (RPM/60)*2*PI=rPs }
Unter nonRotatingPatches wird angegeben, dass die Oberfläche der äußersten Zellschicht
direkt an der Wand im Absolutsystem stationär bleibt. Durch den gewählten Frozen Rotor-
Ansatz bleiben alle rotierenden Effekte und Sekundärströmungen immer in derselben Po-
sition. Auch die relative Position zwischen Leit- und Laufrad spielt tatsächlich eine Rolle.
Diesen Fehler gilt es im Post-Processing zu berücksichtigen.
- 30 -
3.4.2 Stoffwerte
Tabelle 3-2 fasst die relevanten Stoffwerte für das Wasser zusammen, die entsprechend
im 0- sowie constant-Ordner zu hinterlegen sind.
Tabelle 3-2: Stoffwerte für Wasser
Dichte ρ 1000 kgm-³
Temperatur T 20 °C
Kinematische Viskosität ν 10e-6 m²s-1
Dynamische Viskosität η 10e-3 kgm-1s-1
Annahme Newtonsches Fluid
3.4.3 Rand- und Anfangsbedingungen
Um das Gleichungssystem zu lösen, müssen entsprechend Rand- und Anfangsbedingun-
gen vorgegeben werden. In einer stationären Rechnung sind die Werte der Anfangsbedin-
gungen quasi irrelevant und sie müssen nur obligatorisch vorgegeben werden. Im Prinzip
spielt der Wert der anzugebenden Strömungsgrößen keine Rolle, es sollte aber darauf ge-
achtet werden, dass dieser realistisch ist, um den Löser nicht zu provozieren.
Die Randbedingungen (RB) können z.B. aus Messungen herangezogen werden. In CFD-
Simulationen von Turbomaschinen gibt es hauptsächlich zwei Arten, die Randbedingungen
an Ein- und Auslass vorzugeben. Diese wurden in einem Telefonat mit Lubos Pirkl, CFD-
Entwickler von CFD Support ©, Prag, genannt und können auch in (CFD-Online, 2015)
nachgelesen werden:
1. Vorgabe des statischen Druckgefälles zwischen Ein- und Auslass. Wenn die benö-
tigte Fallhöhe vorhergesagt werden möchte, wird diese Art angewendet.
2. Am Einlass den Massenstrom und am Auslass den statischen Druck vorgeben. Dies
wird herangezogen, wenn der Wirkungsgrad von Interesse ist. Darauf ist zu achten,
dass der Einlass weit genug entfernt ist von Leit- und Laufräder, denn als Randbe-
dingung wird ein homogenes Geschwindigkeitsfeld vorgegeben, das sich beim Ein-
tritt in die Turbine verändert.
- 31 -
Tabelle 3-3 enthält die Übersicht über alle Randbedingungen, mit denen das beste Simula-
tionsergebnis erzielt wurde. Die Oberflächen von Leit- und Laufrad, Wand, Flossen und der
Welle könne allesamt als Wandoberfläche behandelt werden und sind aus Gründen der
Übersichtlichkeit unter „Wände“ zusammengefasst. In simpleFoam wird nicht der tatsächli-
che Druck in Pa vorgegeben, sondern der Druck dividiert durch die Dichte des Fluids.
Dadurch vereinfacht sich die Programmierung des Lösers um eine Variable. Die Haftbedin-
gung an Wänden ist mit u = (0 0 0) m/s hinterlegt, wobei fixed Value der Dirichlet-RB ent-
spricht. Die Neumann-RB ist mit zeroGradient gekennzeichnet. Mit der inletOutlet-RB (Ab-
bildung 3-3) wird ein etwaiger Rückfluss des Fluides am Auslass ins Strömungsgebiet un-
terbunden (fixedValue = 0). Dies kann durch den angrenzenden Gleichrichter angenommen
werden. Ansonsten entspricht sie zeroGradient. Für k, omega und nut (turbulente Viskosi-
tät) werden spezielle Wandrandbedingungen eingesetzt. Die Werte für k und omega wur-
den in Kapitel 2.3.5 abgeleitet. Die weiteren RB für nut sind standardmäßig.
Abbildung 3-3: InletOutlet Randbedingung
Tabelle 3-3: Randbedingungen
u/ ms-1 p/ m²s-² k/ m²s-²
Typ Wert Typ Wert Typ Wert
Einlass flowRateIn-
letVelocity
0,2956
(m3s-1)
zeroGradient - turbulentIntensi-
tyKineticEner-
gyInlet
5 %
Auslass inletOutlet - fixedValue 11,2929 inletOutlet -
Wände fixedValue (0 0 0) zeroGradient - kqRWallFunction 0,0084
Ein
lass
Au
sla
ss
Wand
Wand
- 32 -
omega/ s-1 nut/ m²s-1
Typ Wert Typ Wert
Einlass turbulentMixingLengthFre-
quencyInlet
mixingLength: 0,5
uniform 2.33
calculated Uniform 0
Auslass inletOutlet - calculated Uniform 0
Wände omegaWallFunction uniform 2.33 nutkWall-
Function
uniform 0
3.4.4 Lösungsverfahren und Kontrolle
Im Prinzip müsste für jeden einzelnen Rechenschritt ein separates Lösungsverfahren und
für jede Strömungsgröße ein linearer Löser sowie absolute und relative Toleranzen vorge-
geben werden. Die Möglichkeiten sind überwältigend und der Aufwand dafür wäre kaum
überschaubar. Deshalb werden Erfahrungswerte ausgetauscht und gesammelt. Des Wei-
teren gibt es für bestimmte Probleme einige Vorlagen, die jedoch noch angepasst werden
müssen. Falls eine Simulation abstürzt, schlagen moderne Löser Empfehlungen vor. Auf
diese Weise entsteht in einem iterativen Prozess eine stabile Simulation. In Tabelle 3-4 wird
gezeigt, mit welchen Einstellungen für die Lösungsverfahren eine gute Konvergenz erreicht
wird. div((nuEff*div(T(grad(U))))) beschreibt etwa einen Term auf der rechten Seite der For-
mel (2-10).
Weitere Eingaben für die Lösungsprozedur erfolgen im fvSolution-Skript. Exemplarisch
seien die Relaxationsfaktoren α genannt. Sie reduzieren mögliche Schwingungen und sta-
bilisieren die Lösung. Nach jedem Rechenschritt (CFD-Support, 2015) wird in jeder Zelle i
für alle Strömungsgrößen φ ein neuer Wert berechnet
φ𝑖𝑛+1 = φ𝑖
𝑛 + 𝛼(φ𝑖´ − φ𝑖
𝑛) (3-1)
Wobei φ´ den Korrekturvektor darstellt. Für 0 < α ≤ 1 herrscht Unterrelaxation, d.h. die Si-
mulation konvergiert möglicherweise langsamer, dafür stabiler.
- 33 -
Tabelle 3-4: Einstellungen in fvSchemes
ddtSchemes
default
steadyState
gradSchemes
default
Gauss linear
divSchemes
default
div(phi,U)
div(phi,k)
div(phi,omega)
div((nuEff*div(T(grad(U)))))
None
bounded Gauss upwind
bounded Gauss upwind
bounded Gauss upwind
Gauss linear
laplacianSchemes
default
Gauss linear corrected
interpolationSchemes
default
linear
snGradSchemes
default
corrected
Die Simulation wird über das controlDict kontrolliert: Dauer, Ergebnisberechnung und –aus-
gabe, Schreibformat (binary ist zu empfehlen anstatt ASCII, da schneller) werden hier ein-
gestellt. Es kann aus einer internen Bibliothek Funktionen für die Ergebnisausgabe be-
stimmter Größen einlesen. Für Kräfte und Drehmomente etwa ist folgende Eingabe erfor-
derlich:
functions
{
forces
{
type forces;
functionObjectLibs ( "libforces.so" );
outputControl timeStep;
outputInterval 10;
patches (Rotor);
pName p;
UName U;
rhoName rhoInf;
log true;
rhoInf 1000;
- 34 -
CofR (10 0 0);
}
}
Im Laufe der Simulation wird ein neuer Ergebnisordner erstellt, welcher die Kräfte und Dreh-
momente in x-, y- und z-Richtung ausgibt.
3.4.5 Reduzieren der Rechenzeit
Im Rahmen der Arbeit wurde ein 360°-Modell erstellt, d.h. es wurde keine Rotationssym-
metrie ausgenutzt, um die Zellzahl zu reduzieren. Es bestehen mehrere Möglichkeiten, die
Rechenzeit für eine Turbomaschine zu reduzieren. Im Folgenden sind drei vorgestellt.
Eine Möglichkeit ist, nur einen Kanal durch die Turbine zu simulieren. Der Kanal repräsen-
tiert eine Stromröhre. Meistens sind die Querschnittsflächen zwischen Leit- und Laufrad
aufgrund unterschiedlicher Schaufelanzahl nicht identisch. Um einen abrupten Übergang in
der Stromröhre zwischen Leit- und Laufrad zu vermeiden, wird eine „Mixing Plane“-Schnitt-
stelle eingefügt. Das ist eine weitere Randbedingung, die den Nachlauf aller Strömungs-
größen herausmittelt. Das Verhältnis der Querschnittsflächen wird für den Massenstrom
berücksichtigt gemäß
�̇�𝐿𝑒
�̇�𝐿𝑎=
𝐴𝐿𝑒
𝐴𝐿𝑎 (3-2)
Außerdem müssen für die linke und rechte Seite der Stromröhre außerhalb des Kanals
periodische Randbedingungen angegeben werden, welche in OpenFOAM als cyclicAMI
bezeichnet werden. Abbildung 3-4 zeigt diese Methode umgesetzt. Der Vorbereitungsauf-
wand dieser Methode ist ungleich höher als 360° und wird in der Arbeit nicht weiter verfolgt.
- 35 -
Abbildung 3-4: Kanal-Simulation
Des Weiteren kann die Rotationssymmetrie der Geometrie genutzt werden, in dem nur ein
Segment der Turbine simuliert wird. Dieses Segment muss eine ganze Anzahl von Leit-
sowie Laufschaufeln beinhalten. Konkret sind dies 18 und 4, d.h. ein Segment muss 9 Leit-
und 2 Laufschaufeln beinhalten. Das entspricht genau der Hälfte. Dieser Ansatz wurde ver-
sucht, umzusetzen. Die Idee ist, dass das Fluid, welches gerade die untere Hälfte der Tur-
bine (cycmlicAMI1) verlässt, direkt rotationssymmetrisch der oberen Hälfte (cyclicAMI2) zu-
geführt wird (Abbildung 3-5). Jedoch gibt dabei der Löser eine Fehlermeldung aus die nicht
behoben werden kann. Deshalb kann der Ansatz nicht weiter verfolgt werden.
Abbildung 3-5: periodische Randbedingungen
Durch Initialisieren mit PotentialFOAM kann die Simulationsdauer weiter verkürzt wer-
den. Der Löser PotentialFOAM löst mittels der Potentialtheorie das Problem relativ schnell
und gibt dieses vorgefertigte, aber noch nicht optimierte Ergebnis dem simpleFoam-Löser
cyclimAMI1
cyclimAMI2
- 36 -
weiter, der im Anschluss das Ergebnis genau berechnet. Damit kann nicht nur die Simula-
tionsdauer (um einen geringen Prozentsatz) reduziert werden, sondern die Rechnung wird
unter Umständen zusätzlich stabilisiert. Dieser Ansatz wird in der Simulation umgesetzt.
3.5 Arbeitsablauf
Der gesamte Prozess von der Geometrieaufbereitung über die Netzerzeugung und Simu-
lation bis hin zur Ausgabe der Ergebnisse ist sehr aufwändig und soll im Folgenden Schritt
für Schritt erläutert werden.
1. Wie die STLs erstellt werden, wurde bereits in Kapitel 3.3.3 genannt
2. Hintergrundnetz erstellen mittels blockMesh
3. Mit surfaceFeatureExtract werden scharfe Kanten der Geometrie (STLs) detektiert
und verfeinert dargestellt
4. Anschließend wird das Hintergrundnetz mit decomposePar zerlegt, und zwar in die
Anzahl der Rechenkerne, die der Rechner zur Verfügung stellt. Damit ist der Pro-
zessor zu 100 % ausgelastet und das Ergebnis steht entsprechend schneller zur
Verfügung
5. snappyHexMesh schneidet die Geometrie heraus und verfeinert diese
6. mit reconstructPar wird das zerlegte Netz wieder zu einem Ganzen zusammenge-
fügt
7. das vollständige Netz wird nun über die checkMesh-Funktion geprüft
8. GMsh hat die Eigenart, dass es Längeneinheiten in mm einliest um diese in m wie-
der auszugeben. Die Größenordnung wird über transformPoints -scale '(0.001 0.001
0.001)' wieder zurechtgestellt
9. Mit topoSet wird die MRF-Zone ausgewählt
10. Nun wird das Netz wieder über decomposePar zerlegt
11. Jetzt beginnt die eigentliche Simulation: Zuerst wird das Feld mit potentioalFOAM
initialisiert, um anschließend mit simpleFOAM zu rechnen, wobei der Prozessor wie-
der vollkommen ausgelastet ist
12. Das Netz zusammen mit den Simulationsergebnissen wird wieder rekonstruiert
13. Zuletzt werden durch yPlusRAS der dimensionslose Wandabstand y+ in jeder Zelle
berechnet und mit relU zusätzlich die Darstellung im Relativsystem ermöglicht.
Für die Schritte 2. bis 13. wurde ein eigenes Skript namens Allrun (siehe Anhang A5) er-
stellt, welches alle Schritte vollständig automatisiert erledigt und sehr robust funktioniert. So
kann eine Einstellung am Gitter oder an den Randbedingungen geändert werden und das
Ergebnis wird anschließend direkt ausgegeben.
- 37 -
4. Ergebnisse
Die Vorhersage des Drehmoments auf die Laufradbeschaufelung um die Drehachse stellt
in diesem Fall die wichtigste Simulationsgröße dar. Wenn das Drehmoment hoch ist, dann
ist der Wirkungsgrad gut, ebenso weitere Größen wie auch das Strömungsbild. Die genau-
este Vorhersage liefert dabei das SST-Modell, mit welchem auch die Netzstudie durchge-
führt wurde und aus dem die Ergebnisse stammen. Sowohl die Ergebnisse in diesem Ka-
pitel als auch die Skripte im Anhang beziehen sich demnach auf dieselbe Simulation.
Aufgrund der Diskretisierung wird das Druckmoment �⃗⃗� 𝑝,𝐿𝑎 auf das Laufrad, also das Dreh-
moment, das aus den Druckkräften herrührt, folgendermaßen berechnet:
�⃗⃗� 𝑝,𝐿𝑎 = 𝜌 [∑𝑟𝑖⃗⃗
𝑛
𝑖=1
× (𝑝𝑖𝐴𝑖⃗⃗ ⃗)] (4-1)
Dabei ist 𝐴 die Flächennormale jeder einzelnen Oberfläche, 𝑟 der Ortsvektor bezogen auf
die Drehachse und n die Anzahl der Oberflächen des Rotor-Patches. Der Druck p wird
wieder durch die Dichte des Fluids dividiert.
4.1 Netz und Geometrie
Abbildung 4-1 zeigt einen Längsschnitt durch die Turbine. Das Gitter ist im kritischen Be-
reich an der Turbinenstufe und an den Wänden um bis zu Faktor 85 gegenüber dem Hin-
tergrundnetz verfeinert. Um Rechendauer einzusparen, ist die Netzstruktur in weniger ent-
scheidenden Bereichen wie dem Inneren des Saugrohres grob. Die kringelartigen Schlei-
fen, die sich durch das Netz ziehen, sind ein typischer Nebeneffekt der addLayer-Funktion.
OpenFOAM versucht zwar, mit der neuen nMedialAxisIter-Funktion dem entgegenzuwir-
ken, bisweilen noch mit überschaubarem Erfolg. Scharfe Kanten werden exakt nachgebil-
det (Abbildung 4-2). Abgesehen von den Eintrittskanten der Schaufeln (siehe Kapitel 5.1)
kann die Geometrie sehr gut nachgebildet werden.
- 38 -
Abbildung 4-1: Gitterstruktur im Längsschnitt
Abbildung 4-2: Nahauflösung der Turbinenstufe
Die Netzqualität wird mit der checkMesh-Funktion überprüft, welches sich im Anhang 2 be-
findet. Es kann nur das Qualitätskriterium der „Skewness“ (engl. Schräge) nicht eingehalten
werden, wobei im gesamten Gebiet insgesamt 22 Zellen einen Wert außerhalb des gefor-
derten Kriteriums aufweisen. Dies ist zu verkraften und wirkt sich kaum auf die Gesamtqua-
lität aus. Alle anderen Qualitätskriterien werden eingehalten.
4.2 Netzstudie und Rechendauer
In einer Netzstudie wird untersucht, wie fein das Netz strukturiert sein muss, um einerseits
das bestmögliche Ergebnis zu erreichen, andererseits die Simulationsdauer aufgrund zu
hoher Zellanzahl nicht unnötig zu erhöhen. In dieser Netzstudie werden dazu mit dem block-
Mesh drei Hintergrundnetze in grober, mittlerer und feiner Auflösung erzeugt. Die Einstel-
lungen im sHM bleiben unverändert, um ein aussagekräftiges und vergleichbares Ergebnis
zu erhalten. Die Rechenzeit bezieht sich ausschließlich auf die Simulation selbst, d.h. das
Erstellen des Gitters, rekonstruieren usw. werden nicht mit einbezogen. Die Rechenzeiten
wurden mit dem Serverrechner Intel Xeon CPU E-5 2620 v4@ 2,40 GHz (2 Prozessoren á
- 39 -
12 Rechenkerne) mit 64 GB Arbeitsspeicher erreicht. Moderne Desktoprechner mit einem
schnellen i7-Prozessor brauchen in etwa dreimal so lang. Das feine Netz kann zwar erstellt
werden und weist eine gleich gute Qualität wie das mittlere und grobe Netz auf. Dennoch
bricht die Simulation nach einigen Iterationen wegen eines divergierenden Residuenver-
laufs ab und dieses Problem konnte nicht behoben werden. Für die weitere Auswertung
wird von daher das Netz mit mittlerer Auflösung herangezogen, denn dieses bildet im
Vergleich zum groben Netz die Geometrie marginal besser nach und verfügt über einen
guten Residuenverlauf. Unterschiede im wichtigen Drehmoment bestehen quasi nicht.
Tabelle 4-1: Netzstudie
Auflösung Zellen
(10e6)
Zeit/ s Drehmoment/
Nm
Bemerkung
Grob 2,81 2783 85,7 + Qualität
+ Residuen
Mittel 3,40 3466 85,0 + Qualität
+ Residuen
+ Nachbildung der Geometrie
Fein 4,28 - - + Qualität
+ Nachbildung der Geometrie
- Abbruch der Simulation
4.3 Residuen
Der Residuenverlauf stellt ein Maß für die Genauigkeit einer Lösung dar. Abbildung 4-3
zeigt den Residuenverlauf der besten Simulation. Es zeigt sich, dass im schlechtesten Fall
der Druck ein Residuum von e-04 aufweist. Die anderen Strömungsgrößen sind sogar im
Bereich e-06. Die Simulation konvergiert bereits nach 1000 Iterationen. Danach gibt es
keine Änderungen mehr. Die Residuen und Konvergenz sind ein sehr gutes Ergebnis!
Die gute Konvergenz ist einerseits auf die Einstellungen in fvSchemes und fvSolution, also
die gewählten Diskretisierungseinstellungen und Relaxationsfaktoren, andererseits auf die
gute Netzqualität zurückzuführen.
- 40 -
Abbildung 4-3: Residuenverlauf
4.4 Turbulenzmodell
In dieser Studie wird das SST- mit dem kε-Modell verglichen. Beide weisen Stärken in der
Simulation von Kernströmungen auf und werden deshalb grundsätzlich für Turbomaschinen
herangezogen. Ausgehend vom besten Ergebnis (Abbildung 4-3) als Referenz mit dem
SST-Modell werden die entsprechenden Einstellungen für das Turbulenzmodell an ein kε-
Modell angepasst. Das Turbulenzmodell wird im RASProperties-Skrpit ausgewählt. Beim
Wechsel von SST auf kε muss ein neues ε-Skript erstellt werden. Außerdem müssen in
fvSchemes sowie in fvSolution die Lösungsverfahren respektive Toleranzen neu eingestellt
werden.
Während das SST-Modell 85,0 Nm Drehmoment auf das Laufrad vorhersagt, liegt der Wert
des kε-Modells bei 83,5 Nm. Der gemessene Wert liegt bei 94,8 Nm. Die Abweichungen
sind damit -10,3 % respektive -11,9 %. In der Rechenzeit ergeben sich keine signifikanten
Unterschiede. Das Ergebnis bestätigt die in den Vorbereitungen getroffene Annahme für
das SST-Modell.
- 41 -
4.5 Visualisierungen
In Abbildung 4-4 kann man gut die globale Drallströmung durch die Turbine erkennen.
Durch den Drall werden Ablösungen im Saugrohr unterbunden. Dafür nimmt man in Kauf,
dass die Weglänge des Wassers durch die Turbine ansteigt, was zu mehr Reibungsverlus-
ten führt. Aufgrund des kurzen Saugrohrs ist der Drall stark ausgeprägt. Das wird auch
durch die Messungen bestätigt, denn diese deuten am Auslass des Strömungsgebietes auf
eine relativ hohe restliche kinetische Energie des Wassers hin. Es kann also nicht die ge-
samte kinetische Energie in Druckenergie umgewandelt werden, was sich in dem reduzier-
ten Wirkungsgrad der Turbine widerspiegelt. Auffallend ist, dass durch den Drall der Mas-
sendurchsatz am Auslass nahezu vollständig auf die äußeren Radien beschränkt ist.
Abbildung 4-4: Drallströmung
Abbildung 4-5 schlüsselt die Durchströmung der Turbine genauer auf. Die Knicke in den
Stromlinien deuten auf den Wechsel des Systems von absolut (am Leitrad und im Saugrohr)
zu relativ (am Laufrad) hin. OpenFOAM kann grundsätzlich nur Absolutsysteme visualisie-
ren. Deshalb stehen frei verfügbare Funktionen zur Verfügung, die innerhalb der MRF-Zone
die Corioliskraft aus der Navier-Stokes-Gleichung (Formel 2-11) subtrahieren und das Er-
gebnis neu berechnen. Man könnte meinen, dass die Anströmung parallel zur Sehne der
Laufschaufeln verlaufen würde. Tatsächlich wird das Laufrad leicht druckseitig angeströmt
(roter Pfeil). Die Stromlinien verlassen die Schaufeln nahezu kongruent. Außerdem kann
man beobachten, wie die Strömung am Leitrad umgelenkt und beschleunigt wird, sodass
hier der größte Druckabbau stattfindet. An den Eintrittsanten bildet sich eine Geschwindig-
keitsspitze aus (unten). Weitere visuelle Ergebnisse können dem Anhang 6 entnommen
werden.
- 42 -
Abbildung 4-5: Durchströmung der Turbinenstufe
4.6 Y+-Kriterium
Wenn man eine turbulente Strömung mit einer CFD-Simulation vorhersagen möchte, muss
das y+-Kriterium eingehalten werden. Der dimensionslose Wandabstand sollte kleiner als
20 sein, um Grenzschichteffekte aufzulösen. Tabelle 4-2 fasst die wichtigsten y+-Werte zu-
sammen. Der Durchschnittswert an allen Patches liegt knapp außerhalb des geforderten
- 43 -
Wertes. In einzelnen Zellen gibt es starke Ausreißer nach oben. Diese sind Diskussionsbe-
darf in Kapitel 5.2. Die Vermutung, dass das Drehmoment aufgrund der y+-Werte abweicht,
liegt nahe, sie darf aber nicht pauschalisiert werden.
Tabelle 4-2: y+-Werte
y+min y+max y+average Y+Median
Laufrad 3,0 354,7 33,1 25,92
Leitrad 0,5 186,4 23,4 15,01
Wand 1,4 346,2 41,2 36,36
Welle 2,3 353,6 27,3 21,58
4.7 Druckbeiwert
Abbildung 4-6 zeigt die Druckbeiwerte cp, welche über den Umfang des Leit- und Laufrades
aufgetragen sind, indem ein Kugelschnitt am Radius des halben Volumenstroms gesetzt
wurde (r = 117 mm). Dabei steht x/L für die relative Profiltiefe entlang der Sehne, wobei x/L
= 0 die Eintrittskante und x/L = 1 die Austrittskante darstellt. Die Verteilung des Druckbei-
wertes ist ein guter Indikator für die Profilqualität. Durch die Profilgeometrie sollen Ablösun-
gen auf der Saugseite unterbunden werden und mehr Auftriebskräfte erzeugt werden.
Idealerweise würde die Kurve ein Rechteck darstellen, dann wäre die Druckverteilung opti-
mal. Man kann nur versuchen, sich diesem Optimum anzunähern. Praktisch sind diese vor-
hergesagten Verläufe durchaus üblich. Auffallend jedoch ist, dass beim Laufrad der Anteil
der Druckseite (oberhalb der Abszisse) verhältnismäßig gering ausfällt, was sich negativ
auf das Drehmoment auswirkt. Grundsätzlich soll auf der Druckseite bezogen auf die freie
Anströmung Überdruck und auf der Saugseite Unterdruck erzeugt werden. Im Bereich der
Eintrittskante können große Differenzen aufgebaut werden, die entlang der Sehne ab-
bauen. Das liegt einerseits an der abnehmenden Schaufeldicke, um die Strömung wieder
zusammenzuführen, andererseits an der Düsenwirkung (Kapitel 5.3).
- 44 -
Abbildung 4-6: Druckbeiwerte an Leit- und Laufrad
4.8 Geschwindigkeit
4.8.1 Dreiecke
In Analogie an Abbildung 2-4 wird ein Geschwindigkeitsdreieck am Laufradeintritt (Ebene
1) und Laufradaustritt (Ebene 2) in einer zweidimensionalen Ebene erstellt (Abbildung 4-7).
Aus den Komponenten der Absolutgeschwindigkeit c und der Umfangsgeschwindigkeit u,
die sich nach 𝑢 = 𝜔 ∗ 𝑅 berechnen lässt, ergibt sich die Relativgeschwindigkeit w gemäß
�⃗⃗� = 𝑐 − �⃗� . Aus diesem Zusammenhang kann nun ∆𝑤𝑢 entnommen werden, das im Übrigen
in Kapitel 4.9 für die Eulergleichung herangezogen wird.
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
0 0,2 0,4 0,6 0,8 1 1,2
cp
x/L
Druckbeiwert Leitrad
-3
-2,5
-2
-1,5
-1
-0,5
0
0,5
1
1,5
0 0,2 0,4 0,6 0,8 1 1,2
cp
x/L
Druckbeiwert Laufrad
- 45 -
Abbildung 4-7: Geschwindigkeitsdreicke für Eulergleichung
Außerdem werden an verschiedenen Radien R Geschwindigkeitsdreiecke auf Höhe der
Messsonde (siehe Abbildung 2-1) ebenfalls in Matlab erstellt und den Messergebnissen
aus (Flügel, 2015) gegenübergestellt. Die schwarzen Linien bilden das Laufschaufelprofil
am jeweiligen Radius nach und die graue entspricht der Verlängerung der Sehne. Die Ge-
schwindigkeitsdreiecke ergeben die Abbildung 4-8, wobei oben die Messungen und unten
die Simulationsergebnisse zu sehen sind. Auffallend ist, dass die Umfangskomponente c2,u
in der Simulation stets größer ist als bei der Messung, woraus ein stärkerer Drall resultiert.
Außerdem ist die Axialkomponente c2,ax mit kleiner werdenden Radien laut der Simulation
geringer. Durch einen größeren Drall muss das Fluid einen längeren Weg im Saugrohr zu-
rücklegen, was in weiteren Reibungsverlusten resultiert. Das könnte mit ein Grund für die
negative Abweichung der Simulation gegenüber der Messung sein.
c1 c2 w1
Δwu
w2
u2 u1
- 46 -
Abbildung 4-8: Geschwindigkeitsdreiecke aus Messung (oben) und Simulation (unten)
4.8.2 Profile
Abbildung 4-9 zeigt zwei Absolutgeschwindigkeiten mit idealem, reibungsfreiem Profil auf
Höhe der Nabe und direkt nach der Nabe mit Ablösegebiet, welches durch die Drallströ-
mung herrührt. Die unteren Profile entsprechen den Axialkomponenten cax (hier allerdings
mit cm als Meridiankomponente bezeichnet), welche ein rechteckiges Profil einnehmen.
- 47 -
Oben sind die Umfangskomponenten cu abgebildet, die aufgrund der Rotation der Welle
nach innen parabolisch ansteigen (𝑐 ∗ 𝑅 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡).
Abbildung 4-9: Ideale Geschwindigkeitsprofile einer Kaplanturbine
(Eck, 1988)
Diese Geschwindigkeitsprofile werden in Abbildung 4-10 analog nachgebildet. Die Um-
fangskomponente weicht stark vom Ideal ab, sodass direkt an der Außenwand bei R = 15
cm ein enormer Gradient herrscht, um im mittleren Bereich wieder etwas abzufallen (oben).
Auch das axiale Profil weicht vom idealen Rechteckprofil ab. Die Profile verschwimmen
entlang der Achse etwas (unten), wo auch deutlich das Ablösegebiet mit negativen Ge-
schwindigkeiten erkennbar ist. Die Rückströmung rührt aus dem Unterdruck im Wirbelzopf
her (siehe Anhang A6, Abbildung A3), wobei dieser Druck unterhalb dem Dampfdruck des
Wassers liegt, was zur Ablösung respektive Kavitation führt. Besonders das Geschwindig-
keitsprofil auf Sondenhöhe wird durch die relative Position der Lauf- zu den Leitschaufeln
beeinflusst, was durch den Frozen Rotor-Ansatz bedingt ist. Das Profil kann sich dort mit
einer anderen Position ändern. Dennoch ist die Abweichung verhältnismäßig groß und sie
könnte wieder mit einer angepassten Schaufelgeometrie verbessert werden, z.B. durch
eine andere Verwindung der Laufschaufel. Die Grenzschichtdicke ist hier kleiner als 0,2
mm.
- 48 -
Abbildung 4-10: Tatsächliche Geschwindigkeitsprofile der Kaplanturbine
4.8.3 Hydromechansiche Kennzahlen
Um Turbomaschinen vergleichbar zu machen, werden verschieden dimensionslose Kenn-
zahlen verwendet. Darunter befinden sich die spezifische Umfangsgeschwindigkeit kcu, die
auch als Laufzahl bezeichnet wird, sowie der spezifische Durchfluss kcm. kcu gibt das Ver-
hältnis der Axialgeschwindigkeit bezogen auf die durch die Nettofallhöhe Hn zur Verfügung
stehende kinetische Energie gemäß
-0,2
-0,15
-0,1
-0,05
0
0,05
0,1
0,15
0,2
-1 0 1 2 3 4 5
Rad
ius/
m
c/ m/s
Geschwindigkeitsprofil Sondenebene
c axial
c Umfang
-0,2
-0,15
-0,1
-0,05
0
0,05
0,1
0,15
0,2
-1 0 1 2 3 4 5
Rad
ius/
m
c/ m/s
Geschwindigkeitsprofil nach der Nabe
c axial
c Umfang
- 49 -
𝑘𝑐𝑚 =𝑐𝑎𝑥(𝑟)
√2𝑔𝐻𝑛
(4-2)
Analog ist kcu definiert
𝑘𝑐𝑢 =𝑐𝑢(𝑟)
√2𝑔𝐻𝑛
(4-3)
Durch Auftragen dieser beiden Kennzahlen über den Radius der Turbine auf Sondenhöhe
ergibt sich Abbildung 4-11. In der Praxis wurde die Laufzahl bisher immer im Bereich zwi-
schen 0,45 und 0,48 festgelegt (Zhang, 2009), um maximale Wirkungsgrade zu erreichen.
Die Nettofallhöhe Hn setzt sich aus den Anteilen der Druck- sowie kinetischen Energie zu-
sammen gemäß
𝐻𝑛 =𝑝𝐸 − 𝑝𝐴
𝜌𝑔+
𝑣𝐸2 − 𝑣𝐴
2
2𝑔=
48400𝑃𝑎 − 11293𝑃𝑎
1000𝑘𝑔𝑚3 ∗ 9,81
𝑚𝑠²
+(1,69
𝑚𝑠)2 − (1,04
𝑚𝑠)2
2 ∗ 9,81𝑚𝑠²
= 3,87𝑚
(4-4)
kcm liegt jedoch im Bereich zwischen 0,47 und 0,54 und damit leicht oberhalb dem idealen
Fenster, was auf eine zu hohe Axialgeschwindigkeit deutet. . Dies lässt die Vermutung zu,
dass der Massendurchsatz in diesem Betriebspunkt zu hoch sein könnte. Auch die kcu-Linie
liegt oberhalb der in (Göde & Grunder, 1990) vorberechneten kcu-Linie, woraus ein hoher
Drall resultiert.
Abbildung 4-11: Hydrodynamische Kennzahlen
0
0,1
0,2
0,3
0,4
0,5
0,6
0 0,05 0,1 0,15 0,2
Kcm
, Ku
Radius/ m
Vergleichsgrößen
Kcm
Kcu
- 50 -
kcu und kcm werden auch herangezogen, um Turbinenkennfelder zu erstellen. In diesem Fall
sind sie auf die Turbinengeometrie bezogen und mit Großbuchstaben gekennzeichnet. Kcm
gibt den Zusammenhang zwischen der fiktiven Axialgeschwindigkeit im Laufrad und der
Geschwindigkeit, die dem Nettogefälle entspricht, wieder.
𝐾𝑐𝑚 =𝑄
𝜋4 𝐷2√2𝑔𝐻𝑛
=0,2956
𝑚3
𝑠𝜋4 (0,308𝑚)2√2 ∗ 9,81
𝑚𝑠2 ∗ 3,87𝑚
= 0,455 (4-5)
Kcu setzt die theoretische Umfangsgeschwindigkeit am Laufradaußendurchmesser mit der
dem Nettogefälle entsprechenden Geschwindigkeit ins Verhältnis
𝐾𝑐𝑢 =𝜋𝑛𝐷
√2𝑔𝐻𝑛
=𝜋 ∗ 14,7
1𝑠
∗ 0,308𝑚
√2 ∗ 9,81𝑚𝑠2 ∗ 3,87𝑚
= 1,629 (4-6)
Abbildung 4-12: normiertes Geschwindigkeitsdreieck
Dieses Vorgehen normiert die Geschwindigkeitsdreiecke des Betriebspunktes mit dem
Maßstab 1/√2𝑔𝐻𝑛 gemäß Abbildung 4-12. Somit entsteht für jeden Betriebspunkt ein
neues Wertepaar, über welches jeweils der Turbinenwirkungsgrad aufgetragen werden
kann. Das entstehende Turbinenkennfeld wird auch als Muscheldiagramm bezeichnet
(siehe Anhang A7). Die Simulation weicht bezogen auf die Messung mit Kcu = 1,69 und Kcm
= 0,48 am Bestpunkt leicht nach unten ab, weil sie eine Nettofallhöhe von 3,87 m erfordert
und im Messpunkt 3,5 m vorlagen. Dies ist auf das höhere Druckgefälle zwischen pe und pa
zurückzuführen (vgl. Tabelle 2-2), welches die Simulation für denselben Betriebspunkt vo-
raussagt. Weil man davon ausgehen kann, dass die Simulation auch für jeden anderen
Betriebspunkt ein höheres Druckgefälle voraussagt, würde sich ein simuliertes Turbinen-
kennfeld relativ gesehen nicht verändern.
- 51 -
4.9 Vergleich mit der Eulerschen Turbinentheorie
Mit der in Kapitel 2.2.2 vorgestellten Eulergleichung kann das Drehmoment berechnet wer-
den gemäß
𝑀 = �̇� ∗ 𝑟𝑚 ∗ (𝑤2,u − 𝑤1,u) = 295,6 𝑘𝑔
𝑠∗ 0,117𝑚 ∗ (−5,61
𝑚
𝑠+ 8,33
𝑚
𝑠)
= 94,07 𝑁𝑚
(4-7)
Der Massenstrom ist ein Messwert, der mittlere Radius ist wieder der des halben Durch-
flusses und 𝑤12,𝑢 sind der CFD-Simulation entnommene Rechenwerte. Im Vergleich dazu
gibt die Simulation ein Drehmoment von 85,0 Nm aus und die Messung 94,8 Nm inklusive
Verluste. Die korrekten Werte für die Eulergleichung aus Messung und Simulation zu ent-
nehmen, ist nicht trivial, da immer Messtoleranzen berücksichtigt werden müssen und aus
der Simulation an der richtigen Stelle entsprechende Messgrößen extrahiert werden müs-
sen, um anschließend einen Mittelwert daraus zu bilden. Dennoch ist die Übereinstimmung
zwischen der Eulertheorie und der Messung großartig!
- 52 -
5. Diskussion
Die wichtigste Kenngröße in dieser Simulation ist das Drehmoment auf das Laufrad. Die
Abweichung des Rechenwerts von 85 Nm gegenüber dem Messwert von 94,8 Nm beträgt
minus 10,3 %. Abweichungen von bis zu 20 % in hochturbulenten Problemen sind vertret-
bar, denn es werden per se Vereinfachungen angenommen (siehe Kapitel 3.2). Anderer-
seits darf man sich auch nicht vollkommen auf die Messwerte verlassen, denn diesen sind
eine gewisse Fehlerquote zuzuschreiben und sie sind per Definition ein Eingriff in das Sys-
tem. Trotzdem können in diesem konkreten Fall einige Punkte genannt werden, die für eine
Abweichung hauptsächlich verantwortlich zu machen sind. Diese sind die Grundlage für die
Diskussion in diesem Kapitel. Außerdem werden Punkte genannt, die den relativ niedrigen
Wirkungsgrad der Laborturbine erklären könnten.
5.1 Netz und Geometrie
Wie bereits beschrieben, ist die Netzqualität zufriedenstellend. Diese einzuhalten, ist die
Voraussetzung für eine gute Simulation. Dort, wo Fehler im Netz auftreten, können Strö-
mungsgrößen vorhergesagt werden, die um mehrere Größenordnungen von realistischen
Werten abweichen. So ein Fehler kann sich unter Umständen auf das ganze Volumen aus-
wirken.
Die Geometrie der Turbine ist mit scharfen Übergängen und dreidimensional verwundenen
Schaufeln sehr komplex. Das Volumen entsprechend mit Tetraeder und Hexaedern zu fül-
len ist herausfordernd. So können die Ein- und Austrittskanten der Laufschaufeln nicht per-
fekt nachgebildet werden, sie sehen wie zerfranst aus (Abbildung 5-1, links). Derartige Ab-
weichungen der Geometrie wirken sich entsprechend negativ auf den Wirkungsgrad res-
pektive das Drehmoment aus. Das ist allerdings ein typisches Ergebnis des sHM-Vernet-
zers, der an solchen Stellen immer wieder Probleme macht. Auch der runde Übergang von
Schaufelprofil zur Welle wird nicht ganz sauber nachgebildet. Solche Rundungen sorgen
für einen glatten Übergang der Grenzschichten an Schaufeln und Welle. Letzten Endes ist
die Verbesserung der Approximation der Geometrie immer bedingt durch die Anzahl an
Zellen. Es wurde in Version 2.3.0 für das sHM eine neue Funktion namens gapLevelIncre-
ment eingeführt. Diese versucht, Lücken an Oberflächen mittels kleinen Zellen zu füllen, in
dem die Oberfläche weiter approximiert wird. Sie kann entweder global auf das gesamte
Netz oder lokal an ausgewählten Patches angewandt werden. Alle Möglichkeiten der neuen
Funktion wurden ausgetestet. Alle Ein- und Austrittskanten können damit sehr gut abgebil-
- 53 -
det werden (Abbildung 5-1, rechts). Ergo springt die Zellzahl auf bis das Doppelte an. Aller-
dings treten nun vermehrt Qualitätsprobleme im Gitter auf, welche grundsätzlich das Simu-
lationsergebnis verfälschen, sodass dieses Ergebnis mit nur 70,9 Nm nicht brauchbar ist.
Ein Grund dafür könnte sein, dass auf einem Patch bis zu vier verschiedene Zellgrößen zu
finden sind. Darum wird auf gapLevelIncrement verzichtet.
Des Weiteren stellte sich beim Aufbereiten der STL-Dateien heraus, dass Leit- und Laufrä-
der in der CAD-Zeichnung geringe Abweichungen zum physikalischen Modell aufweisen.
Derartige Abweichungen sind gerade im entscheidenden Bereich an der Turbinenstufe im-
mer kritisch.
Abbildung 5-1: Nachbildung der Eintrittskanten
5.2 Y+-Kriterium
Dieses Kriterium kann vor allem an den Eintrittskanten der Schaufeln nicht eingehalten wer-
den und wird dort zum Teil stark überschritten. Der Grund ist eindeutig. Wie in Abbildung
5-2 links gut zu sehen ist, entwickeln sich an der Profilnase typischerweise Geschwindig-
keitsspitzen. Mit Blick auf die Formel (2-15) sollte dort also das Netz fein auflösen. Darum
werden um die Schaufeln herum zusätzlich dünne Schichten hinzugefügt (addLayers). Das
Profilwachstum kann aber gerade an der Profilnase nicht fortgesetzt werden, denn sonst
würden Qualitätskriterien nicht eingehalten werden (vor allem das AspectRatio und die
- 54 -
Skewness). Dieses doppelte Dilemma widerspiegelt sich im hohen y+ (rechts). Diese er-
zielten Werte sind dennoch relativ gut, denn die Problematik mit y+ kann immer wieder
beobachtet werden. (Wouden, 2011) von der Pennsylvania Universität etwa, der seine Si-
mulation auf dem OpenFOAM Workshop in Pennsylvania selbst veröffentlichte, kann sol-
che Werte nur annähern und das bei signifikant schlechteren Residuen.
Abbildung 5-2: Geschwindigkeitsspitze an Eintrittskante
5.3 Druckbeiwert
In Kapitel 4.7 wurde bereits erwähnt, dass der Beitrag der Druckseite der Laufräder auf das
Drehmoment relativ gering ist. Ein cp-Diagramm aufzubereiten ist nicht trivial, denn mit ei-
nem Blick auf die Formel des Druckbeiwertes cp fällt auf, dass es kein wirkliches v∞ und p∞
gibt, diese müssen also aus einer Ebene „in der Nähe“ der Schaufeln ausgelesen und be-
rechnet werden. Abbildung 5-3 wurde so aufbereitet, dass jene Bereiche auf der Druckseite
der Laufräder zu sehen sind, welche tatsächlich nur einen positiven Beitrag für die Druck-
respektive Rotationskräfte beitragen: nur der hellblau-rote Bereich direkt an der Eintritts-
kante. Der Rest der Fläche wird nicht ausgenutzt. Das ist ein Punkt, der den niedrigen Wir-
kungsgrad der Turbine erklärt. Mit einem besseren Profil könnte man noch Prozentpunkte
gewinnen.
- 55 -
Abbildung 5-3: Auftriebsverteilung auf der Laufschaufel
Das Gleiche gilt für die Leiträder (Abbildung 5-4 zeigt eine Schnittdarstellung längs zur Strö-
mungsrichtung). Hier wird der Effekt als weniger ausschlaggebend angenommen, außer-
dem kann durch die Düsenwirkung dort auf der Druckseite gerade am Austrittsbereich oh-
nehin kaum ein statischer Überdruck aufgebaut werden (vgl. Bernoulli-Gleichung in Formel
2-1). Die Aufgabe der Leitschaufeln ist, den Durchsatz zu regulieren und ein möglichst
gleichförmiges Geschwindigkeitsfeld mit Drall zu erzeugen.
Abbildung 5-4: Düsenwirkung an der Leitbeschaufelung
- 56 -
6. Zusammenfassung und Ausblick
Im Rahmen der vorgestellten Masterthesis konnte eine CFD-Simulation einer Kaplanturbine
mit ausschließlich frei verfügbaren Programmen erstellt werden, die dem anfangs definier-
ten Anforderungsprofil genügt. Die wichtigste Simulationsgröße war das Drehmoment auf
die Laufräder. Diese Größe konnte mit einer Abweichung von etwa 10 % angenähert wer-
den. In einer Studie zeigt sich, dass das kωSST-Turbulenzmodell das beste Drehmoment
vorhersagt. Das Netzgitter besteht aus 3,40 Millionen Zellen und erfüllt alle Qualitätskrite-
rien, abgesehen von der maximal zulässigen Schräge (engl. Skewness), die in wenigen
Zellen überschritten wird, was allerdings keinen Abbruch tut. Die Konvergenz der Rechnung
ist mit einem maximalen Residuum von e-04 schnell und stabil. Um die Rechendauer und
die entstehende Datenmengen dramatisch zu reduzieren, wurde die Frozen Rotor-Methode
angewandt. So ist eine numerische Strömungssimulation auch auf einem modernen Desk-
toprechner in wenigen Stunden umsetzbar. Als Vergleich konnte mit einem Serverrechner
eine bis zu dreimal schnellere Simulation erreicht werden. Außerdem konnten einige Mes-
sergebnisse für Vergleiche zwischen Simulation und Messung herangezogen werden. Die
qualitative Übereinstimmung dieser Vergleiche ist gut, im Einzelnen gibt es Differenzen,
wobei nicht pauschal auf die Richtigkeit der Messungen geschlossen werden darf, denn
diesen ist eine gewisse Fehlerquote zuzuschreiben.
Die Abweichung des Simulationsergebnisses liegt bei 10 % gegenüber der Messung. Eine
vergleichbare Simulation zu dieser mit zugänglichen Daten kann zwar nicht gefunden wer-
den. Unter hochturbulenten Simulationen werden Ergebnisse mit signifikant größeren Ab-
weichung veröffentlicht ((Wouden, 2011) und (Tanasea, 2012)). Dieses Ergebnis wird durch
die schnelle und robuste Konvergenz und das qualitativ hochwertige Rechennetz unterstri-
chen. Es können dennoch Ursachen, die die Abweichung erklären könnten, genannt wer-
den, wobei das y+-Kriterium und die Nachbildung der Ein- und Austrittskanten hauptverant-
wortlich gemacht werden. Außerdem können mit dem suboptimal gestalteten Laufradprofil
und dem Saugrohr, das einen hohen Drall erfordert, Punkte für den relativ niedrigen Wir-
kungsgrad des physikalischen Modells aufgezeigt werden. Um dieses gute Simulationser-
gebnis zu erreichen, wurden die unterschiedlichsten Randbedingungen und Lösereinstel-
lungen getestet und ein angemessenes Rechengitter erstellt. Dabei hat sich gezeigt, dass
insbesondere die Qualitätskriterien zu erfüllen sind. Ein weiterer Vergleich mit der Euler-
Turbinengleichung zeigt, dass mit dessen Annahmen ein sehr genaues Drehmoment be-
rechnet werden kann.
- 57 -
Um das bestehende Modell weiter zu optimieren, konnten einige Ansätze aufgezeigt wer-
den. Des Weiteren könnte nur ein Teil anstatt der vollen Turbine simuliert werden, um die
Rechendauer weiter zu reduzieren.
Es wurde ein Arbeitsablauf erstellt, der von der Netzerzeugung über die Simulation bis hin
zur Ergebnisausgabe vollkommen automatisiert vonstattengeht. Damit ist es nun möglich,
im Nachgang an diese Thesis eine Kennlinie oder ein Kennfeld der Turbine numerisch zu
erstellen. Erste Versuche waren erfolgreich. Dazu wäre es notwendig, aus dem bestehen-
den CAD-Modell den Leit- bzw. Laufradwinkel zu verändern, um die veränderte Geometrie
der Schaufeln anschließend direkt in den Arbeitsordner in OpenFOAM abzulegen. Der Rest
wäre automatisiert. Diese Methode lässt es im Übrigen auch zu, neuartige Schaufelgeo-
metrien einzulesen, um diese direkt mit einer bestehenden Anlage zu vergleichen.
- 58 -
Literaturverzeichnis
(2. Februar 2015). Von OpenFOAM wiki: https://openfoamwiki.net/index.php/CheckMesh
abgerufen
Böswirth, L., & Bschorer, S. (2014). Technische Strömungslehre. Wiesbaden: Springer
Vieweg.
CFD-Online. (19. Juni 2015). Von http://www.cfd-
online.com/Wiki/Best_practice_guidelines_for_turbomachinery_CFD abgerufen
CFD-Support. (2015). Von http://www.cfdsupport.com/water-turbine-cfd-
manual/node57.html abgerufen
Clay Mathematics Institute. (2015). Von http://www.claymath.org/millennium-
problems/navier-stokes-equation abgerufen
Eck, B. (1988). Technische Strömungslehre. Berlin: Springer.
Flügel, D. (2015). Dreidimensionale Strömungsmessung und Neuerstellung des
Turbinenkennfeldes am Kaplan-Rohrturbinen-Prüfstand.
Foundation, O. (2014). OpenFOAM User Guide.
Göde, E., & Grunder, R. (1990). Strömungsanalyse und Neuauslegung des Laufrades Iller
7/73. Zürich.
Heimerl, S. (2015). Wasserkraftprojekte Band II. Wiesbaden: Vieweg + Teubner Verlag.
Lecheler, S. (2009). Numerische Strömungsberechnung. Wiesbaden: Vieweg + Teubner.
Schlichting, H., & Gersten, K. (2006). Grenzschicht-Theorie. Springer Verlag.
Schwarze, R. (2013). CFD-Modellierung. Freiberg: Springer Vieweg.
Stemmer, C. (kein Datum). Vorlesungsskriptum TU München. Grenzschichttheorie.
Tanasea, N. O. (2012). Numerical Simulation of the Flow in the Draft Tube of the Kaplan
Turbine. UPB Scientific Bulletin.
Versteeg, & Malalasekera. (2007). An introduction to computational fluid dynamics. Harlow:
Longman Scientific & Technical.
Wouden, A. (2011). Openfoamwiki. Von
http://www.personal.psu.edu/dab143/OFW6/Presentations/alex_wouden_slides.pd
f abgerufen
- 59 -
Zhang, Z. (2009). Freistrahlturbinen: Hydromechanik und Auslegung. Heidelberg: Springer
Verlag.
- 60 -
Anhang
A1: snappyHexMeshDict
A2: checkMesh
A3: fvSolution
A4: controlDict
A5: Allrun
A6: Visualisierungen
A7: Muscheldiagramm
A1: snappyHexMeshDict
/*--------------------------------*- C++ -*--------------------------
--------*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 2.2.0
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-------------------------------------------------------------------
--------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * //
// Which of the steps to run
castellatedMesh true;
snap true;
addLayers true;
// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces are used
// - to specify refinement for any mesh cell intersecting it
// - to specify refinement for any mesh cell inside/outside/near
// - to 'snap' the mesh boundary to the surface
geometry
{
Wall.stl
{
type triSurfaceMesh;
name Wall;
}
Inlet.stl
{
type triSurfaceMesh;
name Inlet;
}
Outlet.stl
{
type triSurfaceMesh;
name Outlet;
}
Rotor.stl
{
type triSurfaceMesh;
name Rotor;
}
Stator.stl
{
type triSurfaceMesh;
name Stator;
}
Welle.stl
{
type triSurfaceMesh;
name Welle;
Flossen.stl
{
type triSurfaceMesh;
name Flossen;
}
/* refinementBox // User defined region name
{
type searchableBox; // region defined by bounding box
min (-200 -300 -300);
max (400 300 300);
}
*/
};
// Settings for the castellatedMesh generation.
castellatedMeshControls
{
// Refinement parameters
// ~~~~~~~~~~~~~~~~~~~~~
// If local number of cells is >= maxLocalCells on any processor
// switches from from refinement followed by balancing
// (current method) to (weighted) balancing before refinement.
maxLocalCells 8000000;
// Overall cell limit (approximately). Refinement will stop imme-
diately
// upon reaching this number so a refinement level might not com-
plete.
// Note that this is the number of cells before removing the part
which
// is not 'visible' from the keepPoint. The final number of cells
might
// actually be a lot less.
maxGlobalCells 20000000;
// The surface refinement loop might spend lots of iterations re-
fining just a
// few cells. This setting will cause refinement to stop if <=
minimumRefine
// are selected for refinement. Note: it will at least do one it-
eration
// (unless the number of cells to refine is 0)
minRefinementCells 0;
// Allow a certain level of imbalance during refining
// (since balancing is quite expensive)
// Expressed as fraction of perfect balance (= overall number of
cells /
// nProcs). 0=balance always.
maxLoadUnbalance 0.10;
// Number of buffer layers between different levels.
// 1 means normal 2:1 refinement restriction, larger means slower
// refinement.
nCellsBetweenLevels 3;
// Explicit feature edge refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Specifies a level for any cell intersected by its edges.
// This is a featureEdgeMesh, read from constant/triSurface for
now.
features
(
{
file "Rotor.eMesh";
level 4;
}
{
file "Stator.eMesh";
level 4;
}
{
file "Welle.eMesh";
level 4;
}
{
file "Flossen.eMesh";
level 4;
}
{
file "Wall.eMesh";
level 4;
}
{
file "Inlet.eMesh";
level 2;
}
{
file "Outlet.eMesh";
level 2;
}
);
// Surface based refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~
// Specifies two levels for every surface. The first is the mini-
mum level,
// every cell intersecting a surface gets refined up to the mini-
mum level.
// The second level is the maximum level. Cells that 'see' multi-
ple
// intersections where the intersections make an
// angle > resolveFeatureAngle get refined up to the maximum
level.
refinementSurfaces
{
Wall
{
// Surface-wise min and max refinement level
level (3 3);
// Optional specification of patch type (default is
wall). No
// constraint types (cyclic, symmetry) etc. are allowed.
patchInfo
{
type wall;
}
}
Flossen
{
// Surface-wise min and max refinement level
level (2 3);
patchInfo
{
type wall;
}
}
Inlet
{
// Surface-wise min and max refinement level
level (1 2);
patchInfo
{
type patch;
}
}
Outlet
{
// Surface-wise min and max refinement level
level (1 2);
patchInfo
{
type patch;
}
}
Rotor
{
// Surface-wise min and max refinement level
level (5 5);
patchInfo
{
type wall;
}
}
Stator
{
// Surface-wise min and max refinement level
level (4 5);
patchInfo
{
type wall;
}
}
Welle
{
// Surface-wise min and max refinement level
level (4 4);
patchInfo
{
type wall;
}
}
}
// Resolve sharp angles
resolveFeatureAngle 30;
// Region-wise refinement
// ~~~~~~~~~~~~~~~~~~~~~~
// Specifies refinement level for cells in relation to a surface.
One of
// three modes
// - distance. 'levels' specifies per distance to the surface the
// wanted refinement level. The distances need to be specified
in
// descending order.
// - inside. 'levels' is only one entry and only the level is
used. All
// cells inside the surface get refined up to the level. The
surface
// needs to be closed for this to be possible.
// - outside. Same but cells outside.
refinementRegions
{
Rotor
{
mode distance;
levels ((20 5));
}
Stator
{
mode distance;
levels ((20 5));
}
}
// Mesh selection
// ~~~~~~~~~~~~~~
// After refinement patches get added for all refinementSurfaces
and
// all cells intersecting the surfaces get put into these
patches. The
// section reachable from the locationInMesh is kept.
// NOTE: This point should never be on a face, always inside a
cell, even
// after refinement.
//locationInMesh (-199.1801 -149.1401 -290.0001);
locationInMesh (300.0001 0.0001 0.0001);
// Whether any faceZones (as specified in the refinementSurfaces)
// are only on the boundary of corresponding cellZones or also
allow
// free-standing zone faces. Not used if there are no faceZones.
allowFreeStandingZoneFaces false;
}
// Settings for the snapping.
snapControls
{
//- Number of patch smoothing iterations before finding corre-
spondence
// to surface
nSmoothPatch 3;
//- Relative distance for points to be attracted by surface fea-
ture point
// or edge. True distance is this factor times local
// maximum edge length.
tolerance 8.0;
//- Number of mesh displacement relaxation iterations.
nSolveIter 300;
//- Maximum number of snapping relaxation iterations. Should stop
// before upon reaching a correct mesh.
nRelaxIter 5;
// Feature snapping
//- Number of feature edge snapping iterations.
// Leave out altogether to disable.
nFeatureSnapIter 10;
//- Detect (geometric only) features by sampling the surface
// (default=false).
implicitFeatureSnap true;
//- Use castellatedMeshControls::features (default = true)
explicitFeatureSnap true;
//- Detect points on multiple surfaces (only for explicitFea-
tureSnap)
multiRegionFeatureSnap true;
}
// Settings for the layer addition.
addLayersControls
{
// Are the thickness parameters below relative to the undistorted
// size of the refined cell outside layer (true) or absolute
sizes (false).
relativeSizes true;
// Per final patch (so not geometry!) the layer information
layers
{
Wall
{
nSurfaceLayers 3;
}
Welle
{
nSurfaceLayers 3;
}
Flossen
{
nSurfaceLayers 3;
}
Rotor
{
nSurfaceLayers 4;
}
Stator
{
nSurfaceLayers 4;
}
}
// Expansion factor for layer mesh
expansionRatio 1.5;
// Wanted thickness of final added cell layer. If multiple layers
// is the
// thickness of the layer furthest away from the wall.
// Relative to undistorted size of cell outside layer.
// is the thickness of the layer furthest away from the wall.
// See relativeSizes parameter.
finalLayerThickness 0.3; //0.3
// Minimum thickness of cell layer. If for any reason layer
// cannot be above minThickness do not add layer.
// Relative to undistorted size of cell outside layer.
minThickness 0.025; //0.1
// If points get not extruded do nGrow layers of connected faces
that are
// also not grown. This helps convergence of the layer addition
process
// close to features.
// Note: changed(corrected) w.r.t 17x! (didn't do anything in
17x)
nGrow 0;
// Advanced settings
// When not to extrude surface. 0 is flat surface, 90 is when two
faces
// are perpendicular
// angle below which not to extrude l a y e r s // 180 everywhere
, 0 f l a t surface only
featureAngle 358;
// Maximum number of snapping relaxation iterations. Should stop
// before upon reaching a correct mesh.
nRelaxIter 3;
// Number of smoothing iterations of surface normals
nSmoothSurfaceNormals 1;
// Number of smoothing iterations of interior mesh movement di-
rection
nSmoothNormals 3;
// Smooth layer thickness over surface patches
nSmoothThickness 10;
// Stop layer growth on highly warped cells
maxFaceThicknessRatio 0.7; //0.5
// Reduce layer growth where ratio thickness to medial
// distance is large
maxThicknessToMedialRatio 0.4; //0.4
// Angle used to pick up medial axis points
// Note: changed(corrected) w.r.t 17x! 90 degrees corresponds to
130 in 17x.
minMedianAxisAngle 90;
// Create buffer region for new layer terminations
nBufferCellsNoExtrude 0;
// Overall max number of layer addition iterations. The mesher
will exit
// if it reaches this number of iterations; possibly with an il-
legal
// mesh.
nLayerIter 50;
}
// Generic mesh quality settings. At any undoable phase these deter-
mine
// where to undo.
meshQualityControls
{
//- Maximum non-orthogonality allowed. Set to 180 to disable.
maxNonOrtho 65;
//- Max skewness allowed. Set to <0 to disable.
maxBoundarySkewness 20;
maxInternalSkewness 4;
//- Max concaveness allowed. Is angle (in degrees) below which
concavity
// is allowed. 0 is straight face, <0 would be convex face.
// Set to 180 to disable.
maxConcave 80;
//- Minimum pyramid volume. Is absolute volume of cell pyramid.
// Set to a sensible fraction of the smallest cell volume ex-
pected.
// Set to very negative number (e.g. -1E30) to disable.
minVol 1e-13;
//- Minimum quality of the tet formed by the face-centre
// and variable base point minimum decomposition triangles and
// the cell centre. This has to be a positive number for track-
ing
// to work. Set to very negative number (e.g. -1E30) to
// disable.
// <0 = inside out tet,
// 0 = flat tet
// 1 = regular tet
minTetQuality 1e-30;
//- Minimum face area. Set to <0 to disable.
minArea -1;
//- Minimum face twist. Set to <-1 to disable. dot product of
face normal
//- and face centre triangles normal
minTwist 0.02;
//- minimum normalised cell determinant
//- 1 = hex, <= 0 = folded or flattened illegal cell
minDeterminant 0.001;
//- minFaceWeight (0 -> 0.5)
minFaceWeight 0.02;
//- minVolRatio (0 -> 1)
minVolRatio 0.01;
//must be >0 for Fluent compatibility
minTriangleTwist -1;
// Advanced
//- Number of error distribution iterations
nSmoothScale 4;
//- amount to scale back displacement at error points
errorReduction 0.75;
}
// Advanced
// Flags for optional output
// 0 : only write final meshes
// 1 : write intermediate meshes
// 2 : write volScalarField with cellLevel for postprocessing
// 4 : write current intersections as .obj files
debug 0;
// Merge tolerance. Is fraction of overall bounding box of initial
mesh.
// Note: the write tolerance needs to be higher than this.
mergeTolerance 1e-6;
//
*********************************************************************
**** //
A2: checkMesh
Create time
Create polyMesh for time = 0
Time = 0
Mesh stats
points: 3823461
faces: 10574276
internal faces: 10306135
cells: 3400828
faces per cell: 6.139802
boundary patches: 8
point zones: 0
face zones: 0
cell zones: 0
Overall number of cells of each type:
hexahedra: 2923994
prisms: 54211
wedges: 81
pyramids: 0
tet wedges: 695
tetrahedra: 7
polyhedra: 421840
Breakdown of polyhedra by number of faces:
faces number of cells
4 49299
5 31335
6 38280
7 166527
8 60714
9 36430
10 4351
11 909
12 22286
13 79
14 95
15 10544
16 9
17 2
18 980
Checking topology...
Boundary definition OK.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface
topology
defaultFaces 0 0 ok
(empty)
Wall 103987 124010 ok (non-closed singly
connected)
Inlet 2710 3036 ok (non-closed singly
connected)
Outlet 1895 2292 ok (non-closed singly
connected)
Rotor 32232 38825 ok (non-closed singly
connected)
Stator 67190 92647 ok (non-closed singly
connected)
Welle 50263 58311 ok (non-closed singly
connected)
Flossen 9864 10960 ok (non-closed singly
connected)
Checking geometry...
Overall domain bounding box (-612 -300.9869 -300.9942) (1497.334
300.9869 300.9942)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (-3.657778e-016 1.404458e-016 3.481539e-015)
OK.
Max cell openness = 7.04656e-016 OK.
Max aspect ratio = 27.2858 OK.
Minimum face area = 0.004370725. Maximum face area = 2508.514.
Face area magnitudes OK.
Min volume = 0.01025083. Max volume = 125247. Total volume =
3.254482e+008. Cell volumes OK.
Mesh non-orthogonality Max: 64.93764 average: 8.343442
Non-orthogonality check OK.
Face pyramids OK.
***Max skewness = 9.192426, 22 highly skew faces detected which may
impair the quality of the results
<<Writing 22 skew faces to set skewFaces
Coupled point location match (average 0) OK.
Failed 1 mesh checks.
End
A3: fvSolution
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * //
solvers
{
p
{
solver GAMG;
tolerance 1e-08;
relTol 0.05;
smoother GaussSeidel;
cacheAgglomeration true;
nCellsInCoarsestLevel 20;
agglomerator faceAreaPair;
mergeLevels 1;
}
{U; k; omega}
{
solver smoothSolver;
smoother GaussSeidel;
nSweeps 2;
tolerance 1e-07;
relTol 0.1;
}
potentialFlow
{
nNonOrthogonalCorrectors 10;
}
SIMPLE
{
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
}
relaxationFactors
{
fields
{
p 0.4;
}
equations
{
U 0.7;
k 0.4;
omega 0.4;
}
}
//
*********************************************************************
**** //
A4: controlDict
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * //
application simpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1000;
deltaT 1;
writeControl timeStep;
writeInterval 1000;
purgeWrite 0;
writeFormat binary;
writePrecision 7;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
functions
{
forces
{
type forces;
functionObjectLibs ( "libforces.so" );
outputControl timeStep;
outputInterval 10;
patches (Rotor);
pName p;
UName U;
rhoName rhoInf;
log true;
rhoInf 1000;
CofR (10 0 0);
}
}
//
*********************************************************************
**** //
A5: Allrun
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
./Allclean
runApplication surfaceFeatureExtract
runApplication blockMesh
runApplication decomposePar
runParallel snappyHexMesh 8 –overwrite
runApplication reconstructParMesh -constant
runApplication checkMesh
transformPoints -scale '(0.001 0.001 0.001)'
runApplication topoSet
rm -rf processor* > /dev/null 2>&1
rm -rf 0/y > /dev/null 2>&1
rm -rf 0/yPlus > /dev/null 2>&1
rm -rf log.decomposePar
rm -rf 0/y > /dev/null 2>&1
rm -rf 0/yPlus > /dev/null 2>&1
rm -rf 0/relU > /dev/null 2>&1
runApplication decomposePar
runParallel potentialFoam 8 -noFunctionObjects -writep
runParallel simpleFoam 8
runApplication reconstructPar #-latestTime
runApplication yPlusRAS
# -----------------------------------------------------------------
end-of-file
A6: Visualisierungen
Abbildung A1: Druckverteilung am Laufrad auf der Druckseite (links) und Saugseite (rechts)
Abbildung A2: Geschwindigkeitsvektoren auf Oberfläche
Abbildung A3: Ablösung hinter der Nabe (Wirbelzopf)
Abbildung A4: Ablösung hinter der Nabe einer Kaplanturbine
(Eck, 1988)
In dieser Abbildung liegt eine andere Reynoldzahl vor als in der Simulation, weshalb der Wirbelzopf eine andere Größe aufweist
A7: Muscheldiagramm
Abbildung A5: Muscheldiagramm der Kaplanturbine (Flügel, 2015)
Eidesstattliche Erklärung
Ich erkläre hiermit an Eides statt, dass ich vorliegende Masterarbeit selbstständig und ohne
Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Die aus fremden
Quellen direkt oder indirekt übernommenen Stellen sind als solche kenntlich gemacht. Die
Arbeit wurde bisher weder in gleicher noch in ähnlicher Form einer anderen Prüfungsbe-
hörde vorgelegt und auch noch nicht veröffentlicht.
Dornbirn, am 30.07.2015 Vor- und Nachname