Benchmark

The BubbleGym dataset

10,000 nonspherical bubble meshes, each with a boundary-element ground-truth resonant frequency and eight scale-invariant shape descriptors.

What it contains

Every entry is one closed triangle mesh of a single bubble, taken from a fluid simulation rather than generated analytically, so the shapes carry the dimples, tails and pinch points that real entrained bubbles have. Two solvers contributed them.

SourceBubblesWhat it is
VOF6,000 volume-of-fluid simulation
LBM4,000 lattice Boltzmann simulation, generally the more deformed shapes

Every mesh is rescaled to unit volume before anything is computed. That is what makes the frequencies comparable across the set: size is divided out, so what remains is the effect of shape alone. A unit-volume sphere sounds at 5.2926 Hz, and the benchmark spans 5.2937 to 7.1796 Hz, so the most deformed bubbles ring about 36 % sharp of the spherical prediction. To recover a physical frequency, scale by the cube root of the volume you want.

Downloads

The CSV names meshes but does not contain them. Download the archive only if you need the geometry itself; the descriptors and frequencies in the CSV are enough to reproduce every model and figure in the paper.

What is in the CSV

Nineteen columns, one row per bubble. Quantities are computed after the unit-volume rescaling.

ColumnMeaning
mesh_id, mesh_filename identity of the mesh in the archive; mesh_id carries the source folder, which matters because some stems occur under both sources
sourceVOF or LBM
surface_area, volume, M area, volume (1 by construction) and integrated mean curvature
W_vertex Willmore energy, from the cotangent Laplacian with mixed Voronoi vertex areas
V_hull, A_hull, M_hull the same three quantities for the convex hull
eta_V, eta_A, eta_M ratios of the bubble to its hull; these measure concavity, so a convex shape sits at 1
Phi_VM one of the three nonsphericity measures; the other two derive from the columns above
i00, i11, i22 principal moments of inertia; the model uses the two ratios i11/i00 and i22/i00
frequency the label. Resonant frequency in Hz from the Galerkin boundary-element solver
f_strasberg the analytic ellipsoidal-proxy prediction, for comparison

The eight model inputs are the two inertia ratios, the three nonsphericity measures and the three convex-hull ratios. All eight are dimensionless and invariant to scale and rotation, which is why one model covers every bubble size.

The meshes

Closed, watertight, oriented triangle meshes, one OBJ per bubble, laid out in VOF/ and LBM/ folders that match the mesh_id column.

VerticesTriangles
mean, whole set3,9597,914
median3,8667,727
range362 to 10,000
VOF alone3,1876,370
LBM alone5,11710,231
total39.6 M79.1 M

Resolution is the reason the two sources differ in cost as well as shape: the lattice Boltzmann bubbles carry roughly 60 % more triangles apiece. Meshes are stored at their simulation scale, and the pipeline rescales each to unit volume before computing descriptors, so re-deriving any column from the archive means applying that step first.

Using it

Reading the benchmark needs nothing beyond pandas. Reproducing the frequency column needs the mesh archive and a boundary-element solver.

import pandas as pd
df = pd.read_csv("dataset/bubble_gym/dataset_bubblegym_10k.csv")

The shape descriptors are computed by python/shape_feature/, the reference frequencies by python/bem/, and the trained models live in python/freq_model/ with their weights. The scene datasets beside this one, used for the figures, are described in the directory README, which also gives the trackedBubInfo file format.