[Paper Review] A Droplet Sends Almost Every Sound Wave Back — Acoustic Impedance and a Sharp-Interface Two-Phase Solver
Why a liquid-gas interface reflects 99.9% of an acoustic wave, and the fake sound speed a smeared interface invents
A diver cannot hear you shouting from the poolside. Only about 0.1% of the acoustic energy makes it through the water surface. The rest goes straight back into the sky.
The same number shows up inside a compressible two-phase solver. Float a water droplet in air, send an acoustic wave at it, and on the computational grid too, 99.9% of that wave turns around at the interface. Handling that contrast numerically is the real difficulty in compressible simulations that contain a liquid.
Paper: A. Urbano, M. Bibal, S. Tanguy, A semi implicit compressible solver for two-phase flows of real fluids, Journal of Computational Physics (2022). ISAE-SUPAERO / IMFT. Level set + ghost fluid sharp interface, primitive-variable semi-implicit projection method, van der Waals equation of state.
Add a Liquid and the Acoustic Time Step Dies First#
Solve compressible two-phase flow fully explicitly and the time step is chained to the acoustic CFL condition.
Here is the speed of sound and the cell size. The trouble is that differs by phase. Air carries sound at 347 m/s, water at 1500 m/s. A single cell of liquid squeezes the global time step by more than a factor of four.
Meanwhile, the material inside the liquid is moving at something like 1 m/s. In Mach number terms (ratio of flow speed to sound speed), that is . The phenomenon you actually want to watch is the interface deforming, but the time step is set by sound waves nobody is looking at.
The classic escape route was a mixed approach: compressible gas, incompressible liquid. That frees the time step but deletes acoustic propagation inside the liquid. The very question — how does a droplet respond to sound — disappears with it.
This paper splits the equations into an advection part and an acoustic part instead. Advection goes explicit, acoustics go implicit through a projection method. What remains is this.
is convection, is viscosity, and is surface tension. There is no anywhere.
What Is Continuous Across the Interface, and What Is Not#
A sharp interface means treating as a surface of zero thickness and imposing the conditions that must hold on it directly. The paper uses three.
is the jump across the interface, is surface tension, the curvature, the viscosity, the thermal conductivity. Velocity is continuous, pressure jumps by the capillary contribution, heat flux is continuous. No mass transfer is assumed, so temperature is continuous too ().
The thing worth noticing is that density is not on the list. Density is set by each phase's own equation of state. Nothing averages it near the interface, so no intermediate state that neither material possesses is ever created. That closes off the fake-sound-speed problem we get to next.
The closure is a cubic equation of state.
The coefficients depend on pressure, temperature, and species properties. van der Waals, Peng-Robinson, and Redlich-Soave-Kwong all have this form. One expression covers both a gaseous state and a liquid state, which is the whole reason for the choice. The perfect gas law cannot describe a liquid, and the Tait equation cannot describe a gas.
One Number, Impedance, Decides the Reflection#
How a wave splits at the interface comes down to a single, surprisingly simple quantity: the acoustic impedance.
For a wave going from medium 1 into medium 2, the pressure reflection and transmission coefficients are these.
is the reflected pressure amplitude ratio, the transmitted one. Not density alone, not sound speed alone — only the product matters.
Plug in air and water. and , a ratio of 3600. That gives , so 99.89% of the energy comes back. And — the pressure at the interface nearly doubles.
Play with the simulation below.
What to watch: set medium 1 = air, medium 2 = water. The yellow pressure pulse comes back almost intact and nearly doubles at the interface (T = 1.998), while the cyan velocity pulse flips sign and the liquid barely moves. Now press medium 2 = air — R collapses to 0 and the pulse walks straight through. Only the ratio Z₂/Z₁ matters: slide ρ₂ down and c₂ up so that the product stays put, and the picture does not change at all.
Two things to watch. Set medium 2 to water: the yellow pressure pulse returns nearly intact while spiking to double amplitude at the interface. The cyan velocity pulse flips sign, and its amplitude on the liquid side collapses to around . Double the pressure, zero velocity — the interface is behaving like a wall. Then slide down while sliding up by the same factor: the picture does not change at all, because only the product counts.
A Smeared Interface Invents a Sound Speed That Does Not Exist#
Now let the interface spread over a few cells, which is what any diffuse-interface method lives with.
When one cell holds both gas and liquid, its density and its compressibility average like this.
is the gas volume fraction and the subscripts / mean gas and liquid. This is Wood's relation. The combination is nasty because the mixture is as soft as the gas while being as heavy as the liquid.
Put in and you get m/s. That is one-fourteenth of air and one-sixtieth of water. No material in the problem carries a signal at that speed. The number is a byproduct of averaging, not physics.
What to watch: at n = 0 the two lanes are the same run. Pull n up to 8 cells — a width any capturing scheme reaches within a few hundred steps — and the cyan curve digs a hole down to ~24 m/s that neither material has, so the smeared signal falls behind and arrives late. Drop ρ_liquid and the hole fills in: the dip is driven by the density ratio, not by the sound speeds. The yellow line is the bill an explicit solver pays for that hole.
Push n from 0 up to 8 cells — a thickness any capturing scheme reaches within a few hundred steps. The cyan curve digs a valley that belongs to neither material, and in the race below, the smeared signal stalls right there. Lower and the valley fills back in: it is the density contrast, not the sound-speed contrast, that builds this trap.
There is a side effect on the time step too. An explicit solver has to respect in that valley cell. Smearing tightens the CFL condition.
The Price of Solving in Primitive Variables#
The debatable part of the paper's formulation is the decision to solve for primitive variables rather than conservative ones . The energy equation gets rewritten as a pressure equation.
Two things are gained. First, the pressure the equation of state returns and the pressure the semi-implicit correction computes agree at every step. In conservative-variable formulations these two are known to drift apart. Second, the heat conduction term can be treated implicitly. For low-Mach problems where heat is the main actor, such as natural convection, that is a large difference.
What is lost is equally clear: total energy conservation degrades. So the solver limits itself to subsonic flows by design. If you plan to capture shocks, use a different formulation.
Positivity of the pressure is not guaranteed either. The authors read that as room rather than as a defect. Metastable liquids in cavitating flows really do sit at negative pressure, and an equation of state like van der Waals can assign positive temperatures to negative pressures.
Checking the Reflection and Wood's Speed in Python#
Let's print the numbers behind both figures.
# Reflection/transmission at an air-water interface, and Wood's mixture sound speed
from math import sqrt
AIR = (1.2, 347.0) # (rho, c)
WATER = (998.0, 1500.0)
def impedance_split(m1, m2):
z1, z2 = m1[0] * m1[1], m2[0] * m2[1]
R = (z2 - z1) / (z2 + z1)
return z1, z2, R, 1.0 + R, R * R
def wood_speed(alpha, gas=AIR, liq=WATER):
rho_m = alpha * gas[0] + (1.0 - alpha) * liq[0]
inv = alpha / (gas[0] * gas[1] ** 2) + (1.0 - alpha) / (liq[0] * liq[1] ** 2)
return 1.0 / sqrt(rho_m * inv)
z1, z2, R, T, E = impedance_split(AIR, WATER)
print(f"Z_air = {z1:8.1f} Z_water = {z2:10.1f} Z2/Z1 = {z2/z1:6.0f}")
print(f"R = {R:.5f} T = 1+R = {T:.5f} reflected energy = {100*E:.3f} %")
print(f"velocity amp in water / incident = {(z1/z2)*T:.3e}")
print("\nalpha c_wood [m/s]")
for a in (0.0, 0.01, 0.1, 0.5, 0.9, 0.99, 1.0):
print(f"{a:5.2f} {wood_speed(a):8.1f}")Z_air = 416.4 Z_water = 1497000.0 Z2/Z1 = 3595
R = 0.99944 T = 1+R = 1.99944 reflected energy = 99.889 %
velocity amp in water / incident = 5.562e-04
alpha c_wood [m/s]
0.00 1500.0
0.01 120.5
0.10 40.1
0.50 24.0
0.90 39.9
0.99 114.3
1.00 347.0Look at the row. Just 1% of bubbles in water drops the sound speed from 1500 to 120 m/s. That is the value measured in bubbly water, and it is also what your grid starts seeing the moment the interface smears by a single cell.
A Droplet in a Standing Wave — the Paper's Closing Test#
The final test case puts a 1 mm water droplet in a cylindrical cavity of height mm and drives the upper boundary with a pressure oscillation.
with and kHz, the cavity's first acoustic mode. is 2% of , that is 2026 Pa. Gravity is set to zero.
Once the standing wave sets in, a pressure node sits at . A pressure node is a velocity antinode, and the velocity amplitude there follows straight from the impedance.
The droplet sits in the middle of that oscillating velocity field. Pressure propagates inside the liquid too, and the initial circular drop holds a constant Laplace pressure difference of Pa. The gap between those two numbers governs the outcome: the acoustic disturbance is 2026 Pa, while surface tension is only defending 116 Pa. Each period stretches and squeezes the drop along the axis, and at large enough amplitude that ends in breakup.
Notice why this case needs the formulation above. Make the liquid incompressible and the pressure wave inside the drop vanishes. Let the interface smear and a 24 m/s fake sound speed in the nearby cells shifts where the node sits. A sharp interface with both phases compressible is what produces this picture.
Three Things to Remember#
- The fate of a wave at an interface is decided by alone. Air and water differ by a factor of 3600, so 99.9% of the energy reflects, the interface pressure doubles, and the velocity on the liquid side is effectively zero.
- Smear the interface over a few cells and Wood's sound speed drops to 24 m/s. That value belongs to neither material, and it wrecks both the wave arrival time and the explicit CFL limit. A sharp interface removes the problem at the source.
- Explicit advection plus implicit acoustics through a projection method takes out of the time step. The price is weaker total energy conservation in a primitive-variable formulation, which is why the applicable range stops at subsonic.
Share if you found it helpful.