Euler-Euler gas-solid flow solver for OpenFOAM

I have finally completed the implementation and the testing phases of a two-fluid code for the simulation of gas particle flows based on OpenFOAM®. The code is derived from the existing twoPhaseEulerFoam, with significant differences in the solution algorithm in order to stabilize it, and with the addition of a variety of models. This is the evolution of the twoPhaseEulerPimpleFoam code discussed previously here and here.

I decided to change name to the code, and call it fluidParticleTwoPhase4Foam, since the implementation has become more and more specific for particulate flows, and future developments will move further in this direction.

A summary of the improvements is reported below:

  • Solution algorithm
    • Adoption of the PIMPLE (PISO/SIMPLE) algorithm, with under-relaxation to ensure convergence of the coupled set of multiphase equations at each time-step.
    • Implementation of the phase momentum equation in conservative form, in order to replace the phase-intensive formulation.
    • Solution of the momentum predictor.
    • Implementation of improved Rhie-Chow interpolation.
    • Implementation of the Partial Elimination Algorithm for the drag term in the phase momentum equation, to stabilize the numerical solution when the drag term is strong.
    • Improved flux-reconstruction approach.
    • Implicit treatment of the particle pressure in the kinetic theory/frictional stress model framework.
    • Stabilization of the code when frictional models with discontinuous functions for the particle pressure.
    • Stabilization of the k-epsilon turbulence model in cases with phase separation.
  • New implemented models
    • Srivastava and Sundaresan frictional stress model (Princeton model).
    • Models for the dissipation of the granular energy due to viscous damping, and the production of granular energy due to slip have been implemented made run-time selectable.
    • Models for viscous damping dissipation: Gidaspow, Koch and Sangani.
    • Models for production due to slip: Koch, Koch and Sangani.
    • Johnson and Jackson wall boundary conditions (In cooperation with Juho Peltola) for the particle-phase velocity and granular temperature.
    • Electrostatic model for the particle phase (In cooperation with Ram Ganesh Rokkam), with various sub-models for the permittivity of the gas-solid mixture.
    • Modified granular energy collisional dissipation for generality.
  • Other new features and developments
    • Revision of radial distribution models to remove redundancies.
    • Empty drag model to allow phase decoupling.
    • Identification of appropriate numerical scheme setup.
    • Derivation of the n-phase algorithm.
    • Test cases
      • Bubbling fluidized bed (hex and tet mesh)
      • Bubbling fluidized bed with a jet
      • Settling gas-solid suspension

Some animations can be found on my YouTube channel and is embedded here for convenience. The quality of the preview is not great due to the conversion process, however the animation is a bit better.

Now other work has to be done. Currently my focus is on the implementation of quadrature-based moment methods to describe the particle phase, in order to overcome the limitations of the standard kinetic theory closures, as I did in MFIX.

This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM®  and OpenCFD®  trade marks.


  • Apurv Kumar

    Hi, I have been using MFIX for gas-solid multiphase flows to solve fluidised bed models. However I was unable to study conduction in an immersed object inside the bed. Can OPENFOAM be used for this. I am new to OPENFOAM and I see that you have developed solver for fluid-solid medium. Please let me know how can I get started using OPENFOAM and from where can I get your solver.


    • Alberto

      Hi Apurv,

      the code I wrote is a two-phase implementation of an isothermal gas-particle flow. As a consequence, I do not solve for the energy equation. Additionally, the code is not publicly available at this point, pending publication of a paper.

      Best regards,

  • Harley Klein

    Hi Alberto,

    Do you have any updates regarding when you are going to make your code available? I am very interested in the progress that you’ve made and would love the opportunity to look ‘under the hood’.