Skip to content

Repository files navigation

OpenFOAM GUI v2.0.5

A professional CFD case manager and editor for OpenFOAM, built with Qt 6.10.2.

📖 Online Documentation: openfoamgui.readthedocs.io


Features

ModuleDescription
Case BrowserLazy-loading tree, multi-case, filter, rename, auto-refresh (file watcher)
Code EditorMulti-tab, syntax highlighting, line numbers, 3-way auto-completion, auto-indent, bracket matching
C++ Completion200+ STL keywords, containers, algorithms, smart pointers, streams
Python CompletionPython 3 builtins, numpy/pandas
OpenFOAM Completion500+ keywords: 120+ solvers, BC types, shell scripts (Allrun/Allclean)
#include Headers50+ C/C++/OF header suggestions on #include <
Boundary ConditionsRTM parameter table, 120+ BC types, patch browser, smart suggestions
Turbulence Model20 RANS/LES/DES models with coefficient tables + Inlet Calculator
BL Calculator (Y+)y+ → firstLayerThickness for snappyHexMesh addLayersControls, with derivation panel
Turbulence CalculatorInlet k / epsilon / omega / nut / nuTilda for ALL OF turbulence model families
Schemes & SolversStructured editing of fvSchemes and fvSolution
snappyHexMeshFull snappyHexMeshDict panel + Y+ → addLayersControls sync
Dict Panel20+ dictionary types: blockMeshDict, controlDict, waveProperties (7 wave models), etc.
Drag-to-ResizeDrag splitters to adjust panel areas (param tree / preview / section list)
Sync BoundariesOne-click sync blockMeshDict patches → all 0/ field files
File ViewerPNG/JPG/SVG/EPS (zoom, fit); PDF/Office via system default
Run PythonExecute .py from editor, configurable interpreter path
Run C++Compile with g++ -std=c++17 -O2 + run, configurable compiler path
ParaViewOne-click launch, auto .foam file, path config, download guide
TerminalOpen system terminal in case directory
Dark ThemeCtrl+T toggle, Fusion dark palette, persisted
Find/ReplaceInline find (Ctrl+F), F3 find-next, Replace (Ctrl+H) with replace-all
ToolbarDrag-to-reorder, View → Toolbar Buttons toggles, Reset Default Layout

Keyboard Shortcuts

KeyAction
Ctrl+OOpen Case
Ctrl+SSave
Ctrl+WClose Tab
Ctrl+FFind
Ctrl+HReplace
F3Find Next
Ctrl+/Toggle Comment
Ctrl+TDark / Light Theme
Ctrl+Z / Ctrl+YUndo / Redo
Ctrl+BToggle BC Panel
Ctrl+Shift+PRun Python
Ctrl+Shift+CRun C++
Ctrl+NNew File

Requirements

  • Qt 6.10.2 (MinGW 64-bit)
  • MinGW-w64 (GCC 15.2+)
  • OpenFOAM (v2012–v2512)
  • ParaView 5.10+ (optional)
  • Python 3.x (optional, for Run Python)
  • g++ (optional, for Run C++; MinGW includes it)
  • Ghostscript (optional, for EPS; TeX Live includes it)

Install

Windows

Download OpenFOAMGUI.exe from Releases — portable, no installation required.

Linux (.deb)

Download openfoamgui_2.0.5_all.deb from Releases and install:

sudo dpkg -i openfoamgui_2.0.5_all.deb
sudo openfoamgui-build # one-time compile
openfoamgui # launch

Requirements: Qt 6.2+ (qt6-base-dev) or Qt 5.15+ (qtbase5-dev).

Build from Source

# Windows (MinGW)
qmake OpenFOAMGUI.pro
mingw32-make -f Makefile.Release
# Output: release/OpenFOAMGUI.exe# Linux
qmake6 OpenFOAMGUI.pro # or qmake
make -f Makefile.Release -j$(nproc)# Output: release/OpenFOAMGUI

Qt modules: Core, GUI, Widgets, Svg, SvgWidgets · Standard: C++17


Project Structure

OpenFOAMGUI/
├── .readthedocs.yaml # Read the Docs config
├── mkdocs.yml # MkDocs documentation config
├── docs/ # Online documentation source
├── src/ # Source code (17 source pairs)
│ ├── main.cpp, mainwindow.* # Entry point + main window
│ ├── casebrowser.* # Case directory tree (lazy-load, rename, watcher)
│ ├── codeeditor.* # Editor + 500+ keyword auto-completion
│ ├── fileviewer.* # Image/EPS/PDF/Office viewer
│ ├── ofhighlighter.* # OpenFOAM/C++ syntax highlighting
│ ├── ofparser.* # OpenFOAM file parser
│ ├── ofmeshreader.* # OpenFOAM polyMesh reader
│ ├── languagedetector.* # File language detection
│ ├── linenumberarea.* # Line number margin widget
│ ├── bcpanel.* + bctypedatabase.* # BC panel + 120+ BC types
│ ├── turbulencepanel.* + turbulencemodeldatabase.* # Turbulence + inlet calculator
│ ├── schemespanel.* # fvSchemes / fvSolution
│ ├── snappypanel.* # snappyHexMeshDict + Y+ calculator
│ ├── dictpanel.* # 20+ dictionary types (waveProperties, etc.)
│ └── bychen.ico # Application icon
├── tests/ # Unit tests (19 tests, ofparser + language)
├── .github/workflows/ # CI: Windows MinGW + Linux GCC
├── ROADMAP.md # Development roadmap
├── UI_REFACTOR_PLAN.md # UI refactoring plan
├── CHANGELOG.md, README.md, README_CN.md
└── qt.conf, resources.qrc, OpenFOAMGUI.pro

Links

License

Educational and research use in CFD workflows.

About

A CFD case manager and editor for OpenFOAM, built with Qt 6.10.2.Open, browse, edit, and save OpenFOAM case files with syntax highlighting, case structure awareness, and integrated configuration panels — no manual dictionary editing required.

Resources

Stars

20 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages