“Your CFD mesh doesn’t need to copy the geometry. But it needs to look good.”
That sounds like heresy, so let me explain.
In hydraulic engineering, we simulate rivers, spillways, fish passages; structures whose geometry we know to a few centimeters at best. Survey data, as-built deviations, sediment on the bottom: the “true” wall position is already uncertain. And yet most meshing tools treat the CAD surface as sacred. They snap, wrap, and contort cells onto every ripple of the STL; and pay for that fidelity with skewed, non-orthogonal, twisted cells.
Here’s the thing: in 15 years of hydraulic CFD projects I have never lost meaningful accuracy to a wall that was a few millimeters off. But I have lost MY HAIR to meshes that diverged, or produced garbage, because of a handful of bad cells.
For my cases, I think the priority is inverted. Cell quality should be the constraint. Geometric fidelity should be the residual: the thing that absorbs the compromise when the two collide.
To test this idea properly, I built a mesh generator around it from scratch. Instead of snapping cells onto the surface, it cuts a perfect hexahedral mesh against the geometry and keeps every cell solver-friendly by construction. On a real fish-passage structure (1.4M cells), it produces a mesh with zero checkMesh errors and near-perfect layer coverage.
It’s a testbed for a thesis, not a finished product. In the next post I’ll show how it works, and eventually share the code.
If you disagree (especially if you work in aero or turbomachinery where the trade-off lands differently) I’d genuinely like to hear where this breaks down.