# Introduction

MFIX-Exa is a new massively parallel code for computing multiphase flow in which solid particles interact with the gas surrounding them. It is built on top of AMReX, a publicly available software framework designed for building massively parallel block-structured adaptive mesh refinement (AMR) applications.

MFIX-Exa relies on the same fundamental physics as in MFiX but the spatial and time discretizations differ. Specifically,

- Fluid velocity is defined at cell centers; pressure is defined at nodes.

- The advection algorithm includes an intermediate MAC projection for face-centered advection velocities

- Incompressibility of the fluid is imposed through the use of a projection at the end of the time step

- The representation of the complex geometry includes mesh refinement around the fluid-solid interface, which is represented used the embedded boundary, or cut-cell approach

- Parallelization via flat MPI, OpenMP, hybrid MPI/OpenMP, or MPI/MPI.

- Porting of MFIX-Exa to GPUs is in progress.

- Parallel I/O using AMReX native I/O or HDF5.

- Plotfile format supported by AmrVis, VisIt, ParaView, and yt.

MFIX-Exa is being developed at NETL and LBNL as part of the U.S. Department of Energy’s Exascale Computing Project (ECP). MFIX-Exa heavily leverages AMReX which is also supported by ECP as part of the AMReX Co-Design Center.