emmi.datasets.drivaerml

Classes

DrivAerMLStats

DrivAerMLDefaultSplitIDs

DrivAerMLDataset

Dataset implementation for DrivAerML that supports both local and AISTORE storage.

Module Contents

class emmi.datasets.drivaerml.DrivAerMLStats
raw_pos_min: tuple[float]
raw_pos_max: tuple[float] = (80.0,)
surface_pressure_mean: tuple[float]
surface_pressure_std: tuple[float] = (269.345,)
surface_wallshearstress_mean: tuple[float, float, float]
surface_wallshearstress_std: tuple[float, float, float] = (2.0767, 1.35628, 1.11426)
volume_totalpcoeff_mean: tuple[float] = (0.171387,)
volume_totalpcoeff_std: tuple[float] = (0.500826,)
volume_velocity_mean: tuple[float, float, float]
volume_velocity_std: tuple[float, float, float] = (16.4115, 8.63614, 6.64996)
volume_vorticity_mean: tuple[float, float, float] = (3.07268, 988.601, 3.49965)
volume_vorticity_std: tuple[float, float, float] = (126922.0, 97991.9, 117787.0)
volume_vorticity_logscale_mean: tuple[float, float, float]
volume_vorticity_logscale_std: tuple[float, float, float] = (5.45681, 5.77081, 5.46175)
volume_vorticity_magnitude_mean: float = 3767.93
volume_vorticity_magnitude_std: float = 198927.0
raw_pos_z_min: float = -0.31758
class emmi.datasets.drivaerml.DrivAerMLDefaultSplitIDs
train
val
test
hidden_test
static create_split(seed=42)

A helper function to create a random split of the dataset. The default indices were created with seed=42.

class emmi.datasets.drivaerml.DrivAerMLDataset(split, root=None, ais_bucket_name=None, ais_endpoint='http://compute-permanent-node-179:8080', **kwargs)

Bases: ksuit.data.Dataset

Dataset implementation for DrivAerML that supports both local and AISTORE storage.

Currently, supports the following properties: - position of car surface points and corresponding values for pressure and wall shear stress. - position of the volumetric cells with corresponding values for pressure, velocity and vorticity.

Parameters:
  • split (str) – Which split to use. “debug” will use all available “run_X” folders. “train”, “valid”, “test” will load the splits as specified in the “train_val_test_splits/{split}_design_ids.txt” file.

  • root (str | None) – path to the processed dataset, e.g. /nfs-gpu/simulation/data/drivaerml_processed/subsampled_10x.

  • ais_bucket_name (str | None) – The name of the ais bucket on oracle object storage, e.g. ‘emmi-drivaerml-subsampled-10x’.

  • ais_endpoint (str) – The endpoint (host) running the AISTORE instance.

Args: dataset_config_provider: Optional provider for dataset configuration. dataset_normalizers: A dictionary that contains normalization ComposePreProcess(ers) for each data type. The key for each normalizer can be used in the with_normalizers decorator.

is_using_ais
split
property default_split_ids: dict[str, list[int]]

Property to get the sorted split IDs for train, validation, and test sets, based on DEFAULT_SPLIT_*_IDS.

Return type:

dict[str, list[int]]

static get_normalization_stats()

Returns the normalization stats for the dataset. Exists for backwards compatibility with downstream repo, where collators use this.

Return type:

DrivAerMLStats

getitem_surface_position_vtp(idx)

Retrieves surface positions (num_surface_points, 3)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_surface_position_stl(idx)

Retrieves surface positions (num_surface_points, 3)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_surface_position_stl_resampled100k(idx)

Retrieves surface positions (num_surface_points, 3)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_surface_pressure(idx)

Retrieves surface pressures (num_surface_points, 1)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_surface_wallshearstress(idx)

Retrieves surface wallshearstress (num_surface_points, 3)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_volume_position(idx)

Retrieves volume position (num_volume_points, 3)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_volume_totalpcoeff(idx)

Retrieves volume pressures (num_volume_points, 1)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_volume_velocity(idx)

Retrieves volume velocity (num_volume_points, 3)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_volume_vorticity(idx)

Retrieves volume vorticity (num_volume_points, 3)

Parameters:

idx (int)

Return type:

torch.Tensor

getitem_volume_distance_to_surface(idx)

Retrieves distance to surface of volume points (num_volume_points, 1)

Parameters:

idx (int)

Return type:

torch.Tensor