Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Getting Started with Multiphase CFD in OpenFOAM
Rating: 2.8 out of 5(3 ratings)
31 students

Getting Started with Multiphase CFD in OpenFOAM

Learn multiphase, phase change, and multi-species simulations step by step
Last updated 1/2026
English

What you'll learn

  • Understand the fundamentals of multiphase flow, phase change, and multi-species modeling in CFD
  • Choose the right OpenFOAM multiphase solver (interFoam, EulerFoam, multiphaseEulerFoam) for a given problem
  • Set up beginner-friendly 2D multiphase cases from scratch in OpenFOAM
  • Define and initialize multiple phases and volume fractions correctly using setFields
  • Configure phase-specific velocity, temperature, and thermophysical properties
  • Apply and tune interfacial force models (drag, lift, virtual mass, wall lubrication)
  • Understand pressure–velocity coupling in Euler–Euler multiphase solvers
  • Handle numerical stability issues such as phase fraction bounds and solver divergence
  • Run and analyze bubble, droplet, and phase-interaction test cases
  • Visualize and interpret multiphase results using ParaView
  • Confidently transition from simple 2D examples to more complex multiphase problems

Course content

6 sections16 lectures4h 21m total length
  • Modeling Immiscible Two-Phase Flows in OpenFOAM Using interFoam11:15

    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.

  • Setting Up and Running interFoam Simulations: A Hands-On Tutorial18:11

    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.

  • From interFoam to interIsoFoam: Accurate Free-Surface Simulation in OpenFOAM15:17

    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.

  • Multiphase Flow in OpenFOAM – multiphaseInterFoam for N Immiscible Fluids15:01

    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.

  • Single-Phase Free-Surface Modeling in OpenFOAM: potentialFreeSurfaceFoam12:13

    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.

Requirements

  • Basic understanding of fluid mechanics (continuity, momentum, and energy equations)
  • Introductory knowledge of CFD concepts, such as discretization and boundary conditions
  • Basic familiarity with OpenFOAM workflow, including case structure and running solvers
  • OpenFOAM version v2412 installed and working on your system
  • Comfort with Linux command line (navigation, editing files, running simulations)

Description

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.

Who this course is for:

  • Beginners in OpenFOAM who want a clear and structured introduction to multiphase CFD
  • Undergraduate and postgraduate students learning CFD or fluid mechanics
  • Researchers starting work on multiphase, phase-change, or multi-species simulations
  • Engineers who want hands-on experience with OpenFOAM multiphase solvers
  • Users transitioning from single-phase to multiphase CFD
  • Learners who prefer simple 2D cases to understand complex physics without heavy computation
  • Anyone planning to advance to complex 3D multiphase simulations after building strong fundamentals