noether.data.datasets.cfd.shapenet_car

Submodules

Classes

ShapeNetCarDataset

Dataset implementation for ShapeNet Car CFD simulations.

ShapeNetCarDefaultSplitIDs

Default split IDs for ShapeNet Car dataset with validation.

Package Contents

class noether.data.datasets.cfd.shapenet_car.ShapeNetCarDataset(dataset_config)

Bases: noether.data.datasets.cfd.dataset.AeroDataset

Dataset implementation for ShapeNet Car CFD simulations.

This dataset provides access to: - Surface properties: positions, pressure, normals - Volume properties: positions, velocity, normals, signed distance field (SDF)

The dataset is split by parameter configurations: - Test: param0 (100 samples) - Validation: no validation split defined - Train: param1-8 (789 samples)

Download link to the raw dataset: http://www.nobuyuki-umetani.com/publication/mlcfd_data.zip

Expected directory structure:
root/
preprocessed/
param0/
<simulation_id>/

surface_points.pt surface_pressure.pt surface_normals.pt volume_velocity.pt volume_points.pt volume_sdf.pt volume_normals.pt

param1/

… param8/

Initialize the ShapeNet Car dataset.

Parameters:

dataset_config (noether.core.schemas.dataset.StandardDatasetConfig) – Configuration for the dataset.

Raises:
split
source_root: pathlib.Path
property get_dataset_splits: noether.core.schemas.dataset.DatasetSplitIDs
Return type:

noether.core.schemas.dataset.DatasetSplitIDs

sample_info(idx)

Get information about a sample such as its local path, run name, etc.

Parameters:

idx (int)

Return type:

dict[str, str | int | None]

class noether.data.datasets.cfd.shapenet_car.ShapeNetCarDefaultSplitIDs(/, **data)

Bases: noether.core.schemas.dataset.DatasetSplitIDs

Default split IDs for ShapeNet Car dataset with validation.

Following the Transolver paper convention:
  • param0 is used for test/validation set

  • param1-8 are used for training set

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

EXPECTED_TRAIN_SIZE = 789
EXPECTED_VAL_SIZE = 0
EXPECTED_TEST_SIZE = 100
DATASET_NAME = 'ShapeNet-Car'
train: set[str]
val: set[str]
test: set[str]