Einführung in OpenFOAM - OTH Regensburg · PeterSteininger (OTHRegensburg) OpenFOAM...

28
Einführung in OpenFOAM 21.06.2017 Peter Steininger Ostbayerische Technische Hochschule Regensburg Sommersemester 2017 Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 1 / 28

Transcript of Einführung in OpenFOAM - OTH Regensburg · PeterSteininger (OTHRegensburg) OpenFOAM...

Einführung inOpenFOAM

21.06.2017

Peter Steininger

Ostbayerische Technische Hochschule Regensburg

Sommersemester 2017

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 1 / 28

1 Einleitung

2 OpenFOAM Ordnerstruktur

3 Anwendungen - Solver und weitere Werkzeuge

4 Aufbau eines Cases

5 Beispiel „Rückspringende Stufe“

6 Weiterführende Informationen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 2 / 28

Einleitung

1 Einleitung

2 OpenFOAM Ordnerstruktur

3 Anwendungen - Solver und weitere Werkzeuge

4 Aufbau eines Cases

5 Beispiel „Rückspringende Stufe“

6 Weiterführende Informationen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 3 / 28

Einleitung

Einleitung

OpenFOAM steht für Open Source Field Operation AndManipulationEine in C++ geschriebene ProgrammbibliothekUnterliegt der General Public License (GPL)

- Kostenfreie Nutzung- Veränderung des Quellcodes möglich- Erweiterung um neue Modelle

Im Gegensatz zu kommerziellen Black-Box Tools ist ein größererLernaufwand notwendig

- Preprocessing in der Shell (bzw. in einem Editor)- Umgang mit Linux-Distribution

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 4 / 28

Einleitung

Einleitung

OpenFOAM vs. Kommerzielle CFD Tools:Keine GUIKein einzelnes Executable→ Spezifische Anwendung muss ausgewählt werdenKeine ausführliche Dokumentation für alle Anwendungen→ Quellcode liefert EinblickZugang zum kompletten Source Code→ Keine Black-BoxEinfache Anpassung von Solvern→ Eignung für Forschung und Entwicklung

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 5 / 28

Einleitung

Einleitung

Wesentliche Entwicklungsrichtungen:OpenFOAM (aktuelle Version 4.1)

- Weiterentwickelt von OpenFOAM Foundation- I. d. R. die erste Wahl für die meisten Anwender

foam-extend (aktuelle Version 4.0)- Weiterentwickelt von Community/Wikki Ltd.- Zusätzliche Möglichkeiten gegenüber OpenFOAM:

* Toolkit für Fluid-Struktur-Interaktion* Erweiterung einzelner Solver um bewegte Netze (z. B. icoFoam→ icoDyMFoam)

* etc.

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 6 / 28

OpenFOAM Ordnerstruktur

1 Einleitung

2 OpenFOAM Ordnerstruktur

3 Anwendungen - Solver und weitere Werkzeuge

4 Aufbau eines Cases

5 Beispiel „Rückspringende Stufe“

6 Weiterführende Informationen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 7 / 28

OpenFOAM Ordnerstruktur

OpenFOAM Ordnerstruktur

$WM_PROJECT_DIR

applications

bin

doc

etc

platforms

src

tutorials

wmakePowered by TCPDF (www.tcpdf.org)

applications:- solvers: Quellcode fürTop-Level-Solver

- utilities: Quellcode fürzusätzliche Werkzeuge

bin:- Shell Skripte wieparaFoam, foamLog,etc.

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 8 / 28

OpenFOAM Ordnerstruktur

OpenFOAM Ordnerstruktur

$WM_PROJECT_DIR

applications

bin

doc

etc

platforms

src

tutorials

wmakePowered by TCPDF (www.tcpdf.org)

doc:- Enthält User Guide,Programmer’s Guideund DoxygenDokumentation in htmlFormat (auch überwww.openfoam.org/docs/cpp/ erreichbar)

etc:- Umgebungsvariablen,globale Instruktionen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 9 / 28

OpenFOAM Ordnerstruktur

OpenFOAM Ordnerstruktur

$WM_PROJECT_DIR

applications

bin

doc

etc

platforms

src

tutorials

wmakePowered by TCPDF (www.tcpdf.org)

platforms:- bin: EnthältBinärdateien, nachdemapplicationskompiliert wurde

- lib: EnthältBibliotheken, nachdemsrc kompiliert wurde

src:- Quellcode fürGrundbausteine (z. B.OpenFOAM,TurbulenceModels,etc.)

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 10 / 28

OpenFOAM Ordnerstruktur

OpenFOAM Ordnerstruktur

$WM_PROJECT_DIR

applications

bin

doc

etc

platforms

src

tutorials

wmakePowered by TCPDF (www.tcpdf.org)

tutorials:- Beispiel Cases für jedenSolver

wmake:- Spezielles makeKommando (fürKompilierung desCodes)

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 11 / 28

Anwendungen - Solver und weitere Werkzeuge

1 Einleitung

2 OpenFOAM Ordnerstruktur

3 Anwendungen - Solver und weitere Werkzeuge

4 Aufbau eines Cases

5 Beispiel „Rückspringende Stufe“

6 Weiterführende Informationen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 12 / 28

Anwendungen - Solver und weitere Werkzeuge

Anwendungen - Solver und weitere Werkzeuge

Die für den Benutzer wichtigen Anwendungen findet man unter:$WM_PROJECT_DIR/applications → solvers und utilities.

Welche physikalischen Bereiche werden abgedeckt (OpenFOAM 4.0)?

basiccombustioncompressiblediscreteMethodsDNSelectromagnetics

financialheatTransferincompressiblelagrangianmultiphasestressAnalysis

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 13 / 28

Anwendungen - Solver und weitere Werkzeuge

Anwendungen - Solver und weitere Werkzeuge

Ein Blick in den Bereich incompressible liefert:adjointShapeOptimizationFoamboundaryFoamicoFoamnonNewtonianIcoFoampimpleFoampisoFoamshallowWaterFoamsimpleFoam

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 14 / 28

Anwendungen - Solver und weitere Werkzeuge

Anwendungen - Solver und weitere Werkzeuge

Wofür kann ich beispielsweise icoFoam einsetzen?

In jedem Verzeichnis befindet sich ein *.C-File, mit dem Namen desSolvers (z. B. icoFoam.C).

Transient solver for incompressible, laminar flow ofNewtonian fluids.

Die gängigen Solver (und deren Einsatzgebiet) sind ebenfalls im UserGuide zu finden.

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 15 / 28

Anwendungen - Solver und weitere Werkzeuge

Anwendungen - Solver und weitere Werkzeuge

Welches mathematische Modell ist im Solver hinterlegt?

OpenFOAM verwendet eine Domain Specific Language (DSL)(oft auch „equation mimicking“ genannt), um die Leserlichkeit desCodes (des mathematischen Modells) zu verbessern.

Der Code des mathematischen Modells ist im *.C-File (z. B.icoFoam.C) hinterlegt.

Developing new solvers:• As the user has complete access to the source code, he/she has total

freedom to modify existing solvers or use them as the starting point for new solvers.

• New solvers can be easily implemented using OpenFOAM® high level programming, e.g.:

OpenFOAM® brief overview

Module 1 - Lecture 1 8

solve(

fvm::ddt(rho,U)+ fvm::div(phi,U)- fvm::laplacian(mu,U)

==- fvc::grad(p)

);

@⇢U

@t+ r · �U �r · µrU = �rp

Correspondence between the implementation and the original equation is clear.

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 16 / 28

Anwendungen - Solver und weitere Werkzeuge

Anwendungen - Solver und weitere Werkzeuge

Die für den Benutzer wichtigen Anwendungen findet man unter:$WM_PROJECT_DIR/applications → solvers und utilities.

Unter utilities findet man folgende Werkzeuge (OpenFOAM 4.0):meshmiscellaneousparallelProcessingpostProcessingpreProcessing...

Eine Übersicht ist ebenfalls im User Guide zu finden.

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 17 / 28

Aufbau eines Cases

1 Einleitung

2 OpenFOAM Ordnerstruktur

3 Anwendungen - Solver und weitere Werkzeuge

4 Aufbau eines Cases

5 Beispiel „Rückspringende Stufe“

6 Weiterführende Informationen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 18 / 28

Aufbau eines Cases

Aufbau eines CasesDirectory structure of an OpenFOAM® case

$WM_PROJECT_USER_DIR/run (or any directory of your preference)

case_directory (the name of the directory is given by the user)

system

controlDict fvSchemes fvSolution

constant

Physical properties and

advanced physicspolyMesh

Mesh information

0

BC & IC

Time directories

Solution files

case_directory: path to the case, often located in $WM_PROJECT_USER_DIR/runsystem: contains run-time control and solver numerics.constant: contains physical properties, turbulence modeling properties, advanced physics and so on.

constant/polyMesh: contains the polyhedral mesh information.0: contains boundary conditions (BC) and initial conditions (IC).time_directories: contains the solution and derived fields (these directories are created by the solver according to the preset saving frequency)Module 1 - Lecture 3 43

system- controlDict: Allgemeine Einstellungen (Start- und Endzeit,Zeitschritt, Ausgabe von Ergebnisdateien, etc.)

- fvSchemes: Diskretisierung einzelner Terme,Interpolationsverfahren

- fvSolution: Lösung linearer Gleichungssysteme,Druck-Geschwindigkeits-Kopplung (z. B. SIMPLE),Unterrelaxation

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 19 / 28

Aufbau eines Cases

Aufbau eines CasesDirectory structure of an OpenFOAM® case

$WM_PROJECT_USER_DIR/run (or any directory of your preference)

case_directory (the name of the directory is given by the user)

system

controlDict fvSchemes fvSolution

constant

Physical properties and

advanced physicspolyMesh

Mesh information

0

BC & IC

Time directories

Solution files

case_directory: path to the case, often located in $WM_PROJECT_USER_DIR/runsystem: contains run-time control and solver numerics.constant: contains physical properties, turbulence modeling properties, advanced physics and so on.

constant/polyMesh: contains the polyhedral mesh information.0: contains boundary conditions (BC) and initial conditions (IC).time_directories: contains the solution and derived fields (these directories are created by the solver according to the preset saving frequency)Module 1 - Lecture 3 43

constant- <...>Properties: Physikalische Eigenschaften (Turbulenz,Viskosität, etc.)

- polyMesh: Informationen, die das Mesh betreffen (Points, Faces,etc.)

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 20 / 28

Aufbau eines Cases

Aufbau eines CasesDirectory structure of an OpenFOAM® case

$WM_PROJECT_USER_DIR/run (or any directory of your preference)

case_directory (the name of the directory is given by the user)

system

controlDict fvSchemes fvSolution

constant

Physical properties and

advanced physicspolyMesh

Mesh information

0

BC & IC

Time directories

Solution files

case_directory: path to the case, often located in $WM_PROJECT_USER_DIR/runsystem: contains run-time control and solver numerics.constant: contains physical properties, turbulence modeling properties, advanced physics and so on.

constant/polyMesh: contains the polyhedral mesh information.0: contains boundary conditions (BC) and initial conditions (IC).time_directories: contains the solution and derived fields (these directories are created by the solver according to the preset saving frequency)Module 1 - Lecture 3 43

0- Anfangs- und Randbedingungen der verwendeten Felder (z. B. pund U)

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 21 / 28

Beispiel „Rückspringende Stufe“

1 Einleitung

2 OpenFOAM Ordnerstruktur

3 Anwendungen - Solver und weitere Werkzeuge

4 Aufbau eines Cases

5 Beispiel „Rückspringende Stufe“

6 Weiterführende Informationen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 22 / 28

Beispiel „Rückspringende Stufe“

Beispiel „Rückspringende Stufe“

156 6 Turbulente Strömungen

6.7 Praktikum: Strömung über eine rückspringende Stufe

Die Güte von Turbulenzmodellen in RANS-Simulationen wird jetzt am Beispiel der Strö-mung von Luft über eine zurückspringende Stufe, kurz Stufenströmung, untersucht.

Problembeschreibung In Abb. 6.9 ist die betrachtete Strömungskonfiguration mitihren wesentlichen Merkmalen skizziert. Das Strömungsgebiet wird durch die unter-schiedlichen Ränder Einlass, Auslass sowie den festen Wänden des durchströmtenKanals begrenzt. Die Stufenhöhe als charakteristischer geometrischer Parameter be-trägt h D 10mm. Die Geometrie entspricht der Hälfte der Strömungskonfiguration einesbekannten Experiments [32, 33], eine entsprechende Symmetrieebene soll berücksichtigtwerden.

In den Referenzuntersuchungen [32, 33, 38] besitzt die turbulente Strömung stromaufder Stufe die mittlere Geschwindigkeit uein D uein Oex D 7m=s bei einer Turbulenzinten-sität t iein D 1%. An der Wand bildet sich eine turbulente Grenzschicht aus, die an derStufe eine Dicke ı D h besitzt. Dort löst sie ab und wird zur freien Scherschicht. An derScherschicht entstehen Wirbel vom Kelvin-Helmholtz-Typ, die die Scherschicht nach undnach aufweiten. Außerdem wird die Scherschicht in Richtung der Kanalwand abgelenkt.Sie legt sich schließlich stromab der Stufe im Punkt A wieder an die Wand an.

Der Abstand �xA von A zur Stufe, die sogenannte Wiederanlege-Länge, ist dabeider Parameter, der in der CFD-Simulation vorhergesagt werden soll. Für die mittlereWiederanlege-Länge kann aufgrund einer überschlägigen Schätzung ein Wert von�xA D5h angenommen werden [40]. Die genaueren experimentellen und numerischen Untersu-chungen [32, 33, 38] ergeben für die oben beschriebene Konfiguration den Wert �xA D6h.

Das RANS-Modell besteht aus (6.14) und (6.15). Die Kopplung der beiden Gleichun-gen soll wieder mit dem SIMPLE-Algorithmus erfolgen. Die unbekannten Reynolds-Spannungen �RS

ij in (6.15) werden mit Hilfe des Spalart-Allmaras-Modells (6.42) appro-ximiert. Mit dem Turbulenzmodell wird die turbulente Grenz- und Scherschichtströmung

Abb. 6.9 Strömung über einezurückspringende Stufe

A

tiein

freie ScherschichtGrenzschicht

Symmetrieebene

Wand

Einlass

Auslass

paus

uein

Strömung ist:zweidimensionalinkompressibelstationärturbulent

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 23 / 28

Beispiel „Rückspringende Stufe“

Beispiel „Rückspringende Stufe“

156 6 Turbulente Strömungen

6.7 Praktikum: Strömung über eine rückspringende Stufe

Die Güte von Turbulenzmodellen in RANS-Simulationen wird jetzt am Beispiel der Strö-mung von Luft über eine zurückspringende Stufe, kurz Stufenströmung, untersucht.

Problembeschreibung In Abb. 6.9 ist die betrachtete Strömungskonfiguration mitihren wesentlichen Merkmalen skizziert. Das Strömungsgebiet wird durch die unter-schiedlichen Ränder Einlass, Auslass sowie den festen Wänden des durchströmtenKanals begrenzt. Die Stufenhöhe als charakteristischer geometrischer Parameter be-trägt h D 10mm. Die Geometrie entspricht der Hälfte der Strömungskonfiguration einesbekannten Experiments [32, 33], eine entsprechende Symmetrieebene soll berücksichtigtwerden.

In den Referenzuntersuchungen [32, 33, 38] besitzt die turbulente Strömung stromaufder Stufe die mittlere Geschwindigkeit uein D uein Oex D 7m=s bei einer Turbulenzinten-sität t iein D 1%. An der Wand bildet sich eine turbulente Grenzschicht aus, die an derStufe eine Dicke ı D h besitzt. Dort löst sie ab und wird zur freien Scherschicht. An derScherschicht entstehen Wirbel vom Kelvin-Helmholtz-Typ, die die Scherschicht nach undnach aufweiten. Außerdem wird die Scherschicht in Richtung der Kanalwand abgelenkt.Sie legt sich schließlich stromab der Stufe im Punkt A wieder an die Wand an.

Der Abstand �xA von A zur Stufe, die sogenannte Wiederanlege-Länge, ist dabeider Parameter, der in der CFD-Simulation vorhergesagt werden soll. Für die mittlereWiederanlege-Länge kann aufgrund einer überschlägigen Schätzung ein Wert von�xA D5h angenommen werden [40]. Die genaueren experimentellen und numerischen Untersu-chungen [32, 33, 38] ergeben für die oben beschriebene Konfiguration den Wert �xA D6h.

Das RANS-Modell besteht aus (6.14) und (6.15). Die Kopplung der beiden Gleichun-gen soll wieder mit dem SIMPLE-Algorithmus erfolgen. Die unbekannten Reynolds-Spannungen �RS

ij in (6.15) werden mit Hilfe des Spalart-Allmaras-Modells (6.42) appro-ximiert. Mit dem Turbulenzmodell wird die turbulente Grenz- und Scherschichtströmung

Abb. 6.9 Strömung über einezurückspringende Stufe

A

tiein

freie ScherschichtGrenzschicht

Symmetrieebene

Wand

Einlass

Auslass

paus

uein

Anfangsbedingungen- p = 0Pa- u = (7,7 0 0)ms−1

Randbedingungen:- Einlass: uein = (7,7 0 0)ms−1, tiein = 1%, ν = 0,0047m2 s−1

- Auslass: paus = 0Pa- Wände: No-Slip (reibungsbehaftet)- Oben: Symmetrie

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 24 / 28

Beispiel „Rückspringende Stufe“

Beispiel „Rückspringende Stufe“

0 0.02 0.04 0.06 0.08 0.1−3

−2

−1

0

1

2

x in m

Uxin

ms−

1

OpenFOAMFLUENT

Experiment: xh= 6

FLUENT: xh≈ 0,052m

0,01m = 5,2 → 12% Abweichung

OpenFOAM: xh≈ 0,052m

0,01m = 5,2 → 12% Abweichung

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 25 / 28

Weiterführende Informationen

1 Einleitung

2 OpenFOAM Ordnerstruktur

3 Anwendungen - Solver und weitere Werkzeuge

4 Aufbau eines Cases

5 Beispiel „Rückspringende Stufe“

6 Weiterführende Informationen

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 26 / 28

Weiterführende Informationen

Weiterführende Informationen

Tutorials, Download der Software, etc.www.openfoam.org/Inoffizielles OpenFOAM-Wikiwww.openfoamwiki.net/Forum rund um OpenFOAMwww.cfd-online.com/

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 27 / 28

Weiterführende Informationen

Vielen Dank für dieAufmerksamkeit!

Fragen?

Peter Steininger (OTH Regensburg) OpenFOAM Sommersemester 2017 28 / 28