Automotive · bluff-body aerodynamics
AhmedML
500 Ahmed-body geometries with time-averaged CFD outputs and deterministic benchmark splits.
- Domain
- Automotive
- Cases
- 500 geometries
- Method
- Hybrid RANS–LES
- Grid resolution
- About 20 million cells per case
- Stored size
- About 2 TB
- Licence
- CC BY-SA 4.0
01 · Overview
Dataset description
AhmedML comprises 500 parametrically varied Ahmed-body geometries simulated using a time-accurate hybrid RANS–LES workflow. The simplified geometry represents pressure-induced separation and three-dimensional vortical structures without the geometric complexity of a complete road vehicle.
Each case includes geometry, time-averaged surface and volume fields, force and moment coefficients, sampled slices and rendered images. Mesh-native polygon-area arrays are supplied alongside every boundary VTP for physically area-weighted surface metrics. The repository also contains the OpenFOAM setup and validation cases. These products support surrogate modelling, geometric learning, reduced-order modelling and reproducibility studies.
Official deterministic train, validation and test splits are provided for a random baseline, nested data-efficiency studies, geometry extrapolation, drag-regime extrapolation and image-derived wake-structure evaluation.
Potential research applications
Surrogate modelling of surface fields, volume fields or integrated coefficients.
Analysis of geometric effects on separated bluff-body flow.
Evaluation of mesh-, point-cloud- and graph-based learning methods.
Area-weighted evaluation of predictions on the native boundary polygons.
Reproduction or extension of the published OpenFOAM workflow.
02 · Contents
Available data products
| Data group | Description | Formats |
|---|---|---|
| Geometry | Parametric values, STL surfaces and the SolveSpace definition | CSV · STL · SLVS |
| Surface fields | Time-averaged boundary flow quantities | VTP |
| Surface quadrature | Polygon areas aligned with the native boundary CellData order | NPY |
| Volume fields | Three-dimensional time-averaged flow solution | VTU |
| Integrated data | Drag and lift coefficients with constant and varying reference areas | CSV |
| Derived views | Flow slices and rendered field images | VTP · PNG |
| Official benchmark splits | Deterministic case lists, split-construction metrics, scripts and methodology | JSON · CSV · Python · PDF |
Native boundary polygon areas
Each sidecar contains one little-endian float32 area in square metres per native boundary polygon, aligned with the polygon ID and CellData tuple order of the corresponding raw VTP.
| Property | Value |
|---|---|
| File pattern | run_N/boundary_cell_area_N.npy |
| Association | CellData · native polygons |
| Coverage | 500/500 cases |
| Units | m² |
| Sidecar payload | 2.14 GB |
03 · Official splits
Train, validation and test partitions
Eight deterministic split regimes are provided for standard benchmarking, data-efficiency studies and out-of-distribution evaluation. The committed JSON manifest is the source of truth for case membership.
Regimes and partition sizes
| Regime | Evaluation | Train | Validation | Test | Purpose |
|---|---|---|---|---|---|
full | In-distribution | 400 | 50 | 50 | Seed-42 random baseline |
medium | In-distribution | 133 | 50 | 50 | Data efficiency: one third of the full training set |
scarce | In-distribution | 67 | 50 | 50 | Data efficiency: one sixth of the full training set |
super_scarce | In-distribution | 11 | 50 | 50 | Extreme data-efficiency evaluation |
geometry | Out-of-distribution | 350 | 50 | 100 | STL-surface Chamfer geometry extrapolation |
high_drag | Out-of-distribution | 350 | 50 | 100 | High-drag coefficient extrapolation |
low_drag | Out-of-distribution | 350 | 50 | 100 | Low-drag coefficient extrapolation |
image_wake | Out-of-distribution | 350 | 50 | 100 | Image-derived wake-structure extrapolation |
Using the manifest
Download the JSON manifest and select the keys for the required regime. No split regeneration is required for standard benchmark use.
import json
from pathlib import Path
manifest = json.loads(Path("manifest.json").read_text())
train_ids = manifest["full_train"]
val_ids = manifest["full_val"]
test_ids = manifest["full_test"]
Manifest SHA-256 checksum
manifest.json e7ea57437f4197dca9a9de67cad7d383aa3f7b7905771ac91522099a50f53c70 04 · Data access
Repository access and file selection
The repositories are hosted on Hugging Face. The client can select individual data groups and estimate the transfer before files are retrieved.
pip install -U huggingface_hub hf_xet
hf auth login File selection
Select data groups
--dry-run enabled Estimate the complete repository
hf download neashton/ahmedml \
--type dataset \
--local-dir ./ahmedml_data \
--dry-run
05 · Citation
Citation and persistent identifiers
Users of AhmedML should cite the corresponding publication and include the dataset DOI where one is available.
@article{ashton2024ahmed,
title={AhmedML: High-Fidelity Computational Fluid Dynamics Dataset for Incompressible, Low-Speed Bluff Body Aerodynamics},
author={Ashton, Neil and Maddix, Danielle C. and Gundry, Samuel and Shabestari, Parisa M.},
journal={arXiv preprint arXiv:2407.20801},
year={2024},
url={https://arxiv.org/abs/2407.20801}
}
06 · Provenance
Provenance, licence and limitations
Contributors
- CFD workflow and simulation: Neil Ashton
- Geometry parameterisation: Samuel Gundry and Parisa Shabestari
- Machine-learning dataset guidance: Danielle Maddix
Licence
AhmedML is available under CC BY-SA 4.0. Review the repository licence before redistribution or adaptation.
Dataset catalogue