A CFD-trained MeshGraphNet engineering prototype for offline, three-dimensional temperature-field prediction in parametrically defined plate-fin heat sinks.
基于 CFD 数据与 MeshGraphNet 的板翅式散热器三维温度场预测工程原型。
中文说明 | Download Windows EXE | Architecture | Methodology | Model card | Limitations
Portfolio and demonstration repository. The Git repository intentionally contains no source code, model weights, raw CFD data, company assets, or executable binary. The Windows executable is distributed only as a GitHub Release asset.
Download the single-file Windows executable from the official GitHub Release:
- Release: HeatSink AI Predictor v1.0.0
- Asset:
HeatSinkAIPredictor.exe - Size:
250,452,071 bytes(~238.85 MiB) - SHA256:
E25CA647B531E1D51515CE24EC734533AE8B3D81D31439D58A045D81C8B289C1
Runtime notes:
- Windows single-file EXE
- CPU-only offline inference
- No Python required
- No Conda required
- No ANSYS required
- No CUDA or GPU required
- No administrator privileges required
- No network connection required for inference
Do not download executables from unofficial mirrors. Verify the SHA256 checksum before use when possible.
The screenshot below was captured from the packaged Windows executable. It shows the localized desktop interface, parameter controls, prediction progress, and a 3D temperature-field visualization.
Additional interface crops:
| Parameter controls | Temperature-field viewer |
|---|---|
![]() |
![]() |
High-fidelity CFD can provide detailed thermal fields but is expensive to run repeatedly during early design exploration. This project investigates a CFD-trained graph surrogate that maps nine heat-sink design and operating parameters to a full solid temperature field, then presents the prediction in a desktop engineering workflow.
The system is a scoped surrogate model, not a replacement for final CFD, experimental validation, or engineering qualification.
- End-to-end engineering workflow from nine parameters to a visualized VTU
- Automated geometry, solid-mesh, graph, inference, and export stages
- MeshGraphNet-style temperature-field surrogate implemented with PyTorch and PyTorch Geometric
- Formal dataset of 400 CFD operating conditions
- Holdout split of 320 train / 40 validation / 40 test cases
- CPU-only offline inference in the packaged desktop workflow
- Qt desktop interface with PyVista/VTK three-dimensional visualization
- Single-file Windows packaging designed to require no Python, Conda, ANSYS, CUDA, administrator privileges, or network access at runtime
flowchart LR
A["9 design and operating parameters"] --> B["Parametric geometry"]
B --> C["Solid mesh"]
C --> D["Graph construction"]
D --> E["MeshGraphNet inference"]
E --> F["VTU temperature field"]
F --> G["PyVista / VTK 3D visualization"]
The nine inputs are heat-sink length, base width, total height, base thickness, fin thickness, fin count, inlet velocity, heat power, and ambient temperature.
The formal dataset contains 400 CFD cases:
| Partition | Cases | Role |
|---|---|---|
| Train | 320 | Model fitting and scaler fitting |
| Validation | 40 | Model selection |
| Test | 40 | Final holdout evaluation |
- Split seed:
20260724 - Training seed:
20260720 - The test set was not used to select the formal checkpoint.
- Raw CFD files and case-level source data are intentionally not published.
Verified formal model configuration:
| Item | Verified value |
|---|---|
| Architecture | MeshGraphNet-style baseline |
| Released checkpoint | Epoch 66 |
| Training closeout | Epoch 69 |
| Selection metric | Validation temperature RMSE |
| Hidden dimension | 16 |
| Message-passing steps | 2 |
| Node input width | 39 |
| Edge feature width | 9 |
| Graph attribute width | 13 |
| Output width | 1 |
| Parameter count | 5,553 |
Epoch 66 was selected because it achieved the minimum validation temperature RMSE among epochs 1-69. Epoch 69 was the training closeout checkpoint, not the released model checkpoint.
The following values come from the formal closeout report and the 40-case holdout test. Temperature metrics use kelvin differences.
| Metric | Value | Definition |
|---|---|---|
| Validation temperature RMSE | 1.4557 K | Formal checkpoint-selection metric at epoch 66 |
| Test micro temperature RMSE | 1.4582 K | All 14,555,734 test nodes pooled |
| Test micro temperature MAE | 0.8732 K | All test nodes pooled |
| Test micro temperature R^2 | 0.9892 | All test nodes pooled |
| Test maximum absolute error | 13.5200 K | Maximum across pooled test nodes |
| Macro mean case RMSE | 1.2720 K | Mean of 40 per-case RMSE values |
| Median case RMSE | 0.9644 K | Median of 40 per-case RMSE values |
| Worst case RMSE | 8.9419 K | Maximum per-case RMSE |
| Heat-source maximum-temperature MAE | 1.8664 K | Mean absolute error across 40 cases |
The holdout evaluation report records CUDA/AMP evaluation on an NVIDIA GeForce RTX 5070 Laptop GPU. That hardware context applies to formal evaluation, not to the CPU-only desktop runtime.
A separate CPU standalone smoke test passed without ANSYS or training data. For one documented formal-test parameter scenario with 193,188 graph nodes, model inference took 0.250640 s. This is a single-scenario smoke measurement, not a general latency benchmark.
The application provides parameter entry, range validation, prediction progress, optimization controls, VTU export, and PyVista/VTK visualization in a localized Qt interface. The viewer keeps a full-resolution actor so the displayed geometry and scalar field remain stable during interaction.
The public GitHub repository is a portfolio and documentation surface. Complete source code, raw CFD data, model weights, and internal development assets are not included.
HeatSink-AI-Predictor/
├─ README.md
├─ README_zh-CN.md
├─ LICENSE_NOTICE.md
├─ CITATION.cff
├─ docs/
│ ├─ architecture.md
│ ├─ methodology.md
│ ├─ model-card.md
│ ├─ limitations.md
│ └─ images/README.md
├─ demo/
│ ├─ README.md
│ └─ sample_outputs/README.md
├─ screenshots/
│ ├─ main-window.png
│ ├─ parameter-panel.png
│ ├─ viewer-panel.png
│ └─ README.md
└─ release_notes/v1.0.0.md
Claims are limited to the documented 400-case plate-fin heat-sink design and operating space. The reported test set contains 40 held-out CFD cases. The results are evidence for an engineering prototype, not certification.
- Predictions outside the training design space are out-of-distribution.
- New materials, boundary conditions, flow regimes, or geometry topologies require new validation.
- The worst-case test error is materially larger than the median-case error.
- Mesh-resolution transfer has not been quantified broadly.
- No large-scale external CFD validation or experimental validation is claimed.
- Safety-critical decisions require CFD, experiments, or another high-fidelity verification method.
See docs/limitations.md.
- CFD workflow automation and repeatable case production
- Formal dataset construction and protected split management
- Graph feature/schema design and scaler provenance
- MeshGraphNet training, checkpoint selection, and test closeout
- Desktop application integration and Chinese localization
- Full-resolution three-dimensional scalar-field visualization
- CPU-only model packaging and one-file offline deployment
- Reproducibility checks, manifests, hashes, and smoke testing
Portfolio and demonstration use only. No open-source license is granted. Third-party libraries remain subject to their own licenses. See LICENSE_NOTICE.md.
Lim ZhuangJun
GitHub: Ryan-309


