windsorml#
WindsorML dataset source for mesh pipelines.
Reads the WindsorML dataset — 355 geometric variants of the Windsor body for automotive aerodynamics (Volcano Platforms GPU-native solver, ~280-300 M cells).
The dataset provides two mesh types per run:
boundary — surface mesh with flow fields (VTU, ~406 MB each)
volume — volumetric field data (VTU, ~21 GB each)
Note
WindsorML does not provide slice plane meshes (only images).
File discovery and caching are handled internally using fsspec.
Attributes#
Classes#
Read meshes from the WindsorML dataset on HuggingFace Hub. |
Module Contents#
- class physicsnemo_curator.domains.mesh.sources.windsorml.WindsorMLSource(
- mesh_type: MeshType = 'boundary',
- url: str = _WINDSORML_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 WindsorML 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 (VTU) with flow fields"volume"— volumetric mesh (VTU)
Note
WindsorML runs are indexed starting from 0 (
run_0throughrun_354). Slice plane meshes are not available in this dataset (only images).- Parameters:
mesh_type ({"boundary", "volume"}) – 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 = WindsorMLSource(mesh_type="boundary") >>> len(source) 355 >>> mesh = next(source[0])
Note
Dataset: neashton/windsorml
Paper: arXiv:2407.19320
License: CC-BY-SA-4.0
- classmethod params() list[physicsnemo_curator.core.base.Param]#
Return parameter descriptors for the WindsorML source.
- physicsnemo_curator.domains.mesh.sources.windsorml.MeshType#