“Turbulence is the most important unsolved problem of classical physics.”
Field notes from a compressible multiphase CFD researcher
Top posts this week
…
Raising the time step 5x ran 1.9x faster; 10x ran no faster at all — the window implicit surface tension opens
Breaching the capillary time-step constraint leaves other ceilings standing. Janodet et al. (2025) measured the stability limit and the speed-up optimum at a density ratio of 1000.
At acoustic CFL 10 the preconditioner multiplied the error by 100 every sweep — the one arrow a block preconditioner throws away
Block Gauss-Seidel discards a pressure-velocity feedback whose gain is exactly the acoustic CFL squared. A 1D acoustic model measures the cost.
Pushing the cell Péclet number to 2 drove the solution to -0.33 — where the energy to minimize disappeared
Advection breaks the symmetry of the stiffness matrix, and the minimum total potential energy principle goes with it. Here is the real cause of Galerkin oscillations and what stabilization buys instead.
The Coriolis Force Did Zero Work, Yet the Impeller Added 1800 J/kg — Energy in a Rotating Frame
What a rotating frame conserves is rothalpy, not total enthalpy. Here is why the Coriolis force never does work on the fluid, and where a pump's head actually comes from, checked numerically.
I Dropped the −1/2 and the Viscosity Came Back Six Times Too Large — the Δt/2 Left Behind by LBM's Discretisation
One trapezoidal integration and one change of variables leave a Δt/2 in three separate places: the viscosity, the velocity, and the stress. A scalar ODE and a D2Q9 lattice measure all three.
The Kinked String Was Fine, the Cut String Overshot by 9% — How the 1747 Wave-Equation Fight Ended Numerically
d'Alembert's travelling waves and Bernoulli's sine series are the same solution, until you truncate. Code shows where the 9% overshoot comes from and why smoothness decides.
Three at a wall, five at a corner — counting the populations an LBM boundary node loses
After streaming, the number of empty populations at a lattice-Boltzmann node equals the number of solid cells around it: three on a flat wall, five in a concave corner, one on a convex corner.
Halving the mesh made the blow-up arrive twice as fast — complex eigenvalues in the 6-equation two-fluid model
The single-pressure six-equation two-fluid model turns complex the moment the phases slip past each other. Raising the interfacial-pressure coefficient past exactly 1.0 puts the eigenvalues back on the real axis.
I Plugged in Pressure Directly and a Still Interface Started to Shiver — Two Forms of Nonideal LBM Forcing
When a van der Waals fluid is solved with lattice Boltzmann, putting pressure p in the force term versus chemical potential mu agrees in the continuum but splits on the lattice.
Sending the smoke down 1 m cost 7 Pa of draft — Franklin's stove and the buoyancy budget
The chimney top never moves, yet one descending leg breaks the draft. We write out the buoyancy ledger, then find the fire temperature at which smoke spills into the room.
One Fewer Quadrature Point and the Solution Blew Up — DG's Integration Floor and the Taylor Basis
The minimum number of Gauss points in a DG cell integral is set by the degree of the integrand, not by the mesh. Going from three points to two changes nothing; going to one destroys the scheme.
The Shock Never Left the Starting Line — Where Conservative and Primitive Forms Split
Writing the same equation as a flux divergence or as a velocity times a gradient changes the shock speed you compute. Refining the grid eight-fold converges to the wrong answer.