Skip to content

DDACS

License: MIT Python 3.10+ DaRUS Repository DOI

Simulation Overview

Simulation with tool geometries showing sheet metal thinning, stress and strain.

A large-scale dataset and benchmark for training AI models that replace computationally expensive FEA simulations in industrial sheet metal manufacturing. Each simulation models a two-stage stamping process (deep drawing in OP10 and cutting with elastic recovery in OP20) for a cup geometry parameterised by 8 input dimensions. Train ML surrogates that predict mesh deformation, stress, strain, and springback in seconds instead of the minutes-to-hours a CAE solver would take.

Simulations 32,466
Total size ~640 GB (HDF5, lossless)
Process steps per sim 2 (OP10 deep drawing, OP20 cutting)
Input parameters 8 (4 geometric + 4 process)
Train / val / test 25,973 / 3,246 / 3,247 (predefined)
Mesh-node states ~2.1 B across all sims, timesteps, components

The ddacs package ships with the dataset and provides a Croissant native interface: one CLI for the download, one Python module for access, and an optional PyTorch IterableDataset for training.

Get the data

pip install ddacs               # installation of package
ddacs download --small          # ~22 MB sample bundle into ./data

The package major version tracks the DaRUS dataset major version: ddacs 3.x reads dataset v3.0 and any future v3.x updates. See Version compatibility for the full pairing.

A first read

ddacs.open_h5(sim_id) opens one simulation and returns an h5py.File. The OP10 group carries the blank and the three tools (binder, die, punch); each has a node displacement tensor across the simulation timesteps.

import ddacs

sim_id = 258864                  # one simulation in the small sample bundle

with ddacs.open_h5(sim_id) as f:
    blank  = f["OP10/blank/node_displacement"][-1]    # (n_nodes, 3) at last timestep
    binder = f["OP10/binder/node_displacement"][-1]
    die    = f["OP10/die/node_displacement"][-1]
    punch  = f["OP10/punch/node_displacement"][-1]

print("nodes:", blank.shape[0], binder.shape[0], die.shape[0], punch.shape[0])
# nodes: 11236 146 2047 1104

For training the PyTorch tutorial wraps the same data in DDACSDataset. For a guided tour start with Getting Started.

Citation

@dataset{baum2025ddacs,
  title={Deep Drawing and Cutting Simulations Dataset},
  author={Baum, Sebastian and Heinzelmann, Pascal},
  year={2025},
  publisher={DaRUS},
  doi={10.18419/DARUS-4801}
}

@article{heinzelmann2025benchmark,
  title={A Comprehensive Benchmark Dataset for Sheet Metal Forming},
  author={Heinzelmann, Pascal and Baum, Sebastian and others},
  journal={MATEC Web of Conferences},
  volume={408},
  year={2025},
  doi={10.1051/matecconf/202540801090}
}