← Search

Data · dataset · 2026

Experimental dataset of Kolmogorov-scale fiber kinematics in turbulent channel flow

Listed in TU Wien Research Data

Description

KOLMOGOROV-SCALE FIBER TRAJECTORIES IN TURBULENT CHANNEL FLOW ============================================================= Per-fiber Lagrangian trajectories (position, velocity, acceleration, orientation, angular velocity) of rigid Kolmogorov-scale fibers in a turbulent channel flow, at three friction Reynolds numbers. Each fiber is stored both raw (measured) and filtered (translation and rotation filtered separately).

The files contain trajectories only; example loaders that rebuild the y+ profiles are included. Dataset version 1.0. CONTENTS -------- Re_tau=180 : near_wall, intermediate, center Re_tau=360 : near_wall, intermediate, center Re_tau=720 : near_wall, center (no intermediate region) Per region: <Re_tau_###>/<region>/fiber_trajectories_Re###_<region>.h5 Per case: fiber_trajectories_Re###_datadictionary.json (field/units description) LoadHDF5_Re_tau_###.py , LoadHDF5_Re_tau_###.m (example loaders) Each region is an independent volumetric acquisition, with its own friction velocity and viscous scales; always use the wall scales stored in the file you are reading.

Read the rest (11 more)

FILE LAYOUT (HDF5) ------------------ Ragged/columnar: within each group all fibers' samples are concatenated. Every group also carries two bookkeeping datasets to slice a single fiber: index int64 (nFiber x 3) = [fiber_id, start0, count], start0 is 0-based fiber_id int64, the fiber id of each sample There is also a root dataset /fiber_id listing all fiber ids. Missing values are NaN.

Time is redundant with the frame index: time = (frame-1)*dt. /raw frame, time, pos[mm], e1, e2, e3, curvature_kk0, length_mm (measured, unfiltered) /filtered_translation frame, time, pos[mm], vel[mm/s], acc[mm/s^2], tau_f_sec[s] (Mordant filter) /filtered_rotation frame, time, e1_filt, e2_filt, e3_filt, omega_body[rad/s], wall_distance[mm], tau_f_sec[s] (SO(3) SG filter) /wall_scales u_tau[m/s], viscous_length[m], viscous_time[s], Re_tau, Temperature[degC] The wall distance is column 2 of pos (see CONVENTIONS), so it is not stored separately in /raw or /filtered_translation. /filtered_rotation has no position, so it keeps wall_distance: the measured wall distance at that frame.

COMPLETENESS ------------ /raw holds every sample of every selected fiber. The two filtered groups are subsets: filtering consumes samples at both ends of a trajectory, so a fiber whose valid runs were shorter than the filter support has count = 0 in that group's index and appears in /raw only. Root attributes n_fibers, n_fibers_with_translation, n_fibers_with_rotation, n_fibers_raw_only and the n_samples_* counts summarise this per region.

CONVENTIONS ----------- Axes: x = streamwise, y = wall-normal, z = spanwise. The frame is right-handed. +x points along the mean flow, so the streamwise position increases with time. y is the distance from the nearest wall in mm, always >= 0 and increasing away from the wall; it is therefore column 2 of pos, in both /raw (measured value) and /filtered_translation (filtered value). The x and z origins are arbitrary. pos/vel/acc columns = [streamwise, wall_normal, spanwise]. omega_body = [spin(e1), tumble(e2), tumble(e3)], in the fiber body frame, and therefore independent of the lab-frame axis convention above.

Orientation: e1, e2, e3 are the body axes expressed in the lab frame and are the COLUMNS of the rotation matrix, det(R) = +1. In /raw they are the measured axes; in /filtered_rotation they are the filtered ones, stored as e1_filt, e2_filt, e3_filt. Rebuild the matrix as R(:,:,k) = [e1_filt(k,:)' e2_filt(k,:)' e3_filt(k,:)'] (MATLAB) R = np.column_stack([e1[k], e2[k], e3[k]]) (Python) and the lab-frame angular velocity, if needed, as omega_lab = R*omega_body.

ARRAY ORDER ----------- The files are written from MATLAB. MATLAB reverses dimension order on disk, so h5py reports the transposed shape: an (N,3) array such as pos, vel, acc, omega_body or a body axis is read back with shape (3,N), and the (nFiber,3) index as (3,nFiber). The included Python loader handles this.

HOW TO RUN ---------- Python (needs numpy, h5py, matplotlib). The loaders were written and tested with Python 3.12.0 and the package versions pinned in requirements.txt (h5py 3.16.0, numpy 2.5.1, matplotlib 3.11.0). To reproduce that environment: python -m pip install -r requirements.txt set DATA_DIR at the top of the script, then run interactively so the loaded variables stay available: python -i LoadHDF5_Re_tau_180.py (or LoadHDF5_Re_tau_360.py / LoadHDF5_Re_tau_720.py) (plain "python LoadHDF5_Re_tau_180.py" runs to the end but then exits and the variables are not saved in memory -- use -i.) MATLAB: set DATA_DIR at the top of LoadHDF5_Re_tau_###.m and press Run.

The MATLAB loaders and the processing scripts were written and tested with MATLAB R2024b. Both leave in memory: DATA (case, Re_tau, regions), PROFILES (y+ statistics computed from the trajectories), and one variable per region (near_wall, intermediate, center) holding per-fiber arrays, one column per fiber, NaN-padded to the longest fiber: .raw_data pos, e1, e2, e3 (nSamp x nFib x 3); curvature, length_mm, frame, time, wall_mm (nSamp x nFib) .translation_filtered pos, vel, acc (nSamp x nFib x 3); tau_f, frame, time, wall_mm (nSamp x nFib) .rotation_filtered e1, e2, e3, omega_body (nSamp x nFib x 3); tau_f, frame, time, wall_mm (nSamp x nFib) wall_mm is provided by the loaders for convenience and is column 2 of pos in the two groups that have a position.

Each group also carries fiber_ids (nFib), the fiber id of each column, so a fiber can be followed across groups. The y+ profiles in PROFILES are computed by the loaders from the trajectories, as an example of use; they are not stored in the files. Edit compute_profiles() to change the binning or add quantities.

LICENSE ------- The dataset is released under the Creative Commons Attribution 4.0 International license (CC-BY-4.0). creativecommons.org/licenses/by/4.0/ The accompanying codes (the MATLAB processing scripts and the MATLAB and Python loading scripts) are released under the MIT License, provided in LICENSE-CODE.txt. opensource.org/licenses/MIT HOW TO CITE ----------- Please cite both the paper accompanying this dataset and the related paper below. 1) Accompanying paper (dataset descriptor): @article{ColibanFiberDataset, title = {Experimental dataset of Kolmogorov-scale fiber kinematics in turbulent channel flow}, author = {Coliban, Eliza and Zaza, Domenico and Soldati, Alfredo}, journal = {Scientific Data}, year = {2026}, note = {submitted} } 2) Related paper: @article{kcmw-5dph, title = {Angular Velocity of Kolmogorov-Scale Fibers as Proxy for Turbulent Dissipation}, author = {Zaza, Domenico and Giurgiu, Vlad and Iovieno, Michele and Soldati, Alfredo}, journal = {Phys.

Rev. Lett.}, volume = {136}, issue = {5}, pages = {054001}, year = {2026}, month = {Feb}, publisher = {American Physical Society}, doi = {10.1103/kcmw-5dph}, url = {link.aps.org/doi/10.1103/kcmw-5dph} }

Links

Where it is published

Catalogue records · 1

Topics

From keywords
Physics
Provenance · 1 source records, 13 field assertions
SourceKeyLast seenRaw
TU Wien Research Dataamgkr-eak9313 d agoJSON v1
FieldAssertionExtractorEvidence
access_levelsource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
concepts[field].local:field:physicsmapping · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
concepts[topic].invenio_subject:researchdata_tuwien_ac_at:experimental-fluid-mechanicssource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
concepts[topic].invenio_subject:researchdata_tuwien_ac_at:fiber-kinematicssource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
concepts[topic].invenio_subject:researchdata_tuwien_ac_at:three-dimensional-particle-trackingsource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
concepts[topic].invenio_subject:researchdata_tuwien_ac_at:turbulent-channel-flowsource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
concepts[topic].invenio_subject:researchdata_tuwien_ac_at:wall-bounded-turbulencesource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
descriptionsource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0/metadata/description
licensesource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
publication_datesource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
titlesource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0/metadata/title
updated_datesource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0
version_labelsource · researchdata tuwien ac atconnector:researchdata_tuwien_ac_at@1.0.0