Tutorial

OpenFOAM CFD-Tutorial

Fluiddomain vernetzen, OpenFOAM-Patches zuweisen und CFD-Ergebnisse pruefen

Uebersicht

Dieses Tutorial fuehrt 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 fuer ein vorbereitetes Modell mit klaren Inlet-, Outlet- und Wandflaechen

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 Stroemung.
  • Ausgefuehrte Befehle: blockMesh, checkMesh, simpleFoam und foamToVTK.
  • 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 oeffnen

Fuer 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 fuer Inlet, Outlet und No-Slip-Waende geladen.

Echter confBuild-Browser-Screenshot der OpenFOAM-Step-Duct-Beispieleingaben

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 fuer den Bereich, in dem das Fluid stroemen soll.
  • Benennen oder identifizieren Sie Inlet-, Outlet- und Wandflaechen eindeutig.
  • Bei duennen 2D-aehnlichen CFD-Faellen muessen Vorder- und Rueckseite als empty-Patches verfuegbar bleiben.
  • Starten Sie einfach. Der erste Lauf sollte mit einem groben oder mittleren Netz pruefen, ob das Setup stimmt.

Schritt 2: Mesh- und Face-Group-Bereitschaft pruefen

Oeffnen Sie das Mesh/Loads-Setup und pruefen Sie, ob das erzeugte Netz verwendbare Flaechengruppen 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.

Echtes confBuild Mesh-und-Loads-Panel mit Face-Group-Check fuer CFD

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 ausgewaehlte Objekt sollte das Stroemungsvolumen sein, nicht ein Hindernis-Solid.
  • Flaechengruppen sollten die Netzgenerierung ueberstehen, damit CFD-Randbedingungen sie spaeter referenzieren koennen.
  • Im Tutorialbeispiel definiert der OpenFOAM-Case selbst die Patches: inlet, outlet, Wand-Patches und gepaarte empty-Patches vorne/hinten.
  • Lokale Verfeinerungen und Boundary Layers sollten nur dort gesetzt werden, wo sie das gewuenschte 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, waehrend Flaechengruppen 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 schliessen.
  • Wall-Patches sollten alle festen Oberflaechen abdecken, die das Fluid beruehrt.
  • Bei 2D-Setups sollten die duennen Vorder- und Rueckseiten empty verwenden.
  • Im aufgenommenen Beispiel sind upperWall und lowerWall No-Slip-Waende, frontAndBack nutzt empty.

Schritt 4: OpenFOAM starten

Wenn das Setup vollstaendig 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 anschliessend das Velocity-Feld aus internal.vtu exportiert.

OpenFOAM-Solverlauf im Simulationspanel

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 ideasUnvToFoam konvertiert; MSH-Netze mit gmshToFoam.
  • checkMesh prueft Topologie und Qualitaet, bevor der Solver startet.
  • Stationaere inkompressible Faelle nutzen simpleFoam; transiente inkompressible Faelle nutzen pimpleFoam.
  • Abgeschlossene Cases werden mit foamToVTK fuer die Visualisierung exportiert.
  • Das Beispielnetz bestand mit max. Non-Orthogonality 5,95 Grad und max. Skew 0,261.

Schritt 5: CFD-Ergebnis pruefen

Nach dem Solverlauf pruefen Sie sowohl die Feldvisualisierung als auch die numerische Zusammenfassung. Ein sauberes Ergebnis zeigt das gewuenschte Feld, einen bestandenen Mesh-Quality-Status, plausible Residuals und einen niedrigen Flow-Balance-Fehler.

OpenFOAM-CFD-Ergebniszusammenfassung und Velocity-Field-Vorschau

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

  • Pruefen 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.
  • Pruefen Sie Residuals und Solver Steps, bevor Sie lokale Detailwerte verwenden.
  • In diesem Lauf hat simpleFoam 20 Solver-Steps bei Zeit 20 abgeschlossen.

Unterstuetzter OpenFOAM-Umfang

Der aktuelle Workflow konzentriert sich auf praktische inkompressible CFD-Faelle, die aus Editor-Geometrie und Mesh-Metadaten vorbereitet werden koennen.

Status Unterstuetzt Hinweise
Bereit 3D inkompressible Stroemung Stationaere oder transiente Faelle mit Fluidvolumen-Netzen
Bereit Duenne 2D-Stroemung Gepaarte empty-Patches an den duennen Flaechen verwenden
Bereit Laminar, k-epsilon, k-omega SST Turbulenzmodell im CFD-Setup auswaehlen
Bereit Inlet-, Outlet-, Wall-, Symmetry- und Far-Field-Patches Boundary-Rollen werden aus Flaechengruppen gemappt
Noch nicht Kompressible, poroese, rotierende, Dynamic-Mesh-, Heat-Transfer- oder Species-Cases Diese Faelle vorerst ausserhalb dieses Editor-Workflows halten

Troubleshooting

Keine Flaechengruppen sichtbar

Netz neu erzeugen und pruefen, ob wirklich die Fluiddomain ausgewaehlt ist. CFD-Boundaries brauchen Mesh-Metadaten, nicht nur sichtbare Flaechen.

checkMesh schlaegt fehl

Kleine Geometriedetails vereinfachen, Netzfeinheit anpassen und Sliver-Flaechen reduzieren, bevor Solverparameter geaendert werden.

Solver-Setup ist blockiert

Fluidregion, nicht-null Inlet- oder Far-Field-Velocity, einen Pressure-Outlet oder Referenzdruck und doppelte Patch-Zuweisungen pruefen.

2D-Case laeuft nicht

Die duennen Vorder- und Rueckseiten muessen als empty zugewiesen sein und der Case muss als 2D-CFD-Setup konfiguriert werden.

Naechste Schritte

Nach dem ersten gueltigen Lauf verfeinern Sie gezielt nur die Teile des Workflows, die das relevante Ergebnis beeinflussen.

  • Nutzen Sie FEM-Netzgenerierung, um Netzfeinheit, Elementgroesse und Flaechengruppen zu verstehen.
  • Nutzen Sie FEM-Simulation, um den breiteren Simulationsbereich kennenzulernen.
  • Fuehren Sie mindestens einen Netzverfeinerungs-Vergleich durch, bevor CFD-Werte fuer technische Entscheidungen verwendet werden.

Bereit fuer Simulation?

CFD-Netz erzeugen und OpenFOAM direkt aus dem Editor starten.