pub fn estimate_bullet_length_m(diameter_m: f64, mass_kg: f64) -> f64Expand description
Estimate a bullet’s length (meters) from its diameter and mass using a constant-effective-density cylinder model (MBA-1135).
Replaces the historical mass-blind diameter * 4.5 fallback: two bullets of the same caliber but
very different weights get very different lengths, which is what the Miller stability formula and
the enhanced spin-drift / Magnus models actually need.
Model: L = mass / (rho_eff * (pi/4) * d^2) with rho_eff = 7600 kg/m^3, then the length/diameter
ratio is clamped to [1.2, 6.5] calibers so pathological inputs stay physical without stretching
common handgun bullets to rifle-like proportions.
Returns 0.0 for non-physical inputs (mass_kg <= 0 or diameter_m <= 0); callers that need a
non-zero length should fall back to their historical literal in that case.