OpenFOAM CFD-Tutorial
Fluiddomain vernetzen, OpenFOAM-Patches zuweisen und CFD-Ergebnisse prüfen
Übersicht
Dieses Tutorial führt durch ein reales OpenFOAM-CFD-Beispiel in confBuild. Die Screenshots wurden am 2026-06-21 im Browser aufgenommen, mit dem Beispielprojekt OpenFOAM Step Duct Tutorial Example auf Basis des OpenFOAM-pitzDaily-Kanals mit Ruecksprung.
Zeit
Etwa 20 Minuten für ein vorbereitetes Modell mit klaren Inlet-, Outlet- und Wandflächen
Beispielnetz
blockMesh und checkMesh erzeugten 25.012 Punkte und 12.225 Zellen
Beispielergebnis
simpleFoam erreichte Zeit 20 mit 0,317% Inlet/Outlet-Flow-Balance-Fehler
Beispiel-Artefakt
- Case: OpenFOAM-
pitzDaily-Step-Duct, stationaere inkompressible Strömung. - Ausgeführte Befehle:
blockMesh,checkMesh,simpleFoamundfoamToVTK. - Velocity-Zusammenfassung: Mittelwert 5,496 m/s, Maximum 11,171 m/s. Pressure-Bereich: -9,937 Pa bis 19,424 Pa.
- Ergebnis in confBuild als abgeschlossener CFD-Task mit VTU-Feldvisualisierung geladen.
Schritt 1: Reales Step-Duct-Beispiel öffnen
Für CFD beschreibt das Netz das Fluidvolumen, nicht das feste Bauteil. In diesem Beispiel ist der Editor mit einer Step-Duct-Fluiddomain, OpenFOAM-Solvereinstellungen, 10 m/s Inlet-Velocity, 0 Pa Outlet-Pressure und benannten Boundary-Rollen für Inlet, Outlet und No-Slip-Wände geladen.
Das ist der echte Browser-Screenshot aus dem Beispielprojekt, kein Mockup. Er zeigt das Quell-Setup vor Mesh- und Solverpruefung.
Vor dem Meshing
- Verwenden Sie ein geschlossenes Volumen für den Bereich, in dem das Fluid stroemen soll.
- Benennen oder identifizieren Sie Inlet-, Outlet- und Wandflächen eindeutig.
- Bei dünnen 2D-ähnlichen CFD-Faellen müssen Vorder- und Rueckseite als
empty-Patches verfügbar bleiben. - Starten Sie einfach. Der erste Lauf sollte mit einem groben oder mittleren Netz prüfen, ob das Setup stimmt.
Schritt 2: Mesh- und Face-Group-Bereitschaft prüfen
Öffnen Sie das Mesh/Loads-Setup und prüfen Sie, ob das erzeugte Netz verwendbare Flächengruppen liefert. CFD-Randbedingungen brauchen Mesh-Metadaten, nicht nur sichtbare Geometrie. Wenn in diesem Panel keine Gruppen erscheinen, muss mit Face-Group-Ausgabe neu vernetzt werden oder das OpenFOAM-Netz muss explizite Patch-Rollen mitbringen.
Der Screenshot ist ein echter Mesh-&-Loads-Zustand. Er dokumentiert den Face-Group-Gate vor der Boundary-Zuweisung, statt vorzugeben, dass jedes Netz bereits fertig vorbereitet ist.
Meshing-Checks
- Das ausgewählte Objekt sollte das Stroemungsvolumen sein, nicht ein Hindernis-Solid.
- Flächengruppen sollten die Netzgenerierung überstehen, damit CFD-Randbedingungen sie später referenzieren können.
- Im Tutorialbeispiel definiert der OpenFOAM-Case selbst die Patches:
inlet,outlet, Wand-Patches und gepaarteempty-Patches vorne/hinten. - Lokale Verfeinerungen und Boundary Layers sollten nur dort gesetzt werden, wo sie das gewünschte Ergebnis verbessern.
Schritt 3: OpenFOAM-Regionen und Randbedingungen zuweisen
Wechseln Sie in das Simulations-Setup und nutzen Sie den CFD-Flow. Die Volumenregion wird zur OpenFOAM-Fluidregion, während Flächengruppen zu OpenFOAM-Patches wie inlet, outlet, wall, symmetry, far_field oder empty werden.
Minimales Boundary-Setup
- Mindestens ein Inlet- oder Far-Field-Patch sollte eine von Null verschiedene Stroemungsgeschwindigkeit definieren.
- Ein Outlet- oder Druckreferenz-Patch sollte das Druckfeld sauber schließen.
- Wall-Patches sollten alle festen Oberflächen abdecken, die das Fluid beruehrt.
- Bei 2D-Setups sollten die dünnen Vorder- und Rueckseiten
emptyverwenden. - Im aufgenommenen Beispiel sind
upperWallundlowerWallNo-Slip-Wände,frontAndBacknutztempty.
Schritt 4: OpenFOAM starten
Wenn das Setup vollständig ist, erzeugt confBuild aus Netz- und Boundary-Metadaten einen OpenFOAM-Case. Im aufgenommenen Beispiel hat der OpenFOAM-Runner blockMesh, checkMesh, simpleFoam und foamToVTK abgeschlossen und anschließend das Velocity-Feld aus internal.vtu exportiert.
Dieses Bild ist die echte OpenFOAM-Postprocessing-Vorschau aus dem Tutoriallauf. checkMesh bleibt der Gatekeeper, bevor Solveroutput verwendet wird.
Was im Runner passiert
- UNV-Netze werden mit
ideasUnvToFoamkonvertiert; MSH-Netze mitgmshToFoam. checkMeshprüft Topologie und Qualität, bevor der Solver startet.- Stationaere inkompressible Fälle nutzen
simpleFoam; transiente inkompressible Fälle nutzenpimpleFoam. - Abgeschlossene Cases werden mit
foamToVTKfür die Visualisierung exportiert. - Das Beispielnetz bestand mit max. Non-Orthogonality 5,95 Grad und max. Skew 0,261.
Schritt 5: CFD-Ergebnis prüfen
Nach dem Solverlauf prüfen Sie sowohl die Feldvisualisierung als auch die numerische Zusammenfassung. Ein sauberes Ergebnis zeigt das gewünschte Feld, einen bestandenen Mesh-Quality-Status, plausible Residuals und einen niedrigen Flow-Balance-Fehler.
Der Ergebnis-Screenshot ist aus dem echten abgeschlossenen CFD-Task geladen. Er zeigt 5,07e-4 m3/s Total Flow und 0,317% Balance Error.
Ergebnis-Checkliste
- Prüfen Sie das angezeigte Feld, meistens Velocity Magnitude oder Pressure.
- Lesen Sie zuerst OpenFOAM-Mesh-Status und Mesh-Quality-Warnungen.
- Vergleichen Sie Inlet- und Outlet-Flow, um fehlende oder doppelte Patches zu erkennen.
- Prüfen Sie Residuals und Solver Steps, bevor Sie lokale Detailwerte verwenden.
- In diesem Lauf hat
simpleFoam20 Solver-Steps bei Zeit 20 abgeschlossen.
Unterstützter OpenFOAM-Umfang
Der aktuelle Workflow konzentriert sich auf praktische inkompressible CFD-Fälle, die aus Editor-Geometrie und Mesh-Metadaten vorbereitet werden können.
Bereit
3D inkompressible Strömung
Stationaere oder transiente Fälle mit Fluidvolumen-NetzenBereit
Dünne 2D-Strömung
Gepaarte empty-Patches an den dünnen Flächen verwendenBereit
Laminar, k-epsilon, k-omega SST
Turbulenzmodell im CFD-Setup auswählenBereit
Inlet-, Outlet-, Wall-, Symmetry- und Far-Field-Patches
Boundary-Rollen werden aus Flächengruppen gemapptNoch nicht
Kompressible, poroese, rotierende, Dynamic-Mesh-, Heat-Transfer- oder Species-Cases
Diese Fälle vorerst ausserhalb dieses Editor-Workflows haltenTroubleshooting
Keine Flächengruppen sichtbar
Netz neu erzeugen und prüfen, ob wirklich die Fluiddomain ausgewählt ist. CFD-Boundaries brauchen Mesh-Metadaten, nicht nur sichtbare Flächen.
checkMesh schlaegt fehl
Kleine Geometriedetails vereinfachen, Netzfeinheit anpassen und Sliver-Flächen reduzieren, bevor Solverparameter geändert werden.
Solver-Setup ist blockiert
Fluidregion, nicht-null Inlet- oder Far-Field-Velocity, einen Pressure-Outlet oder Referenzdruck und doppelte Patch-Zuweisungen prüfen.
2D-Case laeuft nicht
Die dünnen Vorder- und Rueckseiten müssen als empty zugewiesen sein und der Case muss als 2D-CFD-Setup konfiguriert werden.
Nächste Schritte
Nach dem ersten gültigen Lauf verfeinern Sie gezielt nur die Teile des Workflows, die das relevante Ergebnis beeinflussen.
- Nutzen Sie FEM-Netzgenerierung, um Netzfeinheit, Elementgröße und Flächengruppen zu verstehen.
- Nutzen Sie FEM-Simulation, um den breiteren Simulationsbereich kennenzulernen.
- Führen Sie mindestens einen Netzverfeinerungs-Vergleich durch, bevor CFD-Werte für technische Entscheidungen verwendet werden.