JP | EN | ZH
TOPCFD / Fluid AnalysisMultiphase Flow

Multiphase Flow Analysis — Overview

When two or more phases share a flow domain, single-phase CFD breaks down. This guide covers the three dominant modeling strategies — VOF, Euler-Euler, and Euler-Lagrange — and when to use each one.

By NovaSolver Contributors (Anonymous Engineers & AI)  |  CFD / Fluid Analysis  |  日本語版 →

1. What is Multiphase Flow?

🧑‍🎓

I understand single-phase CFD for air or water, but what exactly counts as "multiphase flow"? Is it any mixture of fluids?

🎓

Multiphase flow means two or more distinct phases — with different densities, viscosities, and possibly chemistry — coexist and interact in the same flow domain. The phases can be gas-liquid (water waves, bubble columns), liquid-liquid (oil-water separation), or solid-fluid (sand transport, slurry pipelines). The key challenge is that the interface between phases moves, deforms, and possibly breaks up or merges — none of which standard single-fluid Navier-Stokes equations handle directly.

🧑‍🎓

So there must be different CFD methods depending on how the interface behaves? Like whether the bubbles are huge or tiny compared to the mesh?

🎓

Exactly right. If you have a sharp, large interface — like a dam break or a ship's bow wave — you track it explicitly with VOF. If you have millions of tiny bubbles smaller than your mesh cells, you treat both phases as interpenetrating continua with Euler-Euler. And if you have discrete particles few enough to track individually, Euler-Lagrange DPM is the right tool. Each method has a specific sweet spot determined by the size and number density of the dispersed phase.

2. Classification of Multiphase Flow Regimes

Flow RegimeDescriptionTypical ApplicationRecommended Method
Free surface / stratifiedSharp, large-scale interface between two immiscible fluidsShip waves, dam break, sloshingVOF
Bubbly flowSmall bubbles dispersed in continuous liquid; void fraction α < ~30%Bubble columns, aeration tanksEuler-Euler
Slug / churn flowIrregular large structures; intermediate regimeOffshore pipeline flowVOF or coupled
Spray / mistDispersed droplets in gas; low volume fractionFuel injectors, spray dryingDPM (Euler-Lagrange)
Particle-laden flowSolid particles in fluidSand erosion, pneumatic conveyingDPM or Euler-Euler
Fluidized bedDense particle suspension; high void fractionChemical reactors, powder dryingEuler-Euler (TFM)

3. Volume of Fluid (VOF) — Free Surface Tracking

🧑‍🎓

How does VOF actually track the interface? I keep seeing "phase fraction" α mentioned but I don't understand what value it takes at the interface.

🎓

Each computational cell holds a phase fraction α between 0 and 1. α = 1 means fully liquid, α = 0 means fully gas, and intermediate values indicate the interface is inside that cell. You evolve α with a transport equation, then compute mixture density and viscosity as weighted averages. The momentum equation is solved once for the mixture — you do not solve separate equations for each phase. That is what makes VOF memory-efficient for large free surface problems like dam breaks or ship wakes.

The VOF transport equation (with interface compression term as used in OpenFOAM's interFoam):

$$\frac{\partial \alpha}{\partial t} + \nabla \cdot (\mathbf{u}\alpha) + \nabla \cdot [\mathbf{u}_c \alpha(1-\alpha)] = 0$$

The third term keeps the interface sharp. The compression velocity magnitude is $|\mathbf{u}_c| = C_\alpha |\mathbf{u}|$ with $C_\alpha = 1$ by default.

Mixture fluid properties:

$$\rho = \alpha \rho_1 + (1-\alpha)\rho_2, \quad \mu = \alpha \mu_1 + (1-\alpha)\mu_2$$

Surface tension via the Continuum Surface Force (CSF) model:

$$\mathbf{F}_{st} = \sigma \kappa \nabla \alpha, \quad \kappa = -\nabla \cdot \left(\frac{\nabla \alpha}{|\nabla \alpha|}\right)$$

VOF Strengths and Limitations

Best for: Large-scale free surfaces, dam break, sloshing, ship hydrodynamics, wave-structure interaction

Works well when: Interface is sharp and the two phases have similar velocities at the interface

Struggles with: Heavily dispersed flows with many small bubbles; large density ratios (>1000:1) can cause pressure-velocity instabilities

OpenFOAM solvers: interFoam (isothermal), interIsoFoam (isoAdvector, sharper interface), interPhaseChangeFoam (cavitation)

4. Euler-Euler (Two-Fluid) Model

🧑‍🎓

For a bubble column reactor with millions of 3 mm bubbles, VOF seems impossible — you'd need a mesh finer than 3 mm everywhere. What does Euler-Euler do differently?

🎓

In Euler-Euler you treat both liquid and gas as separate interpenetrating continua — each with its own velocity field and volume fraction α. You never see individual bubbles; instead you have a gas fraction field α_g(x,t) that says what fraction of space is gas at each location. You solve two momentum equations, one per phase, coupled via drag forces, lift, and virtual mass. For a bubble column this gives you the mixing patterns, gas holdup profiles, and mass transfer rates without resolving individual bubble surfaces at all.

The two-fluid continuity equation for phase $k$ (with $\alpha_l + \alpha_g = 1$):

$$\frac{\partial (\alpha_k \rho_k)}{\partial t} + \nabla \cdot (\alpha_k \rho_k \mathbf{u}_k) = \dot{m}_{kj}$$

The interfacial momentum transfer is dominated by drag:

$$\mathbf{M}_{drag} = \frac{3}{4} \frac{C_D}{d_b} \alpha_g \rho_l |\mathbf{u}_g - \mathbf{u}_l|(\mathbf{u}_g - \mathbf{u}_l)$$

Common drag correlations: Schiller-Naumann for rigid spheres, Grace model for deformable bubbles at higher Reynolds number.

5. Euler-Lagrange (DPM) — Tracking Individual Particles

🧑‍🎓

And for diesel spray injection — the fuel jet breaks into droplets. Is that where DPM comes in? How does it relate to what the gas phase is doing?

🎓

DPM tracks each parcel of droplets as Lagrangian particles moving through the Eulerian gas background. You solve Newton's second law for each parcel — drag from surrounding gas, gravity, Saffman lift, and evaporation force. The gas solver sees source terms wherever particles exchange momentum and mass. It works brilliantly for diesel injection: you inject thousands of parcels at the nozzle, each representing many physical droplets, and watch them disperse, break up (Kelvin-Helmholtz, Rayleigh-Taylor models), and evaporate. The key constraint is dilute flow — if the dispersed phase exceeds ~10% volume fraction, particle-particle collisions become important and Euler-Euler is more appropriate.

Lagrangian equation of motion for a single droplet parcel:

$$m_p \frac{d\mathbf{u}_p}{dt} = \frac{1}{2} C_D \rho_f A_p |\mathbf{u}_f - \mathbf{u}_p|(\mathbf{u}_f - \mathbf{u}_p) + m_p \mathbf{g}\left(1 - \frac{\rho_f}{\rho_p}\right) + \mathbf{F}_{other}$$

6. Method Selection Summary

CriterionVOFEuler-EulerDPM (Lagrangian)
Interface characterSharp, large-scaleDispersed (unresolved)Discrete particles/droplets
Volume fraction of dispersed phaseAny (large structures)0–100% (dense OK)< ~10% (dilute)
Two distinct velocity fields?No (shared velocity field)Yes (each phase has own velocity)Yes (Lagrangian + Eulerian)
Coalescence / breakupNaturally tracked at large scaleModeled via population balanceSecondary breakup models (KH-RT)
Evaporation / mass transferPossible (phase change)Full species transportD2 law evaporation model
OpenFOAM solverinterFoam, interIsoFoamreactingTwoPhaseEulerFoamDPMFoam, sprayFoam

7. Application Examples

ApplicationMethodOpenFOAM SolverKey Physics
Dam break / sloshingVOFinterFoamInertia-dominated free surface, impact loads
Ship bow wave / hull resistanceVOFinterFoam + waves2FoamFree surface deformation, Froude number effects
Bubble column bioreactorEuler-EulerreactingTwoPhaseEulerFoamBubble-liquid drag, gas holdup, mass transfer
Diesel spray injectionDPM (Lagrangian)sprayFoamAtomization, secondary breakup, evaporation
Fluidized bed dryerEuler-Euler TFMreactingTwoPhaseEulerFoamGranular pressure, inter-particle collisions
Oil-water pipeline separatorVOF or Euler-EulerinterFoam or two-phaseStratification, settling, droplet coalescence

8. OpenFOAM Multiphase Solver Setup

// interFoam setup: constant/transportProperties phases (water air); water { transportModel Newtonian; nu 1e-6; rho 1000; } air { transportModel Newtonian; nu 1.5e-5; rho 1.2; } sigma 0.07; // surface tension coefficient [N/m] // Alpha field initial condition: 0/alpha.water // alpha.water = 1 in water region, 0 in air
// DPMFoam particle injection: constant/kinematicCloudProperties active true; parcelTypeId 1; subModels { particleForces { sphereDrag; gravity; } injectionModels { model1 { type coneNozzleInjection; SOI 0; massTotal 1e-4; parcelsPerSecond 10000; flowRateProfile constant 1; } } dispersionModel stochasticDispersionRAS; }
VOF mesh tip: The interface region needs at least 3–5 cells across the transition zone. Use mesh refinement regions around expected free surface locations in snappyHexMesh. A coarse interface produces unphysical "numerical surface tension" effects that look like parasitic currents.
Euler-Euler stability note: The two-fluid model can become numerically unstable if the drag closure is too weak (phases decouple) or too strong (the system stiffens). Always check that your void fraction field remains bounded between 0 and 1, and use phase fraction limiters in your numerical schemes.
Cross-topics: Combustion & Reacting Flow | Conjugate Heat Transfer | Marine Hydrodynamics | CFD Meshing