XLB: A differentiable massively parallel lattice Boltzmann library in Python

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Ataei, Mohammadmehdi, Salehipour, Hesam
Format: Preprint
Veröffentlicht: 2023
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866910394695548928
author Ataei, Mohammadmehdi
Salehipour, Hesam
author_facet Ataei, Mohammadmehdi
Salehipour, Hesam
contents The lattice Boltzmann method (LBM) has emerged as a prominent technique for solving fluid dynamics problems due to its algorithmic potential for computational scalability. We introduce XLB library, a Python-based differentiable LBM library based on the JAX platform. The architecture of XLB is predicated upon ensuring accessibility, extensibility, and computational performance, enabling scaling effectively across CPU, TPU, multi-GPU, and distributed multi-GPU or TPU systems. The library can be readily augmented with novel boundary conditions, collision models, or multi-physics simulation capabilities. XLB's differentiability and data structure is compatible with the extensive JAX-based machine learning ecosystem, enabling it to address physics-based machine learning, optimization, and inverse problems. XLB has been successfully scaled to handle simulations with billions of cells, achieving giga-scale lattice updates per second. XLB is released under the permissive Apache-2.0 license and is available on GitHub at https://github.com/Autodesk/XLB.
format Preprint
id arxiv_https___arxiv_org_abs_2311_16080
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle XLB: A differentiable massively parallel lattice Boltzmann library in Python
Ataei, Mohammadmehdi
Salehipour, Hesam
Computational Physics
Computational Engineering, Finance, and Science
Machine Learning
The lattice Boltzmann method (LBM) has emerged as a prominent technique for solving fluid dynamics problems due to its algorithmic potential for computational scalability. We introduce XLB library, a Python-based differentiable LBM library based on the JAX platform. The architecture of XLB is predicated upon ensuring accessibility, extensibility, and computational performance, enabling scaling effectively across CPU, TPU, multi-GPU, and distributed multi-GPU or TPU systems. The library can be readily augmented with novel boundary conditions, collision models, or multi-physics simulation capabilities. XLB's differentiability and data structure is compatible with the extensive JAX-based machine learning ecosystem, enabling it to address physics-based machine learning, optimization, and inverse problems. XLB has been successfully scaled to handle simulations with billions of cells, achieving giga-scale lattice updates per second. XLB is released under the permissive Apache-2.0 license and is available on GitHub at https://github.com/Autodesk/XLB.
title XLB: A differentiable massively parallel lattice Boltzmann library in Python
topic Computational Physics
Computational Engineering, Finance, and Science
Machine Learning
url https://arxiv.org/abs/2311.16080