Problems
updated 2/10/2025
One of the key issues when simulating supersonic phenomena in Houdini is that the pyro solver operates under the assumption of incompressible airflow, relying on the Navier-Stokes equations to model fluid dynamics. This approach is computationally efficient and sufficient for many visual effects tasks. However, for supersonic simulations involving phenomena such as Mach rings, this default setting falls short of accurately representing the necessary compressibility effects, shock waves, and density fluctuations. As a result, relying on the default settings leads to simulations that lack the physical realism required for a convincing depiction of high-speed flows.

Density is used to drive the divergence field, with all options that affect the shape turned off. It will create a "high-pressure" area that keeps pushing the air mess.

Simulation with Velocity Field visualized
Dense with 2 substeps
Sparse with 2 substeps
Minimal OpenCL with 2 substeps
Due to the incompressibility of the gas in Pyro, the high-pressure gas mass does not expand and cling to the nozzle as it should when passing through the throat of the Laval nozzle but instead sprays out in a straight line, which is pretty obvious in the Velocity Field visualization.

De Laval Nozzle Houdini Pyro

So, the first step is to expand the fluid along with the density expansion. However, if we just use density as divergence, the divergence field won't be updated frame by frame; it will use the density of the creation frame. Below is a flipbook of a density only driven by upward wind and divergence.
divergence
density
speed
Only a particular area has divergence, and it's not being affected, which is very isolated and unrealistic. While importing the simulated density back into Dopnet and using it as a Source Volume to drive divergence, it will give a more reasonable output.

pyro layout
divergence
density
speed
The velocity field and the divergence field are affected by the wind. The divergence is dynamic and gradient, creating the impression of the gas interacting with the surrounding air.
This experiment demonstrates the possibility of using a density-driven divergence field to create gas movement caused by air pressure.