OpenFOAM blockMeshDict mesh generation tool
Built with PySide6 and MUJI-style minimalist design
- 📊 Excel Converter: Convert 2D flow channel data to 3D cylindrical mesh
- 🔵 Cylinder Mesh: Parametric cylindrical mesh generation
- 🎛️ Boundary Layer Control: Inner/outer wall boundary layer mesh settings
- Python 3.10+
- uv package manager (recommended)
# Create virtual environment
uv venv .venv --python 3.10
# Activate
.venv\Scripts\activate # Windows
source .venv/bin/activate # Linux/macOS
# Install dependencies
uv pip install PySide6 pandas numpy scipy openpyxlpython -m src.mainsrc/
├── main.py # Entry point
├── core/ # Core logic
│ ├── mesh_generator.py
│ ├── cylinder_mesh.py
│ └── excel_reader.py
├── models/ # Data models
│ └── mesh_params.py
└── ui/ # User interface
├── main_window.py
├── widgets/
└── resources/
└── muji_style.qss
- Select Excel file with X, Y, Z coordinates
- Set mesh parameters (layers, radial/circumferential/axial cells)
- Optional: Enable boundary layer control
- Click "Generate" to create blockMeshDict
- Set geometry parameters (radius, height, inner square side)
- Set mesh parameters
- Click "Generate" to create blockMeshDict
- 📊 Excel 轉換:將 2D 流道數據轉換為 3D 圓柱網格
- 🔵 圓柱網格:參數化圓柱形網格生成
- 🎛️ 邊界層控制:內外壁邊界層網格設定
- Python 3.10+
- uv 套件管理器(推薦)
# 建立虛擬環境
uv venv .venv --python 3.10
# 啟動環境
.venv\Scripts\activate # Windows
source .venv/bin/activate # Linux/macOS
# 安裝依賴
uv pip install PySide6 pandas numpy scipy openpyxlpython -m src.main- 選擇包含 X, Y, Z 座標的 Excel 檔案
- 設定網格參數(層數、徑向/圓周/軸向網格數)
- 可選:啟用邊界層控制
- 點擊「生成」產生 blockMeshDict
- 設定幾何參數(半徑、高度、內方形邊長)
- 設定網格參數
- 點擊「生成」產生 blockMeshDict
Issues and Pull Requests are welcome!