Add model card
Browse files
README.md
CHANGED
|
@@ -1,3 +1,151 @@
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
| 3 |
+
tags:
|
| 4 |
+
- physics-ai
|
| 5 |
+
- pde
|
| 6 |
+
- neural-pde-solvers
|
| 7 |
+
- surrogate-modeling
|
| 8 |
+
- 3d-geometry
|
| 9 |
+
- scientific-machine-learning
|
| 10 |
+
- neurips-2026
|
| 11 |
+
arxiv: 2610.03363
|
| 12 |
+
pipeline_tag: feature-extraction
|
| 13 |
---
|
| 14 |
+
|
| 15 |
+
<h1 align="center">
|
| 16 |
+
<br>Geometry Meets Physics (GMP)<br>
|
| 17 |
+
</h1>
|
| 18 |
+
<h4 align="center">Data-Efficient Pre-Training for Unstructured Neural PDE Solvers</h4>
|
| 19 |
+
<p align="center"><i>Accepted at NeurIPS 2026</i></p>
|
| 20 |
+
|
| 21 |
+
<p align="center">
|
| 22 |
+
<a href="https://arxiv.org/abs/2610.03363">
|
| 23 |
+
<img src="https://img.shields.io/badge/arXiv-2610.03363-b31b1b?logo=arxiv" alt="Read on arXiv"/>
|
| 24 |
+
</a>
|
| 25 |
+
<a href="https://github.com/tum-pbs/GMP">
|
| 26 |
+
<img src="https://img.shields.io/badge/GitHub-tum--pbs%2FGMP-181717?logo=github" alt="GitHub Repository"/>
|
| 27 |
+
</a>
|
| 28 |
+
<a href="https://huggingface.co/thuerey-group/GMP">
|
| 29 |
+
<img src="https://img.shields.io/badge/Huggingface-GMP-FFD21E?logo=huggingface" alt="Pretrained weights on Hugging Face"/>
|
| 30 |
+
</a>
|
| 31 |
+
<a href="LICENSE">
|
| 32 |
+
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0"/>
|
| 33 |
+
</a>
|
| 34 |
+
</p>
|
| 35 |
+
|
| 36 |
+
<p align="center">
|
| 37 |
+
<img src="figures/drivaerml_error_comparison.png" width="49%" alt="DrivAerML Error Comparison" />
|
| 38 |
+
<img src="figures/shiftwing_error_comparison.png" width="49%" alt="SHIFT-Wing Error Comparison" />
|
| 39 |
+
</p>
|
| 40 |
+
|
| 41 |
+
---
|
| 42 |
+
|
| 43 |
+
## π Overview
|
| 44 |
+
|
| 45 |
+
**GMP (Geometry Meets Physics)** is a disk-data-free pre-training framework for neural surrogate models on unstructured 3D geometries, tailored to both steady-state and transient physical regimes.
|
| 46 |
+
|
| 47 |
+
Instead of relying on massive, pre-computed simulation data stored on disk (which often consume terabytes of storage and suffer from severe I/O bottlenecks), GMP generates pre-training data **purely on-the-fly**:
|
| 48 |
+
- **Steady-state regime (Geometry-driven):** Employs intrinsic shape descriptors (coordinates, curvatures, normals, and SGD) to learn rich representations of complex 3D domains without running expensive offline simulations.
|
| 49 |
+
- **Transient regime (Physics-driven):** Leverages GPU-accelerated solvers to generate synthetic PDE dynamics online, enabling scalable pre-training for time-dependent evolutions without storage overhead.
|
| 50 |
+
|
| 51 |
+
For full code, benchmark datasets, and evaluation scripts, visit the official **[GitHub Repository](https://github.com/tum-pbs/GMP)**.
|
| 52 |
+
|
| 53 |
+
---
|
| 54 |
+
|
| 55 |
+
## π¦ Pre-Trained Checkpoints
|
| 56 |
+
|
| 57 |
+
This repository hosts official pre-trained checkpoints for **GMP-Net** and baseline architectures:
|
| 58 |
+
|
| 59 |
+
| Model / Baseline | Pre-Training Stage | Regime | Checkpoint Path in Repo | Size |
|
| 60 |
+
| :--- | :--- | :--- | :--- | :--- |
|
| 61 |
+
| **GMP-Net** | Geometry Pre-Training | Steady-state | `gmpnet/epoch-200.pth` | ~346 MB |
|
| 62 |
+
| **GMP-Net** | Physics Pre-Training | Transient | `gmpnet_physics/epoch-199-EMA.ckpt` | ~174 MB |
|
| 63 |
+
| **AB-UPT** | Geometry Pre-Training | Steady-state | `abupt/epoch-200.pth` | ~148 MB |
|
| 64 |
+
| **Transolver++** | Geometry Pre-Training (Surface) | Steady-state | `transolver_pp_surface/epoch-200.pth` | ~106 MB |
|
| 65 |
+
| **Transolver++** | Geometry Pre-Training (Volume) | Steady-state | `transolver_pp_volume/epoch-200.pth` | ~106 MB |
|
| 66 |
+
|
| 67 |
+
---
|
| 68 |
+
|
| 69 |
+
## π How to Download the Weights
|
| 70 |
+
|
| 71 |
+
### Option 1: Download All Checkpoints into `outputs_pretraining/` (Recommended)
|
| 72 |
+
|
| 73 |
+
Using Python:
|
| 74 |
+
```python
|
| 75 |
+
from huggingface_hub import snapshot_download
|
| 76 |
+
|
| 77 |
+
# Downloads all model weights directly into the folder expected by the GMP codebase
|
| 78 |
+
snapshot_download(
|
| 79 |
+
repo_id="thuerey-group/GMP",
|
| 80 |
+
local_dir="outputs_pretraining",
|
| 81 |
+
allow_patterns=["*.pth", "*.ckpt"],
|
| 82 |
+
)
|
| 83 |
+
```
|
| 84 |
+
|
| 85 |
+
Or with the `hf` CLI:
|
| 86 |
+
```bash
|
| 87 |
+
hf download thuerey-group/GMP --local-dir outputs_pretraining --include "*.pth" --include "*.ckpt"
|
| 88 |
+
```
|
| 89 |
+
|
| 90 |
+
Once downloaded, the directory matches the expected hierarchy in the codebase:
|
| 91 |
+
```text
|
| 92 |
+
outputs_pretraining/
|
| 93 |
+
βββ gmpnet/
|
| 94 |
+
β βββ epoch-200.pth
|
| 95 |
+
βββ gmpnet_physics/
|
| 96 |
+
β βββ epoch-199-EMA.ckpt
|
| 97 |
+
βββ abupt/
|
| 98 |
+
β βββ epoch-200.pth
|
| 99 |
+
βββ transolver_pp_surface/
|
| 100 |
+
β βββ epoch-200.pth
|
| 101 |
+
βββ transolver_pp_volume/
|
| 102 |
+
βββ epoch-200.pth
|
| 103 |
+
```
|
| 104 |
+
|
| 105 |
+
### Option 2: Download a Specific Checkpoint
|
| 106 |
+
|
| 107 |
+
```python
|
| 108 |
+
from huggingface_hub import hf_hub_download
|
| 109 |
+
|
| 110 |
+
checkpoint_path = hf_hub_download(
|
| 111 |
+
repo_id="thuerey-group/GMP",
|
| 112 |
+
filename="gmpnet/epoch-200.pth",
|
| 113 |
+
local_dir="outputs_pretraining",
|
| 114 |
+
)
|
| 115 |
+
```
|
| 116 |
+
|
| 117 |
+
---
|
| 118 |
+
|
| 119 |
+
## π¬ Supported Downstream Benchmarks
|
| 120 |
+
|
| 121 |
+
The pre-trained models can be directly fine-tuned across six downstream engineering benchmarks on unstructured surface and volumetric meshes:
|
| 122 |
+
- **DrivAerML**: Automotive aerodynamics (3D Surface & Volume).
|
| 123 |
+
- **SHIFT-Wing**: Aerospace aerodynamics (NASA CRM wings under varying Mach/AoA).
|
| 124 |
+
- **SHIFT-Crash (Steady)**: Vehicle structural deformation and Von Mises stress.
|
| 125 |
+
- **KuramotoβSivashinsky (KS)**: 2D chaotic spatiotemporal dynamics.
|
| 126 |
+
- **Flow Around Ellipse**: 2D unsteady fluid mechanics past an elliptical obstacle.
|
| 127 |
+
- **SHIFT-Crash (Transient)**: Autoregressive collision and impact dynamics rollout across 12 timesteps.
|
| 128 |
+
|
| 129 |
+
Refer to the [GitHub Repository](https://github.com/tum-pbs/GMP) for Hydra fine-tuning commands.
|
| 130 |
+
|
| 131 |
+
---
|
| 132 |
+
|
| 133 |
+
## π Citation
|
| 134 |
+
|
| 135 |
+
If you use these pre-trained weights or the GMP framework in your research, please cite our paper:
|
| 136 |
+
|
| 137 |
+
```bibtex
|
| 138 |
+
@inproceedings{medrano2026geometry,
|
| 139 |
+
title={Geometry Meets Physics: Data-Efficient Pre-Training for Unstructured Neural PDE Solvers},
|
| 140 |
+
author={Medrano-Navarro, Luis and Baldan, Giacomo and Liu, Qiang and Holzschuh, Benjamin and Hagnberger, Jan and Niepert, Mathias and Thuerey, Nils},
|
| 141 |
+
booktitle={The Fortieth Annual Conference on Neural Information Processing Systems},
|
| 142 |
+
year={2026},
|
| 143 |
+
url={https://openreview.net/forum?id=jidnQA2TIz}
|
| 144 |
+
}
|
| 145 |
+
```
|
| 146 |
+
|
| 147 |
+
---
|
| 148 |
+
|
| 149 |
+
## π License
|
| 150 |
+
|
| 151 |
+
The checkpoints and code are released under the [Apache 2.0 License](LICENSE).
|