CFD-Untersuchung einer Kaplan-Rohrturbine in OpenFOAM · - IV - Abstract CFD-Analysis of a Kaplan...

Preview:

Citation preview

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

Recommended