A Python package for accessing and processing the Deep Drawing and Cutting Simulations (DDACS) Dataset. It includes a CLI for downloading datasets from DaRUS and a Python API for accessing simulation data with metadata.
Simulation with the tool geometries and various additional information like sheet metal thinning, stress and strain.
- Table of Contents
- Installation
- Download Dataset
- Basic Usage
- PyTorch Integration
- Citation
- Development
pip install ddacsFor PyTorch integration, install PyTorch first following the official instructions for your CUDA version.
Download the dataset using the ddacs CLI:
# Download full dataset (requires ~1TB storage)
ddacs download
# Download small test set for quick demos (requires ~50GB storage)
ddacs download --small
# Show dataset info and available versions
ddacs infoImportant: The full dataset is approximately 1TB in size. Ensure you have sufficient storage space. The download may take several hours depending on your internet connection.
Options:
| Flag | Description |
|---|---|
VERSION |
Dataset version to download (default: 2.0) |
--small |
Download small test set for demos |
--out ./path |
Custom output directory (default: ./data) |
--no-extract |
Skip extraction of zip files |
--keep-zip |
Keep zip files after extraction |
-y, --yes |
Skip confirmation prompt |
from ddacs import iter_ddacs, count_available_simulations
import h5py
import numpy as np
# Path to DDACS dataset
data_dir = "./data"
# Count available simulations
count = count_available_simulations(data_dir)
print(f"Available simulations: {count}")
# Iterate over samples (skip_missing=True for partial downloads)
for sim_id, metadata, h5_path in iter_ddacs(data_dir, skip_missing=True):
with h5py.File(h5_path, "r") as f:
displacement = np.array(f["OP10"]["blank"]["node_displacement"])
print(f"ID={sim_id}, shape={displacement.shape}")
breakfrom ddacs.pytorch import DDACSDataset
from torch.utils.data import DataLoader
# Path to DDACS dataset
data_dir = "./data"
dataset = DDACSDataset(data_dir)
dataloader = DataLoader(dataset, batch_size=4, shuffle=True)
for sim_ids, metadata_batch, h5_paths in dataloader:
# Your training code here
breakFor more examples, see the full documentation and notebooks/dataset_demo.ipynb.
If you use this dataset or code in your research, please cite both the dataset and the paper:
@dataset{baum2025ddacs,
title={Deep Drawing and Cutting Simulations Dataset},
subtitle={FEM Simulations of a deep drawn and cut dual phase steel part},
author={Baum, Sebastian and Heinzelmann, Pascal},
year={2025},
version={2.0},
publisher={DaRUS},
doi={10.18419/DARUS-4801},
license={CC BY 4.0},
url={https://doi.org/10.18419/DARUS-4801}
}
@article{heinzelmann2025benchmark,
title={A Comprehensive Benchmark Dataset for Sheet Metal Forming: Advancing Machine Learning and Surrogate Modelling in Process Simulations},
author={Heinzelmann, Pascal and Baum, Sebastian and Riedmüller, Kim Rouven and Liewald, Mathias and Weyrich, Michael},
journal={MATEC Web of Conferences},
volume={408},
year={2025},
pages={01090},
doi={10.1051/matecconf/202540801090},
url={https://www.matec-conferences.org/articles/matecconf/abs/2025/02/matecconf_iddrg2025_01090/matecconf_iddrg2025_01090.html}
}git clone https://github.com/BaumSebastian/DDACS.git
cd DDACS
pip install -e ".[dev]"
pre-commit install # Setup code formatting hooks
pytest # Run tests