加载中…
加载中…
A trained Transolver 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 | 0.131% | 0.37% (Transolver paper) |
| Surf | 0.046% | 1.42% |
| C_L relative error | 2.65% | 10.30% |
| Spearman ρ_L | 0.99959 | 0.9978 |
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.
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.
Transolver, 3,894,596 parameters (the paper's model: 3,893,572). Adam with the official one-cycle schedule, EMA of the weights (decay 0.9995), gradient clip 10, FP32 matmuls, 32,000 random nodes per case per step, 500 epochs, seed 0. EMA weights after the last epoch; nothing is chosen on held-out data. Training time: ~6.5 h on one NVIDIA RTX PRO 6000 Blackwell GPU.
Full setup: doc/benchmarks/airfrans/results/comparative.md.
hf download zenteiq-ai/scirex-transolver-airfrans --local-dir ckpt/scirex-transolver-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.
From a checkout of the GitHub repository at tag v1.0.0:
hf download zenteiq-ai/scirex-transolver-airfrans --local-dir ckpt/scirex-transolver-airfrans
python scripts/benchmarks/airfrans/infer.py \
--checkpoint ckpt/scirex-transolver-airfrans \
--run transolver \
--data-dir $DATA_ROOT/airfrans/Dataset
$DATA_ROOT is the folder that holds the benchmark datasets (see reproducibility.md).
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 |
|---|---|
| GINO | zenteiq-ai/scirex-gino-airfrans |
| WNO | zenteiq-ai/scirex-wno-airfrans |
Same model, other benchmarks:
| Benchmark | Repo |
|---|---|
| Darcy flow 2D (data-driven) | zenteiq-ai/scirex-transolver-darcy |
| Darcy flow 2D (physics-only, extra-fields run) | zenteiq-ai/scirex-transolver-darcy-physics-extra-fields |
| Pipe flow | zenteiq-ai/scirex-transolver-pipe |
| Navier-Stokes 2D | zenteiq-ai/scirex-transolver-navier-stokes |
| Chip cooling | zenteiq-ai/scirex-transolver-chip-cooling |
| Car-Design-ShapeNetCar | zenteiq-ai/scirex-transolver-shapenetcar |
| Car-CFD | zenteiq-ai/scirex-transolver-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: