
In this lecture, we begin a new series dedicated to multiphase flow solvers in OpenFOAM, starting with the most widely used and foundational solver: interFoam.
The interFoam solver is designed for time-dependent, incompressible, isothermal, immiscible two-phase flows, where the interface between the phases is captured using the Volume of Fluid (VOF) method. Typical applications include free-surface flows, sloshing tanks, dam-break problems, bubbly flows, and surface-tension-dominated phenomena.
This lecture covers:
What interFoam is and where it fits within the OpenFOAM multiphase solver suite
Physical meaning of immiscible two-phase flow and the volume fraction variable α (alpha)
Interface capturing using the VOF method and the role of interface compression
Continuity of velocity and pressure across the phase interface
Modeling surface tension forces and variable density/viscosity effects
Governing equations solved by interFoam, including p_rgh formulation
Why interFoam uses the PIMPLE algorithm and how it combines PISO and SIMPLE
Overview of the solution procedure and algorithm flow
Introduction to the MULES method for solving the volume fraction equation
Key numerical schemes and solver settings specific to interFoam
A guided walkthrough of the interFoam source code to understand solver structure and controls
By the end of this lecture, you will have a clear conceptual and numerical understanding of interFoam, preparing you to confidently set up and run your own two-phase flow simulations.
In the next lecture, we will apply this knowledge to simulate a simple interFoam case step-by-step.
In this lecture, we move from theory to practice by setting up and running real simulations using the interFoam solver in OpenFOAM. Starting from an existing tutorial case, we progressively modify the setup to understand how multiphase simulations are built from scratch.
You will learn how to prepare a clean interFoam case, define phase properties, initialize volume fractions, and apply appropriate boundary conditions for free-surface and two-phase flows. The lecture also demonstrates how to introduce a water column and an inlet jet using both standard and coded boundary conditions, giving you the flexibility needed for custom multiphase problems.
Key topics covered in this lecture include:
Cleaning and simplifying an existing tutorial for interFoam simulations
Converting a single-phase case to two-phase flow using volume fraction (α) fields
Using p_rgh instead of pressure and setting atmospheric boundary conditions
Defining and initializing phases with setFieldsDict
Configuring transportProperties, including density, viscosity, and surface tension
Choosing appropriate numerical schemes and solvers for interFoam
Understanding and controlling Courant number and alpha Courant number
Adding gravity and stabilizing time-step behavior
Implementing coded boundary conditions for partial inlet velocity and phase injection
Visualizing results using alpha.water, velocity, and pressure fields
Diagnosing and fixing common interFoam issues such as instability and solver errors
By the end of this lecture, you will be able to confidently set up custom interFoam simulations, initialize multiple phases correctly, and model realistic inlet-driven two-phase flows. This forms a strong foundation for more advanced multiphase cases involving complex geometries and flow physics in subsequent lectures.
In this lecture, we introduce interIsoFoam, an advanced multiphase solver in OpenFOAM designed to provide sharper and more accurate interface capturing for immiscible two-phase flows.
While interIsoFoam solves the same governing equations as interFoam, it differs fundamentally in how the interface between phases is reconstructed and transported. Instead of the algebraic MULES-based approach used in interFoam, interIsoFoam employs the isoAdvector method, a geometric Volume of Fluid (VOF) technique that reconstructs the interface using iso-surfaces of the volume fraction field.
This lecture covers:
What interIsoFoam is and how it differs from interFoam
Algebraic (MULES) vs geometric (isoAdvector) interface capturing
Concept of iso-surfaces at α = 0.5 for interface reconstruction
How density and viscosity are evaluated from the volume fraction field
Interface reconstruction using planar segments inside each cell
Transport of the interface using the isoAdvector scheme
Advantages of geometric advection:
Sharper interfaces
Reduced numerical diffusion
Improved curvature and surface tension modeling
Limitations of interIsoFoam:
Higher computational cost
Strong dependence on mesh quality
Required changes in fvSchemes and alpha settings for interIsoFoam
Overview of available reconstruction schemes (isoAlpha, gradAlpha, plicRDF)
Walkthrough of the interIsoFoam source code and solver structure
Direct visual comparison between interFoam and interIsoFoam results
Interpretation of interface sharpness, phase mixing, and physical realism
Through side-by-side visualization, this lecture clearly demonstrates how interIsoFoam preserves immiscibility and maintains a sharp interface, while interFoam may suffer from numerical smearing and artificial mixing in challenging flows.
By the end of this lecture, you will understand when and why to use interIsoFoam, how to configure it correctly, and how to critically evaluate multiphase simulation results beyond visual appearance alone.
In this lecture, we explore multiphaseInterFoam, the OpenFOAM solver designed to simulate any number of immiscible incompressible fluids within a single computational domain.
So far, we have seen solvers for:
Two immiscible phases (interFoam, interIsoFoam)
Two miscible phases (twoLiquidMixingFoam)
Two miscible phases with one immiscible phase (interMixingFoam)
However, many real-world problems involve more than two immiscible fluids. Since OpenFOAM does not provide a solver for arbitrary combinations of miscible and immiscible phases together, multiphaseInterFoam fills an important gap by allowing N immiscible phases to be modeled simultaneously.
In this lecture, we cover:
Physical assumptions behind multiphaseInterFoam
Incompressible, immiscible fluids
No diffusion or mass transfer between phases
Solver structure and relation to PIMPLE-based solvers
Role of the multiphaseMixture class in:
Managing phase fractions (α-fields)
Interface capturing using MULES
Interface compression for sharp phase boundaries
How alpha equations are solved separately for each phase
Surface tension modeling and why phase-pair properties must be defined
Defining sigma (surface tension) between all phase pairs
Contact angle modeling:
Static vs dynamic contact angles
Advancing and receding angles
When contact angles actually influence the solution
Practical setup of a five-phase case (air, water, sludge, saline, mercury)
Transport properties and density contrasts
Common setup mistakes:
Incorrect alpha initialization
Missing phase-pair definitions
Divide-by-zero errors due to invalid initial conditions
Visualization of individual alpha fields and combined alphas field
Solver limitations and numerical stability considerations for large density ratios
Through a hands-on example, you will see how multiple immiscible fluids evolve, interact through surface tension, and remain sharply separated without mixing.
By the end of this lecture, you will clearly understand when multiphaseInterFoam is the right solver, how to configure it correctly, and how it fundamentally differs from other multiphase solvers in OpenFOAM.
In this lecture, we briefly step away from classical multiphase solvers and explore single-phase free-surface flow modeling in OpenFOAM using the solver potentialFreeSurfaceFoam.
Although the flow is single-phase, this solver enables an approximate representation of a free surface by introducing a height potential field (ζ) that accounts for surface elevation effects in the pressure formulation. Unlike VOF-based solvers, no interface tracking or phase fraction equation is solved.
We begin by examining the source code of potentialFreeSurfaceFoam and show that its overall structure is identical to pimpleFoam, including:
The PIMPLE loop
Velocity equation solution
Pressure Poisson equation and pressure correction
The key difference lies in how pressure is modified using the free-surface elevation field ζ, which represents wave height and surface motion.
This lecture covers:
Why potentialFreeSurfaceFoam is still a single-phase incompressible solver
Why the word potential refers to height potential, not potential flow
Comparison of solver structure with pimpleFoam
Role of the ζ (zeta) field in free-surface modeling
Use of p_gh = p − ρ g ζ for pressure evaluation
How ζ influences pressure through free-surface boundary conditions
Detailed walkthrough of the waveSurfacePressure boundary condition
How gravity and surface elevation are coupled in pressure calculation
Required fields and setup (U, p_gh, ζ, gravity, transport properties)
Explanation of pressureInletOutletParSlipVelocity boundary condition
Meaning of inflow/outflow switching based on flux direction
Example case walkthrough with a floating oscillating object
Use of topoSet to modify the mesh and create a free surface
Visualization of wave generation through ζ and p_gh fields
Finally, we discuss the limitations of potentialFreeSurfaceFoam:
Suitable only for small-amplitude waves
Cannot model wave breaking, splashing, or overturning
Not appropriate for highly nonlinear free-surface dynamics
For large deformations or splashes, VOF-based solvers (interFoam/interIsoFoam) must be used instead
By the end of this lecture, you will clearly understand how potentialFreeSurfaceFoam models free surfaces, how it differs from multiphase solvers, and when it is (and is not) the right tool for your simulation needs.
In this lecture, we introduce twoLiquidMixingFoam, a multiphase solver in OpenFOAM specifically designed to simulate the mixing of two miscible incompressible liquids.
Unlike interFoam and interIsoFoam, where phases are immiscible and separated by a sharp interface, twoLiquidMixingFoam allows the two liquids to mix through diffusion. There is no explicit interface tracking and no surface tension modeling, making this solver suitable for problems such as concentration-driven mixing, molecular diffusion, and turbulent liquid–liquid blending.
This lecture covers:
Physical meaning and use cases of miscible two-liquid flows
Key differences between interface-tracking solvers and mixing solvers
Role of the volume fraction (α) as a mixture fraction or concentration
Governing equations solved by twoLiquidMixingFoam:
Continuity and momentum equations with mixture properties
Volume fraction transport equation with diffusion term
Mixture laws for density and viscosity based on local concentration
Why surface tension is absent in miscible flows
Use of PIMPLE algorithm for time-dependent simulations
Overview of the solver source code and alpha diffusion implementation
Setting up a practical case with two miscible liquids (e.g., water and sludge)
Defining transport properties, diffusion coefficient, and solver controls
Stability considerations when mixing liquids with large density differences
Practical limitations and numerical challenges of twoLiquidMixingFoam
Through a hands-on example, this lecture demonstrates how diffusion causes gradual phase mixing, how the volume fraction evolves toward a uniform value, and why solver stability becomes critical when property contrasts are large.
By the end of this lecture, you will understand when to use twoLiquidMixingFoam, how to configure it correctly, and how to distinguish between physical mixing behavior and numerical instability in miscible multiphase simulations.
In this lecture, we introduce interMixingFoam, a specialized OpenFOAM solver designed for three-phase flow problems where:
Two phases are miscible with each other, and
Both of those phases are immiscible with a third phase
This type of scenario commonly appears in practical applications, such as water–sludge mixing in the presence of air, where mixing and sharp interface tracking must occur simultaneously.
What this solver is (and is not)
interMixingFoam can handle only three phases
Two phases can diffuse and mix
The third phase remains immiscible
Interface tracking is performed using VOF with MULES
This solver does not support arbitrary combinations of miscible and immiscible phases
Topics covered in this lecture
Review of previously used solvers:
interFoam (two immiscible phases)
interIsoFoam (improved interface capturing)
Miscible two-phase solvers
Physical motivation for partial miscibility problems
Solver structure and similarity to interFoam
Key difference in the alpha transport equations:
Separate equations for α₁ and α₂
α₃ computed as 1 − α₁ − α₂
Why interMixingFoam is limited to three phases only
Role of MULES in interface capturing
How diffusion is enabled only between selected phase pairs
Importance of phase ordering in transportProperties
Defining:
Density and viscosity for each phase
Diffusion coefficients between miscible phases
Surface tension between immiscible phase pairs
Correct setup of:
Alpha fields and boundary conditions
setFields for multi-region initialization
Gravity-driven mixing scenarios
Common setup mistakes and how to fix them:
Incorrect solver selection for diffusive alphas
Inconsistent alpha initialization
Boundary condition conflicts
Visualization of phase evolution and mixing behavior
Through a hands-on example, you will see how two fluids gradually mix, while the third phase maintains a sharp interface, capturing both diffusion-driven mixing and interface dynamics in a single simulation.
By the end of this lecture, you will clearly understand when interMixingFoam should be used, how to configure it correctly, and how it differs from both interFoam and multiphaseInterFoam.
In this lecture, we explore interPhaseChangeFoam, OpenFOAM’s simplest solver for modeling phase change in incompressible two-phase flows. Using cavitation as a motivating example, we learn how liquid–vapor phase change is introduced through volume-fraction transport and pressure-driven mass transfer.
We begin with the governing equations, highlighting how a single momentum equation is solved using mixture properties, where density and viscosity are weighted by phase volume fractions. Since the flow is incompressible and isothermal, no energy equation is solved, and phase change is driven purely by the difference between local pressure and saturation pressure.
Key topics covered in this lecture include:
Physical meaning of cavitation in incompressible flows
Volume of Fluid (VoF) formulation and phase identification using alpha
How evaporation and condensation are modeled using pressure-based source terms
Role of saturation pressure and phase-change coefficients
Pressure–velocity coupling and phase-change contributions in the pressure equation
Overview of cavitation models available in interPhaseChangeFoam
Walkthrough of the solver source code and key implementation details
While interPhaseChangeFoam cannot capture pressure waves or shock-driven cavitation, it provides a strong foundation for understanding pressure-driven phase change mechanics in CFD.
In this lecture, we explore interCondensingEvaporatingFoam, an OpenFOAM multiphase solver used to model phase change between two immiscible incompressible fluids based on temperature-driven condensation and evaporation.
Unlike interPhaseChangeFoam, where phase change is governed by saturation pressure (commonly used for cavitation problems), this solver uses saturation temperature as the phase-change criterion and explicitly solves the energy equation.
Key differences from interPhaseChangeFoam
Phase change driven by temperature difference instead of pressure difference
Explicit solution of the energy (temperature) equation
Suitable for condensation and evaporation problems
Not intended for cavitation-type phenomena
Topics covered in this lecture
Physical modeling assumptions:
Incompressible, immiscible liquid and vapor phases
Temperature-controlled phase change
Overview of solver structure and governing equations
Source terms in the pressure equation due to:
Condensation and evaporation mass transfer
Role of the mixture model in:
Computing phase-change rates
Coupling momentum, pressure, and temperature fields
Energy equation formulation and thermal source terms
Required dictionaries and properties:
phaseChangeProperties
thermophysicalProperties
Transport and thermal properties (Cp, Cv, kappa, latent heat)
Prandtl number for heat transfer
Setting up a condensation problem on a cold wall
Mesh scaling considerations for phase-change simulations
Boundary conditions for:
Phase fraction (liquid/vapor)
Pressure and velocity
Temperature and thermal gradients
Importance of time-step control for stable condensation modeling
Visualization of:
Condensate formation
Gravity-driven liquid accumulation
Temperature gradients and induced flow
Through practical simulations, this lecture demonstrates how vapor condenses on colder surfaces, forms liquid films or droplets, and accumulates under gravity—all captured using interCondensingEvaporatingFoam.
By the end of this lecture, you will understand when to use interCondensingEvaporatingFoam, how it differs from other phase-change solvers, and how to set up stable and physically meaningful condensation/evaporation simulations in OpenFOAM.
In this lecture, we explore icoReactingMultiphaseInterFoam, one of the most advanced multiphase solvers available in OpenFOAM. This solver goes far beyond simple evaporation or condensation and enables reactive, thermally coupled, volume-of-fluid–based multiphase simulations.
Unlike interCondensingEvaporatingFoam, where phase change is governed only by saturation temperature, icoReactingMultiphaseInterFoam allows multiple criteria for mass transfer, including reaction-driven phase change, species diffusion, and interfacial chemistry.
What makes this solver unique
Volume of Fluid (VOF)–based interface tracking
Thermally coupled: solves momentum, energy, and species equations
Supports evaporation, condensation, oxidation, melting, and solidification
Mixture-based single-formulation approach
Fluid properties dynamically updated based on local volume fractions
Applicable to gas–liquid–solid systems
Topics covered in this lecture
Conceptual overview of icoReactingMultiphaseInterFoam
Differences from interCondensingEvaporatingFoam
Mixture-based formulation and single momentum equation
Supported phase models:
Pure phase model
Static phase model (solid / immobile)
Moving phase model
Multicomponent phase model
Overview of phaseSystem architecture in OpenFOAM
Available mass-transfer models:
Lee model
Diffusion-controlled gas evaporation
Hertz–Knudsen–Schrage kinetic model
Interface oxide rate model
Thermophysical modeling flexibility:
Constant or variable transport properties
Choice of equation of state
Enthalpy vs sensible energy formulation
Multi-species mixtures
Surface tension and porous solidification models
Boundary conditions for reactive interfaces
Practical setup of a liquid–gas–oxide system
Demonstration of oxide formation at the interface
Visualization of:
Volume fraction evolution
Reactive phase conversion
Gravity-driven motion and accumulation
By the end of this lecture, you will understand when and why to use icoReactingMultiphaseInterFoam, how its phase models and mass-transfer mechanisms work, and how to set up reactive multiphase simulations involving gas, liquid, and solid phases in OpenFOAM.
n this lecture, we take a deep dive into cavitatingFoam, OpenFOAM’s transient compressible cavitation solver, and understand how it fundamentally differs from other cavitation and phase-change solvers such as phaseChangeFoam.
We begin by exploring the homogeneous equilibrium model (HEM) used in cavitatingFoam, where liquid and vapor phases are assumed to be in thermodynamic equilibrium, sharing velocity and temperature while accounting for different compressibilities. This key feature allows the solver to capture pressure wave propagation and shock-like cavitation dynamics, which are not possible in incompressible formulations.
Key topics covered in this lecture include:
Why compressibility matters in cavitating flows
Differences between cavitatingFoam and phaseChangeFoam
Barotropic energy closure and why no energy equation is solved
How density is used as the primary variable instead of volume fraction
Overview of barotropic compressibility models (Linear, Chung, Wallis)
Solver algorithm and the PIMPLE-based solution procedure
Turbulence modeling options for cavitating flows
Typical applications such as throttling devices, high-speed cavitation, and shock-induced bubble collapse
We also walk through:
The OpenFOAM source code structure of cavitatingFoam
Setup of thermophysical and transport properties
Initialization of density and boundary conditions
Running and visualizing a cavitation case
Practical insights into mesh effects, inlet/outlet placement, and numerical stability
This lecture is ideal for learners who want to understand how cavitation is modeled in compressible flows, when to use cavitatingFoam, and how to correctly set up simulations for realistic cavitation dynamics.
In this lecture, we dive into compressibleInterFoam, OpenFOAM’s solver for two-phase, compressible, non-isothermal, immiscible flows. Unlike incompressible solvers such as interFoam, this solver accounts for density variations, compressibility, and heat transfer, making it suitable for problems where temperature and pressure changes strongly affect the flow.
We begin with the physical and mathematical foundations of the solver, explaining how:
Two immiscible phases are tracked using the Volume of Fluid (VOF) method
A single mixture momentum equation is solved using mixture properties
Phase volume fractions (alpha1, alpha2) evolve with interface-compression to maintain sharp interfaces
Energy (temperature) equation is solved in addition to momentum and pressure
Phase-wise compressibility is handled through thermophysical models
Key topics covered in this lecture include:
Differences between incompressible interFoam and compressibleInterFoam
Mixture formulation vs Euler–Euler two-phase turbulence modeling
Pressure formulation using p_rgh and its relation to absolute pressure
Role of thermophysical properties and equations of state
Handling strong density variation across gas–liquid interfaces
Interface capturing using alpha-based VOF (and relation to compressibleInterIsoFoam)
Turbulence modeling options for single-velocity, multi-phase flows
We then walk through a complete practical setup:
Converting an incompressible dam-break-type case to compressibleInterFoam
Defining pressure, velocity, temperature, and phase fraction boundary conditions
Setting up thermophysicalProperties for air and water
Choosing discretization schemes and solver settings
Initializing fields using setFields
Running the simulation and analyzing results
Finally, we compare results with incompressible simulations and observe:
Temperature evolution during phase motion
Density-driven flow behavior
Additional physics captured due to compressibility and heat transfer
This solver is well-suited for:
Gas–liquid flows with strong temperature gradients
Compressible multi-phase flows with heat transfer
High-speed or thermally driven interface problems
Extending incompressible case setups to more realistic physics
If you want to move beyond isothermal assumptions and start modeling thermal effects in two-phase flows, compressibleInterFoam is the natural next step.
In this lecture, we explore the compressible multiphase solver family in OpenFOAM, focusing on how they extend the concepts you already know from incompressible solvers such as interFoam, interIsoFoam, and multiphaseFoam.
We begin by introducing the compressible counterparts:
compressibleInterFoam
compressibleInterIsoFoam
compressibleMultiphaseFoam
Using a water column test case, we first demonstrate how to transition from compressibleInterFoam to compressibleInterIsoFoam, replacing the standard Volume of Fluid (VOF) interface capturing with the isoAdvector geometric interface tracking method. We walk through:
Required solver changes
Modifications to alpha transport
Running and comparing simulations
Visual comparison of interface sharpness between VOF and isoAdvector
Discussion on mesh resolution effects and solver accuracy
Next, we move beyond two-phase flows and introduce compressibleMultiphaseFoam, which allows simulation of N-phase compressible flows with heat transfer. In this section, we:
Extend a two-phase case to a three-phase system (air–water–mercury)
Define additional phase fractions (alpha.water, alpha.air, alpha.mercury)
Configure thermophysical properties for multiple phases
Set up surface tension (sigma) between each phase pair
Initialize complex phase distributions using setFields
Address common setup errors related to boundary conditions, diffusivity, and discretization
You’ll also see how:
A single mixture momentum equation is solved
Density varies with pressure and temperature
Interface tracking in compressibleMultiphaseFoam relies on VOF (MULES) rather than isoAdvector
Phase density differences naturally drive realistic physical behavior (e.g., mercury sinking below water)
By the end of this lecture, you will understand:
When to use compressibleInterFoam vs compressibleInterIsoFoam
The advantages and limitations of geometric interface tracking
How to scale from two-phase to N-phase compressible simulations
Practical workflow for setting up complex multiphase cases in OpenFOAM
This lecture is ideal for learners who want to move from basic two-phase flows to realistic, multi-phase, compressible simulations involving strong density contrasts and thermal effects.
In this lecture, we introduce driftFluxFoam, a multiphase solver in OpenFOAM that sits conceptually between mixture models and full Euler–Euler approaches. This solver is especially useful for dispersed-phase flows where one phase moves relative to another without the high computational cost of solving separate momentum equations for each phase.
We begin by reviewing the three major multiphase modeling strategies in OpenFOAM:
Mixture models, where a single momentum equation is solved and slip between phases is neglected
Euler–Euler models, where each phase has its own momentum, pressure, and turbulence equations
Drift-flux models, which retain a single mixture momentum equation while accounting for relative (slip) velocity between phases through constitutive models
You will learn when and why drift-flux modeling is appropriate, especially for applications such as:
Sedimentation and settling of particles
Dispersed solids or droplets in a carrier fluid
Buoyancy-driven separation
Pollutant transport and slurry flows
The lecture then dives into the theoretical foundation of driftFluxFoam, including:
Volume-fraction transport using MULES
Definition and role of drift velocity
How slip velocity is modeled rather than solved
Additional stress terms introduced in the momentum equation
Comparison of accuracy, cost, and applicability versus mixture and Euler–Euler models
Next, we explore the driftFluxFoam source code, identifying:
The role of the UdmModel in computing drift velocity
Available drift models (simple and relative velocity)
How additional stresses (tauDm) are introduced
Supported viscosity and rheology models (including Bingham plastic and slurry-type behavior)
Finally, we work through a practical CFD example:
Modification of a flow-past-cylinder case
Introduction of a dispersed sludge phase
Application of gravity-driven drift velocity
Setup of boundary conditions, turbulence modeling, and transport properties
Handling common numerical issues related to gradients and discretization
Visualization of sedimentation, accumulation, and flow-induced separation
By the end of this lecture, you will be able to:
Understand where driftFluxFoam fits in the multiphase modeling hierarchy
Decide when drift-flux modeling is preferable to Euler–Euler methods
Configure and run sedimentation and separation simulations
Diagnose and correct common numerical and setup issues
Interpret results for dispersed-phase transport in complex geometries
In this lecture, we move to the most advanced multiphase modeling approach in OpenFOAM—the Euler–Euler framework—and introduce the twoPhaseEulerFoam solver. Building on the previous discussion of mixture models and drift-flux models, this lecture explains when and why a full Euler–Euler formulation is required and how it is implemented in OpenFOAM.
The twoPhaseEulerFoam solver is designed for multiphase flows where interfacial interactions dominate the physics, such as:
Bubble columns and boiling flows
Droplet-laden or particle-laden flows
Fluidized beds
Slug, churn, annular, and mist flow regimes
Unlike mixture or drift-flux models, this solver treats both phases as interpenetrating continua and solves:
Separate mass, momentum, and energy equations for each phase
Distinct velocity fields for each phase
A single shared pressure field coupled to both momentum equations
The lecture explains the governing equations in detail, highlighting:
Volume-fraction-weighted conservation equations
Phase-specific momentum equations and stress terms
Interfacial momentum exchange and body forces
Separate thermodynamics and interphase heat transfer
Pressure coupling and the PIMPLE-based solution strategy
A major focus is placed on interfacial force modeling, including:
Drag forces due to slip velocity
Lift forces arising from velocity gradients
Virtual mass effects from relative acceleration
Turbulent dispersion forces
Wall lubrication forces near solid boundaries
Shape and aspect-ratio modeling for deforming bubbles
We also discuss the key numerical challenges of Euler–Euler methods, such as:
Maintaining bounded volume fractions (α₁ + α₂ = 1)
Handling regions where one phase disappears (α → 0)
Stabilization using pseudo-mass, diagonal reinforcement, and artificial drag
Managing multiple interacting time and length scales
The lecture concludes with a guided walkthrough of the OpenFOAM source code, showing:
The structure of twoPhaseEulerFoam
Phase-specific momentum and energy equations
Pressure equation assembly
Interfacial force evaluation
The modular model hierarchy for drag, lift, heat transfer, turbulence, and wall effects
By the end of this lecture, you will be able to:
Decide when Euler–Euler modeling is necessary
Understand the physics and numerics behind twoPhaseEulerFoam
Navigate and customize interfacial force models in OpenFOAM
Prepare to convert existing cases to Euler–Euler formulations
This lecture lays the theoretical and practical foundation for solving high-fidelity, strongly coupled multiphase flow problems using OpenFOAM’s Euler–Euler framework.
In this lecture, we build a complete two-phase EulerFoam simulation in OpenFOAM using a classic air–water bubble rise problem. Starting from an interFoam-based setup, we transition to the Euler–Euler framework, highlighting the key conceptual and practical differences between the two approaches.
You’ll learn how to:
Define both phases explicitly (air and water) in two-phase EulerFoam
Configure separate velocity, temperature, and volume fraction fields for each phase
Set up pressure and p_rgh correctly for compressible multiphase flows
Apply appropriate boundary conditions for phase fractions, velocity, pressure, and temperature
Configure phaseProperties, including drag models, aspect ratio models, blending functions, and interfacial forces
Add phase-specific thermophysical properties using thermophysicalProperties.air and .water
Initialize the domain using setFields for mixed-phase regions
Debug common issues related to phase initialization and solver stability
We also explore how EulerFoam enables physics that cannot be captured by interFoam, such as:
Non-sharp interfaces
Phase mixing (e.g., 80% air / 20% water)
Custom drag and interphase interaction models
Different temperatures for each phase
The lecture concludes with a discussion on extending this approach to multiphase EulerFoam, where more than two interacting phases can be modeled.
This session wraps up the multiphase solver introduction series, laying a strong foundation for tackling real-world, industrial-scale multiphase CFD problems in OpenFOAM.
Search for the Navygate Technologies learning platform to explore further.
This course is a beginner-friendly, step-by-step introduction to multiphase CFD using OpenFOAM, designed to help learners build confidence by starting with simple and clearly explained 2D cases. All examples are intentionally kept computationally light and conceptually clear, making the course ideal for students and first-time OpenFOAM users.
You will begin by understanding the fundamentals of multiphase flow, phase change, and multi-species modeling, and how these concepts are implemented in OpenFOAM. The course introduces key solvers such as interFoam, interIsoFoam, compressibleInterFoam, twoPhaseEulerFoam, and multiphase EulerFoam, with a clear explanation of when and why each solver should be used.
All simulations are based on simple 2D test cases, including water column collapse, rising air bubbles in water, interface tracking comparisons (VOF vs isoAdvector), Euler–Euler bubble flow, and basic multi-phase mixing cases. These carefully chosen examples allow you to focus on understanding the physics and solver setup without being overwhelmed by complex geometries or heavy meshes.
Strong emphasis is placed on hands-on case setup. You will learn how to define multiple phases and species, configure thermophysical properties, set initial and boundary conditions, choose appropriate interfacial models (such as drag and phase interaction), and correctly use dictionaries like controlDict, fvSchemes, fvSolution, and setFields.
The course also covers common beginner issues and troubleshooting techniques, including incorrect phase initialization, stability problems, discretization errors, and solver crashes. By addressing these topics directly, the course helps you develop practical problem-solving skills that are essential for real CFD work.
Every lecture is supported with complete, ready-to-run OpenFOAM case files, allowing you to reproduce all results step by step. In addition to the video lectures, the course provides additional PDF notes that summarize solver theory, modeling assumptions, and setup guidelines, making them useful as long-term reference material.
By the end of this course, you will be able to confidently set up and run simple 2D multiphase, phase-change, and multi-species simulations in OpenFOAM, and you will have a strong foundation to progress toward more complex 3D and real-world multiphase CFD problems.