Translated from the author's Korean original. Read the original (한국어)
From the Riemann Problem to Godunov's Scheme - The Essence of Numerical Flux
Drop the contact and HLL is enough. Keep the contact, and the flux needs the middle wave speed S* from HLLC.
The Riemann Problem: The Heart of CFD#
In the Finite Volume Method (FVM), accuracy and stability hang on the numerical flux at a cell face. The key is a Riemann problem: two constant states, one jump.
Push the pressure-ratio slider from near 1 toward 1000:1 and both outer waves switch from rarefaction to shock.
x–t 다이어그램에서 좌·우로 가는 파(shock 또는 rarefaction)와 가운데 접촉 불연속이 보인다. p_L > p_R이 충분히 크면 양쪽 모두 shock이 된다.
The contact in the middle stays put as the ratio grows. Both outer waves are shocks together only once the star pressure sits above the pressure on each side.
What is the Riemann Problem?#
The Riemann problem is an initial value problem where the initial conditions consist of two constant states separated by a single discontinuity:
For the 1D Euler equations, the analytical solution to this problem consists of three waves:
- Left-moving wave (rarefaction or shock)
- Contact discontinuity
- Right-moving wave (rarefaction or shock)
Godunov's Idea (1959)#
Godunov's key insight is simple yet powerful:
To find the flux at a cell boundary, treat the average values of the two adjacent cells as the left and right states and solve the Riemann problem.
The update formula for the Finite Volume Method:
where is the numerical flux determined from the solution to the Riemann problem.
Exact Riemann Solver#
An exact Riemann solver finds the pressure in the star region, , using the Newton-Raphson iterative method. Rankine-Hugoniot relations or isentropic relations are applied depending on the type of wave (shock or rarefaction).
Shock wave relation (, or ):
where and .
Rarefaction wave relation ():
satisfies the following condition:
The split is one comparison: against . If is above , that side is a shock. is the pressure jump times . , so a denser fluid changes speed less for the same pressure jump. fattens the denominator a little past . If is at or below , that side is a rarefaction. The factor grows with sound speed, and it grows again as nears 1. The pressure-ratio exponent is . Lower , smaller exponent, and cares less about the pressure ratio.
The two values plus have to sum to zero. If is below , fluid piles into the middle. Then is positive and is pushed above both side pressures. Both outer waves are shocks. The 1000:1 end of the slider is that limit. The low-side sits under the star pressure, so that stays on the shock branch. The high side can remain a rarefaction, depending on the ratio. Both sides are shocks only when the velocity difference closing on the contact is large enough. A cell treated as its own shock tube is the calculation in Godunov's shock tube inside one cell.
Approximate Riemann Solver: Why is it Needed?#
Exact solvers are expensive because they require iterative calculations. Most CFD codes use approximate Riemann solvers.
Roe Solver (1981)#
Roe linearizes the non-linear Riemann problem into a linear Riemann problem for the matrix :
The Roe average is used to construct :
Pros: Captures contact discontinuities accurately. Cons: Can violate entropy conditions (requires an entropy fix).
HLLC Solver (Toro, 1994)#
HLLC improves the HLL solver by restoring the contact discontinuity. It estimates three wave speeds: , , and :
Star region flux:
HLLC is easy to implement and robust, making it the most widely used in compressible multiphase flow codes.
AUSM+ (Liou, 1996)#
The AUSM family splits the flux into convective and pressure terms:
where is the mass flow rate at the cell boundary and is the convected quantity. It is stable even in low-Mach flows, making it easy to extend to all-speed schemes.
Extension to Multiphase Flows#
In multiphase flows, since the EOS on both sides of the interface are different, Riemann solvers must be generalized to multi-material versions.
Common approaches:
- Ghost Fluid Method: Constructs ghost cells for the fluid on the opposite side near the interface and solves independent single-material Riemann problems for each phase.
- HLLC for multi-material: Determines and by applying each EOS on both sides of the star region.
The next article compares interface capturing techniques (VOF, Level Set, Diffuse Interface).
Splitting advection from pressure once the flow is multiphase continues in TV splitting of the Baer–Nunziato flux.
Related
Share if you found it helpful.