OpenFoam: Unterschied zwischen den Versionen
(→Allgemeines) |
K (Schützte „OpenFoam“: Weblink-Spam ([edit=autoconfirmed] (unbeschränkt) [move=autoconfirmed] (unbeschränkt))) |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
<br> | <br> | ||
Als Betriebssystem verwende ich [http://de.wikipedia.org/wiki/Ubuntu#Ubuntu_10.04_LTS Ubuntu 10.04] "Lucid Lynx". | Als Betriebssystem verwende ich [http://de.wikipedia.org/wiki/Ubuntu#Ubuntu_10.04_LTS Ubuntu 10.04] "Lucid Lynx". | ||
+ | |||
+ | <br> | ||
==OpenFoam Tagebuch der Einarbeitung== | ==OpenFoam Tagebuch der Einarbeitung== | ||
Zeile 46: | Zeile 48: | ||
* Das Schreiben der OpenFoam Dateistruktur erfolgt im Menue mit "Run -> Sync Files" | * Das Schreiben der OpenFoam Dateistruktur erfolgt im Menue mit "Run -> Sync Files" | ||
* Der Discretizer wird im Teminal ausgeführt. Im Terminal tauchen dann auch Fehlermeldungen auf. | * Der Discretizer wird im Teminal ausgeführt. Im Terminal tauchen dann auch Fehlermeldungen auf. | ||
+ | <br> | ||
+ | |||
+ | ===11.07.11=== | ||
+ | * Es können auch Zeitlich variierende Randbedingungen angegeben werden. Dies ist im Tutorial "TJunction" "OpenFOAM/Nutzer-2.0.0/run/tutorials/incompressible/pimpleFoam/TJunction/0/p" beschrieben. Das Schlüsselwort hier ist in folgenden Codezeilen enthalten <br> | ||
+ | |||
+ | type timeVaryingTotalPressure; | ||
+ | p0 100040; // only used for restarts | ||
+ | outOfBounds clamp; | ||
+ | fileName "$FOAM_CASE/constant/p0vsTime"; | ||
+ | |||
<br> | <br> | ||
<br> | <br> | ||
Zeile 53: | Zeile 65: | ||
* [http://www.openfoam.com OpenFoam] - Die offizielle Homepage von OpenFoam mit Handbuch | * [http://www.openfoam.com OpenFoam] - Die offizielle Homepage von OpenFoam mit Handbuch | ||
* [http://www.discretizer.org Discretizer] - Ein Programm zur Erstellung eines Gitters mit Randbedingungen (Mesh) | * [http://www.discretizer.org Discretizer] - Ein Programm zur Erstellung eines Gitters mit Randbedingungen (Mesh) | ||
+ | * [http://www.discretizer.org/files/Discretizer-manual.pdf Discretizer-manual.pdf] - Ein leider viel zu kurzes Handbuch zum Discretizer. | ||
* [http://openfoamcfd.sourceforge.net/doc/Doxygen/html OpenFoam Toolkit] - Eine weitere technische Dokumentation | * [http://openfoamcfd.sourceforge.net/doc/Doxygen/html OpenFoam Toolkit] - Eine weitere technische Dokumentation | ||
* [http://openfoamwiki.net/index.php/Main_Page OpenFoam Wiki] - Ein OpenFoam Wiki, das viele Infos enthält aber etwas fragementiert ist. | * [http://openfoamwiki.net/index.php/Main_Page OpenFoam Wiki] - Ein OpenFoam Wiki, das viele Infos enthält aber etwas fragementiert ist. | ||
Zeile 59: | Zeile 72: | ||
* [http://www.aeg98.dial.pipex.com Homepage von Prof. Jasak] - Eine Fundgrube zu Arbeiten über OpenFoam | * [http://www.aeg98.dial.pipex.com Homepage von Prof. Jasak] - Eine Fundgrube zu Arbeiten über OpenFoam | ||
* [http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/docs/HenrikRuschePhD2002.pdf HenrikRuschePhD2002.pdf] - eine Dissertation von Dr. Ruschke zum Thema CFD | * [http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/docs/HenrikRuschePhD2002.pdf HenrikRuschePhD2002.pdf] - eine Dissertation von Dr. Ruschke zum Thema CFD | ||
+ | * [http://www.cfd-online.com/Forums/openfoam CFD-Online] - Ein Forum zum Thema OpenFoam | ||
<br> | <br> |
Aktuelle Version vom 11. Juli 2011, 13:55 Uhr
Inhaltsverzeichnis
Allgemeines
OpenFoam ist ein Open Source CFD (Computational Fluid Dynamics) Programm. Es ist ein sehr umfangreiches Werkzeug. Im Gegensatz zu manch anderem komerzeillem CFD-Programm benötigt es sehr wenig Speicherplatz und wenig Rechenkapazität und ist einfach zu bedienen.
Auf dieser Seite des Wikis möchte ich über meine Erfahrungen bei der Einarbeitung in OpenFoam berichten. Der Grund dafür ist, dass OpenFoam, obwohl es ein sehr gutes Programm ist, nur in Fragmenten Dokumentiert ist. Das heißt, es existieren gute, aber unvollständige und bruchstückhafte Dokumentationen, die im gesamten Netz verstreut sind. Diesem Zustand soll Abhilfe geschaffen werden, damit OpenFoam eins Stückchen mehr zu einer freien Technologie wird.
Als Betriebssystem verwende ich Ubuntu 10.04 "Lucid Lynx".
OpenFoam Tagebuch der Einarbeitung
06.07.11
- OpenFoam wird im Terminal ausgeführt. Lediglich das Anschauen der Ergebnisse funktioniert mit "ParaView" grafisch.
- Ein OpenFoam Projekt besteht immer aus einem Ordner, in dem sich Unterordner befinden. Das ist das erste, was man als Nutzer wissen sollte.
- Die Randbedingungen befinden sich im Ordner "0"
- Das Gitter ohne die Randbedingungen wird in der Textdatei "~/Beispielprojekt/constant/polyMesh/blockMeshDict" definiert.
- Die Definition eines Gitters ist in im Tutorial im Kaptiel 5.1 beschrieben.
- OpenFoam erstellt bei seiner Installation den Ordner "Open Foam", in dem sich einige Beispielprogramme befinden. Um ein Beispielprogramm zu starten geht man wie folgt vor:
1. Wechsel in das Projektverzeichnis mit dem Befehl cd
cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity
2. Generierung des Gitters mit BlockMesh
blockMesh
3. Lösung des Gleichungssystems mit icoFoam
icoFoam
4. Anschauen der Ergebnisse mit paraFoam
paraFoam
- Wenn man ein Mesh von Hand erstellen möchte, nimmt man am besten eine blockMeshDict Datei aus einem Beispielprogramm und ändert diese von Hand. Dabei ist es holfreich, das Mesh in einem 2D CAD System zu zeichnen, damit man die Koordinaten herauslesen kann. Um die Topologie des Mesh anzuschauen, ohne das alle anderen Dateien vorhanden sein müssen, kann man den Befehl blockMesh mit der Option -blockTopology verwenden
blockMesh -blockTopology
- Bei der Definition eines Mesh wird innerhalb der Textdatei blockMeshDict wie folgt vorgegangen:
1. Kopfzeilen definieren
2. Eckpunkte benennen
3. Körper benennen
4. Flächen benennen
10.07.11
- Der Discretizer scheint mir ein interessantes Werkzeug zur Erstellung eines Gitters mit Randbedingungen zu sein.
- Zur Installation wird das zip-File des Discretizers heruntergeladen und einfach entpackt. Gestartet wird der Discretizer, indem man in dem Ordner "discretizer" das bash-Script "discretizer_setup.sh" startet.
- Der Discretizer erstellt eine Dateistruktur, die OpenFoam direkt verwenden kann. Im Discretizer ist der Zugang zu OpenFoam bereits integriert.
- Die Randbedingungen, die man im Discretizer eingestellt hat, muss man in einer getrennten csv-Datei von Hand abspeichern!
- Das Schreiben der OpenFoam Dateistruktur erfolgt im Menue mit "Run -> Sync Files"
- Der Discretizer wird im Teminal ausgeführt. Im Terminal tauchen dann auch Fehlermeldungen auf.
11.07.11
- Es können auch Zeitlich variierende Randbedingungen angegeben werden. Dies ist im Tutorial "TJunction" "OpenFOAM/Nutzer-2.0.0/run/tutorials/incompressible/pimpleFoam/TJunction/0/p" beschrieben. Das Schlüsselwort hier ist in folgenden Codezeilen enthalten
type timeVaryingTotalPressure; p0 100040; // only used for restarts outOfBounds clamp; fileName "$FOAM_CASE/constant/p0vsTime";
Weblinks
- OpenFoam - Die offizielle Homepage von OpenFoam mit Handbuch
- Discretizer - Ein Programm zur Erstellung eines Gitters mit Randbedingungen (Mesh)
- Discretizer-manual.pdf - Ein leider viel zu kurzes Handbuch zum Discretizer.
- OpenFoam Toolkit - Eine weitere technische Dokumentation
- OpenFoam Wiki - Ein OpenFoam Wiki, das viele Infos enthält aber etwas fragementiert ist.
- foamcfd - Eine Fundgrube an interessanten Arbeiten zu Openfoam
- Openfoam an der ETH Zürich - Hier sind einige sehr gute handbücher zu OpenFoam
- Homepage von Prof. Jasak - Eine Fundgrube zu Arbeiten über OpenFoam
- HenrikRuschePhD2002.pdf - eine Dissertation von Dr. Ruschke zum Thema CFD
- CFD-Online - Ein Forum zum Thema OpenFoam