Open source multiphase flow modeling for real-world applications

The National Energy Technology Laboratory’s (NETL’s) computational fluid dynamics (CFD) code, MFiX —Multiphase Flow with Interphase eXchanges— is central to the laboratory’s multiphase flow reactor modeling efforts. This open-source software has over two decades of development history and more than 4,400 registered users worldwide. MFiX has become the standard for comparing, implementing, and evaluating multiphase flow constitutive models and has been applied to an extremely diverse range of multiphase flows applications. The successes achieved in modeling complex multiphase flow systems have led to new and improved key attributes such as drag, polydispersity, attrition, and agglomeration models, among other significant advances.

The NETL MFiX suite of codes includes the following set of complementary modeling tools that can be brought to bear on multiphase flow technologies:

mfix-tfmMFiX-TFM (Two-Fluid Model) –

is an Eulerian-Eulerian model which supports a broad range of capabilities for dense, reacting, multiphase flows by representing the fluid and solids as interpenetrating continua. This is the most mature MFIX model and is capable of modeling multiphase reactors ranging in size from benchtop to industry-scale. Approximation of the solid phase as a continuum typically allows for faster simulation time than Lagrangian techniques,howeverit also introduces the need for accurate mathematical models to capture realistic solids phase behavior. This includes transport properties, heterogeneous reaction kinetics, and constitutive relations for interaction between fluid and solid phases, e.g., solids phase drag and interphase heat transfer.

The MFiX Theory Guide contains the hydrodynamic theory used in this modeling approach, including: the conservation equations, constitutive relations, and the initial and boundary conditions. The Summary of MFiX Equations document contains the latest update of the model equations in MFiX-TFM.

mfix-demMFiX-DEM (Discrete Element Model) – Treats the fluid phase as a continuum and models the individual particles of the solid phase. This is a relatively new variation on MFiX. While the treatment of individual particles can provide higher fidelity over a broad range of flow regimes (from dilute to packed), it also very challenging when dealing with very large numbers of particles for large-scale simulations. These large-scale applications will require high performance computing (HPC) resources and large amounts of computer time. Code optimization and speed up are critical research fronts to support industrial scale applications.  The document Documentation of Open-Source MFiX-DEM Software for Gas-Solids Flows provides detailed descriptions of the modeling approach, governing equations and the details on their numerical implementation.

mfix-picMFiX-PIC (Multiphase Particle-In-Cell) – is another Eulerian-Lagrangian model that represents the fluid as a continuum while using “parcels” to represent groups of real particles with similar physical characteristics. The MFiX-PIC approach offers reduced computational cost over MFIX-DEM as there are typically few parcels to track and parcel collisions are not resolved. However, the added modeling approximations impact the overall accuracy of the method. Development, validation, and optimization of modeling approximations are critical research fronts.  The document entitled Documentation of Open-Source MFIX-PIC Software for Gas-Solids Flows provides detailed descriptions of the modeling approach, governing equations and details on their numerical implementation.

mfix-hybridMFiX-Hybrid (TFM/DEMHybrid) – is blend of MFIX-TFM and MFIX-DEM that represents the fluid as a continuum and models solids as either a continuous phase (TFM) or discrete particles (DEM). This technique is presently restricted to solving only the momentum equations to yield hydrodynamic predictions.This model is still in its infancy and has seen only limited testing.

mfix-guiMFiX-GUI (Graphical Users Interface) – was designed to act as a front end tool that allows users to quickly set-up MFiX computational fluid dynamic models. The MFiX-GUI is not required to run MFiX and does not need a valid MFiX source code to function. However, having a valid MFiX source code allows the MFiX-GUI to extract keyword documentation for error checking and documentation.

The MFiX-GUI is written in Python, leveraging the strengths of Python for quick code development, extensive existing libraries, and flexibility. The MFiX-GUI will run on any operating system that Python can be installed on including Linux, Windows, and Mac. Please see the documentation for further details and dependencies.

MFiX is free for use. Please register to Download MFiX.

Expand for a list of MFiX features.
  • Mass, momentum, energy and species balance equations for gas and multiple solids phases
  • Granular stress equations based on kinetic theory and frictional flow theory
  • Three-dimensional Cartesian or cylindrical coordinate systems with nonuniform mesh size
  • Impermeable and semi-permeable internal surfaces
  • Set up the simulation with an input data file
  • Define chemical reactions and kinetics with the input data file or with a user-defined subroutine
  • Error checking of user input
  • Multiple, single-precision, binary, direct-access output files that reduces disk space and increases data retrieval speed
  • Post-processing codes for the animation and retrieval of output data
  • Fortran 90 code base with allocatable arrays
  • Generate serial, shared-memory parallel (SMP) or distributed-memory parallel (DMP) executables from the same code base