Controlled Cylinder¶
Active flow control via forced cylinder vibration, measured with time-resolved PIV and paired with matched CFD simulations.
Visualizations¶
Key stats¶
| Item | Value |
|---|---|
n_traj |
96 × 2 (paired real + numerical) |
n_frame |
3990 |
| \(\Delta t\) | \(2.5\times 10^{-3}\) s |
| Resolution (real) | 128×256 |
| Resolution (sim) | 64×128 |
| Modalities (real) | \(u,v\) |
| Modalities (sim) | \(u,v,p\) |
| Memory | 187.08 GB |
Note
We use n_traj = X × 2 to indicate paired trajectories: X real-world and X numerical trajectories for the same scenario.
Physical parameters¶
- Reynolds numbers: {1781, 2625, 3562, 4406, 5343, 6281, 7125, 8062, 9000, 9843}
- Control frequencies (forced vibration): 0.5–1.4 Hz (step 0.1 Hz)
HF Datasets format¶
This scenario is distributed as Hugging Face Datasets (Arrow) under controlled_cylinder/hf_dataset/ using a lazy-slicing architecture.
Data organization¶
real/— Arrow dataset containing complete real-world trajectoriesnumerical/— Arrow dataset containing complete numerical trajectories{train|val|test}_index_{real|numerical}.json— Index files defining splits
Schema (high level)¶
Each Arrow row stores one complete trajectory (all 3990 frames):
sim_id(string): trajectory identifier (e.g.,1781_0.5.h5)u,v(bytes): float32 arrays of shape(3990, H, W)— complete time seriesp(bytes; numerical only): float32 array(3990, H, W)vo(bytes): float32 array(3990, H, W)— vorticityx(bytes): float32 array(H, W)— spatial x-coordinate grid (time-invariant)y(bytes): float32 array(H, W)— spatial y-coordinate grid (time-invariant)t(bytes): float32 array(3990,)— time stampsshape_t(int): complete trajectory length (3990)shape_h,shape_w(int): spatial dimensions
Train/val/test splits are defined by the index JSON files, which map sample indices to (sim_id, time_id) pairs.
Eval splits & subsets¶
We provide two layers of splitting:
- Dataset split (
train/val/test): defined by{split}_index_{type}.jsonfiles. - Eval subset (
test_mode): an optional filter insideval/testto select trajectories by parameter regime.
The subset membership is defined by JSON mapping files (downloaded as "metadata"):
controlled_cylinder/in_dist_test_params_real.jsoncontrolled_cylinder/out_dist_test_params_real.jsoncontrolled_cylinder/remain_params_real.jsoncontrolled_cylinder/in_dist_test_params_numerical.jsoncontrolled_cylinder/out_dist_test_params_numerical.jsoncontrolled_cylinder/remain_params_numerical.json
How to interpret these files and test_mode:
in_dist: in-distribution parameter settings (held out for evaluation).out_dist: out-of-distribution / boundary parameter settings (OOD generalization).seen: parameter settings used for training (defined byremain_params_*).unseen: parameter settings not used for training (union ofin_dist+out_dist).
Download¶
See Getting Started for full setup. Quick commands: