ahmedml#
AhmedML dataset source for mesh pipelines.
Reads the AhmedML dataset — 500 geometric variations of the Ahmed Car Body with transient hybrid RANS-LES CFD (OpenFOAM v2212, ~20 M cells per case).
The dataset provides three mesh types per run:
boundary — surface mesh with flow fields (VTP, ~83 MB each)
volume — volumetric field data (VTU, ~5.6 GB each)
slices — x/y/z-normal slice planes with flow fields (VTP)
File discovery and caching are handled internally using fsspec.
Attributes#
Classes#
Read meshes from the AhmedML dataset on HuggingFace Hub. |
Module Contents#
- class physicsnemo_curator.domains.mesh.sources.ahmedml.AhmedMLSource(
- mesh_type: MeshType = 'boundary',
- url: str = _AHMEDML_HF_URL,
- storage_options: dict[str, object] | None = None,
- cache_storage: str | None = None,
- manifold_dim: int | Literal['auto'] = 'auto',
- point_source: Literal['vertices', 'cell_centroids'] = 'vertices',
- warn_on_lost_data: bool = True,
Bases:
physicsnemo_curator.core.base.Source[physicsnemo.mesh.Mesh]Read meshes from the AhmedML dataset on HuggingFace Hub.
Each index maps to one simulation run. The mesh_type parameter selects which mesh to load for each run:
"boundary"— surface mesh (VTP) with flow fields"volume"— volumetric mesh (VTU, single file per run)"slices"— x/y/z-normal slice planes (VTP); yields multiple meshes per index
- Parameters:
mesh_type ({"boundary", "volume", "slices"}) – Which mesh to read from each run directory.
url (str) – Base HuggingFace Hub URL. Override only for testing.
storage_options (dict[str, object] | None) – Extra
fsspeckeyword arguments (e.g.{"token": "hf_..."}).cache_storage (str | None) – Local cache directory.
None→ temporary directory.manifold_dim (int or {"auto"}) – Target manifold dimension for
from_pyvistaconversion.point_source ({"vertices", "cell_centroids"}) – Point source mode for
from_pyvistaconversion.warn_on_lost_data (bool) – Warn when data arrays are discarded during conversion.
Examples
>>> source = AhmedMLSource(mesh_type="boundary") >>> len(source) 500 >>> mesh = next(source[0])
>>> source = AhmedMLSource(mesh_type="slices") >>> for mesh in source[0]: ... print(mesh.n_points)
Note
Dataset: neashton/ahmedml
Paper: arXiv:2407.20801
License: CC-BY-SA-4.0
- classmethod params() list[physicsnemo_curator.core.base.Param]#
Return parameter descriptors for the AhmedML source.
- physicsnemo_curator.domains.mesh.sources.ahmedml.MeshType#