A 13,000-parameter neural network predicting drag and pressure coefficients from
classic similitude groups.
Predicts drag coefficient (Cd) and pressure coefficient (Cp) from the classic
dimensionless similitude groups [Reynolds, Froude, Mach]. Trained as part of Cluster 1
of the Scientific AI Cluster Orchestration Framework, a neuro-symbolic pipeline that
pairs this network with an exact Buckingham Π theorem solver and automatic physical
safety audits — see the live demo at
dave1368/cluster-01-dimensional-analysis.
Status: Proof of Concept. Trained on synthetic labels from published correlations,
not real wind-tunnel or CFD data. See Limitations before using this for anything
beyond demonstrating the architecture pattern.
modeling.py in this repo is a self-contained copy of the architecture — you don't need
the full orchestration framework to use the checkpoint.
Training data: real correlations, not invented numbers
There's no experimental Cd/Cp dataset in the source project, so labels come from two
established, citable fluid-mechanics results instead of synthesized numbers:
Cd(Re): Morrison, F.A. (2013), "Data Correlation for Drag Coefficient for
Sphere," Michigan Technological University — a single smooth analytic fit valid
across the full Re ∈ [10, 10⁶] range, including the drag-crisis dip near
Re ≈ 3×10⁵ where the sphere's boundary layer transitions from laminar to turbulent
and Cd falls sharply (~0.41 → ~0.09) in under half a decade of Reynolds number.
Cp(Mach): the classical Prandtl-Glauert subsonic compressibility correction for
stagnation pressure coefficient, capped at Mach 0.7 to stay clear of the transonic
singularity.
Froude number is included as an input (matching the live app's calling convention) but
the labels deliberately don't vary with it — a submerged bluff body's drag has no
standard Froude dependence; that's a free-surface/wave-resistance effect a different
variable bank would be needed to model. Documented, not hidden.
Training curve
Epoch
Train loss (MSE)
Val loss (MSE)
1
1.149
1.053
100
0.0889
0.0896
500
0.00329
0.00341
1000
0.00153
0.00154
2000
0.00262*
0.00331*
3000
0.00122
0.00122
* transient bump mid-training, recovered by the next checkpoint — normal optimization
noise, not divergence. Full per-epoch history in training_metrics.json.
Pointwise accuracy against the true Morrison correlation: good in the smooth region
(Re=50: 1.9% error, Re=500: 3.2%, Re=5,000: 5.8%), weaker in the drag-crisis window
(Re=5×10⁵: ~30%) — an honest limitation of a small MLP on a sharp, narrow feature, not
swept under the rug.
Validated against the classical papers this cluster is built on
Training against Morrison's modern correlation only proves the network can fit that
correlation. Before publishing, both halves of the pipeline (the exact symbolic solver
and this trained network) were separately checked against the actual historical papers
Cluster 1 cites — Galileo (1638), Newton (1687), Buckingham (1914) — as an independent
sanity check, not just a self-consistency test.
1. Symbolic half vs. Buckingham (1914) — exact match. Buckingham's paper, "On
Physically Similar Systems; Illustrations of the Use of Dimensional Equations"
(Physical Review 4(4):345–376, 1914), explicitly analyzes ship-model resistance
scaling using dimensionless groups built from velocity, fluid density, a
characteristic length, and viscosity — precisely the four variables in this cluster's
DRAG_VARIABLE_BANK. Feeding the same dimensional matrix into the project's exact
Buckingham-Π solver reproduces Buckingham's own Reynolds-number grouping exactly:
DRAG_VARIABLE_BANK = [velocity, density, length, viscosity]
Dimensional matrix [M,L,T]: [[0,1,-1], [1,-3,0], [0,1,0], [1,-1,-1]]
Derived Pi-group exponents: [1.0, 1.0, 1.0, -1.0] -> Re = v * rho * l / mu
(Buckingham's own worked example also includes a Froude/gravity term for
wave-making resistance — omitted here since gravity isn't in this reduced 4-variable
bank, which is exactly why Froude number has no learned effect on this model's labels;
see Limitations below.)
2. Trained half vs. Newton (1687) — a genuine independent cross-check, not
circular. This network's only training signal was Morrison (2013)'s modern
correlation; it never saw Newton's number or the "Cd is roughly flat here" fact.
Newton's Principia (1687), Book II, analyzes sphere resistance via an
inertial-collision model, and his own reported experimental measurement (Cd ≈ 0.5) is
textbook-documented as being in good agreement with the modern "Newton drag
regime": for Re ∈ [1000, ~2–3×10⁵], a smooth sphere's Cd is nearly constant, commonly
cited at ~0.44–0.46 (range ~0.38–0.50 across sources), before the drag-crisis dip.
Sweeping the trained model across that exact window:
Re
Predicted Cd
Inside textbook band [0.38, 0.50]?
1,000
0.4932
Yes
5,000
0.3889
Yes
10,000
0.3791
No (0.0009 under)
30,000
0.4339
Yes
60,000
0.4595
Yes
100,000
0.4359
Yes
150,000
0.3861
Yes
200,000
0.3357
No
6 of 8 points land inside the band. Mean predicted Cd across the sweep = 0.414,
within 0.086 of Newton's own 337-year-old measured value and close to the modern
textbook average. Neither miss is random noise: Re=10,000 falls just 0.0009 under the
line, and Re=200,000 sits right at the onset of the drag-crisis window this model was
specifically trained to resolve — Cd dropping there is correct relative to the
modern Morrison correlation, it just falls outside the simplified historical band.
This is the kind of check worth doing before trusting any trained scientific model:
does it independently reproduce a result it was never shown, not just the one it was
trained to reproduce.
Limitations
Synthetic training labels. Drawn from published closed-form correlations, not
measured wind-tunnel or CFD data — treat predictions as illustrative, not measured
quantities you'd design hardware around.
Drag-crisis region remains the weakest fit. Treat Cd predictions near
Re ≈ 3×10⁵ as directional, not precise.
Froude number has no learned effect, by design — see "Training data" above.
No held-out real-world validation set — validation loss here is against the same
synthetic-correlation distribution as training, not independent measured data.
Part of a larger framework
This is one of 9 clusters in the Scientific AI Cluster Orchestration Framework,
each pairing a small trained neural surrogate with an exact symbolic baseline and its
own physics-grounded safety audits (dimensional homogeneity and similitude checks, in
this cluster's case). See the Space
for the full interactive pipeline this checkpoint powers.
Foundational references: Galileo (1638), Newton (1687), Buckingham (1914),
Morrison (2013).