Loading…
Loading…
A trained GINO neural operator from the open-source scirex library (JAX/Flax) for the AirfRANS benchmark. The weights are the last-epoch weights of the run described below and are stored as model.safetensors.
| Metric | This model | Published reference |
|---|---|---|
| Volume | 2.54% | 2.97% (GINO in the Transolver paper) |
| Surf | 0.158% | 4.82% |
| C_L relative error | 7.52% | 18.21% |
| Spearman ρ_L | 0.99806 | 0.9958 |
Lower is better, except for Spearman correlations. Figures are those of the ScireX results table and benchmark pages: benchmark page and the GitHub README. Volume: normalised MSE on non-wall nodes; Surf: normalised MSE on wall nodes; C_L: relative error of the lift coefficient; all means over the 200 test cases, scored with the Transolver paper's metric code. Surf may be defined in the paper as the wall-pressure MSE alone, which would be 4 times larger than reported here; see the GitHub benchmark page. Percentages are the normalised MSE times 100 (Volume 2.54% = 25.4e-3). The published run was evaluated without the --loader-surf-mask flag; the public infer.py adds that flag for GINO and reports Volume 2.437% (24.37e-3) for these same weights, so expect that value when you re-run it.
Input, per mesh node: position, signed distance, wall normal and inflow velocity. Output: velocity, pressure and turbulent viscosity at every node. 720 / 80 / 200 train / validation / test cases. The normalisation statistics are in config.json; the weights are unusable without them.
Contains information from AirfRANS (Bonnet et al., NeurIPS 2022), which is made available under the Open Database License (ODbL) v1.0.
GINO, 3,894,069 parameters. Adam, one-cycle LR (peak 1e-3), default XLA matmul precision (TF32), a fresh random 32,000-node subset of each case every epoch, volume + surface MSE loss, latent grid 128 x 64, 500 epochs, seed 0. Weights after the last epoch. Training time: ~11.8 h (about 84 s/epoch) on one NVIDIA RTX PRO 6000 Blackwell GPU.
Full setup: doc/benchmarks/airfrans/results/comparative.md.
hf download zenteiq-ai/scirex-gino-airfrans --local-dir ckpt/scirex-gino-airfrans
Then run the benchmark's scripts/benchmarks/airfrans/infer.py from the GitHub repository. The exact command is under Reproduce below. Check your install against sample.safetensors, which holds one test input (input) and the model's expected output (expected_output). config.json holds the model settings and the normalisation statistics.
AirfRANS GINO is scored with the settings of its original evaluation (scripts/benchmarks/airfrans/_gino.py, see run_airfrans_gino in scripts/reproduce.py), not with infer.py.
Results table for this benchmark: comparative.md.
Valid only within the trained input ranges of the benchmark data. Not for safety-critical design without separate validation. Bug reports: GitHub Issues.
Same benchmark, other models:
| Model | Repo |
|---|---|
| Transolver | zenteiq-ai/scirex-transolver-airfrans |
| WNO | zenteiq-ai/scirex-wno-airfrans |
Same model, other benchmarks:
| Benchmark | Repo |
|---|---|
| Darcy flow 2D (data-driven) | zenteiq-ai/scirex-gino-darcy |
| Darcy flow 2D (physics-only, extra-fields run) | zenteiq-ai/scirex-gino-darcy-physics-extra-fields |
| Pipe flow | zenteiq-ai/scirex-gino-pipe |
| Navier-Stokes 2D | zenteiq-ai/scirex-gino-navier-stokes |
| Chip cooling | zenteiq-ai/scirex-gino-chip-cooling |
| Car-Design-ShapeNetCar | zenteiq-ai/scirex-gino-shapenetcar |
| Car-CFD | zenteiq-ai/scirex-gino-car-cfd |
The weights are released under the Apache License 2.0 (see LICENSE; dataset credit in NOTICE). The code is LGPL-3.0. Cite the software through the CITATION.cff in the GitHub repository and the architecture paper: