π€ AI Summary
To address the low computational efficiency and non-differentiability of multiphase, multi-physics flow simulations in porous media, this paper introduces XLBβa high-performance, differentiable lattice Boltzmann method (LBM) framework built on JAX. Methodologically, XLB integrates an enhanced Shan-Chen pseudopotential model with a Maxwell-consistent equation of state to enable robust high-density-ratio two-phase flows; incorporates a virtual-density wetting model for precise contact-angle control and elimination of unphysical liquid films; and leverages automatic differentiation alongside optimized external-force formulations to support end-to-end machine learning integration and seamless CPU/GPU cross-platform parallelism. Validated against Laplaceβs law, capillary rise, and multicomponent co-flow benchmarks, XLB significantly suppresses spurious currents and demonstrates excellent strong scalability on single- and multi-GPU systems. The open-source implementation is released under the Apache 2.0 license.
π Abstract
We present JAX-LaB, a differentiable, Python-based Lattice Boltzmann library for simulating multiphase and multiphysics flows in hydrologic, geologic, and engineered porous media. Built as an extension of the XLB library, JAX-LaB utilizes JAX for computations and offers a performant, hardware-agnostic implementation that integrates seamlessly with machine learning workflows and scales efficiently across CPUs, GPUs, and distributed systems. Multiphase interactions are modeled using the Shan-Chen pseudopotential method, which is coupled with an equation of state and an improved forcing scheme to obtain liquid-vapor densities that are consistent with Maxwell's construction, enabling simulations of systems with very large density ratios while maintaining minimal spurious currents. Wetting is handled using the "improved" virtual density scheme, which allows precise control of contact angles and eliminates non-physical films seen in other Shan-Chen wetting methods. We validate the library through several analytical benchmarks, such as Laplace's law, capillary rise, and cocurrent multicomponent flow, and demonstrate some exemplary use cases for the library. We also report single- and multi-GPU performance scaling of the library. The library is open-source under the Apache license and available at https://github.com/piyush-ppradhan/JAX-LaB.