JAX-Fluids: A fully-differentiable high-order computational fluid dynamics solver for compressible two-phase flows

被引:44
作者
Bezgin, Deniz A. [1 ]
Buhendwa, Aaron B. [1 ]
Adams, Nikolaus A. [1 ]
机构
[1] Tech Univ Munich, Sch Engn & Design, Chair Aerodynam & Fluid Mech, Boltzmannstr 15, D-85748 Garching, Germany
关键词
Computational fluid dynamics; Machine learning; Differential programming; Navier-Stokes equations; Level-set; Turbulence Two-phase flows; ALGORITHMS; SIMULATION; SCHEMES;
D O I
10.1016/j.cpc.2022.108527
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Physical systems are governed by partial differential equations (PDEs). The Navier-Stokes equations describe fluid flows and are representative of nonlinear physical systems with complex spatio-temporal interactions. Fluid flows are omnipresent in nature and engineering applications, and their accurate simulation is essential for providing insights into these processes. While PDEs are typically solved with numerical methods, the recent success of machine learning (ML) has shown that ML methods can provide novel avenues of finding solutions to PDEs. ML is becoming more and more present in computational fluid dynamics (CFD). However, up to this date, there does not exist a general-purpose ML-CFD package which provides 1) powerful state-of-the-art numerical methods, 2) seamless hybridization of ML with CFD, and 3) automatic differentiation (AD) capabilities. AD in particular is essential to ML-CFD research as it provides gradient information and enables optimization of preexisting and novel CFD models. In this work, we propose JAX-Fluids: a comprehensive fully-differentiable CFD Python solver for compressible two-phase flows. JAX-Fluids is intended for ML-supported CFD research. The framework allows the simulation of complex fluid dynamics with phenomena like three-dimensional turbulence, compressibility effects, and two-phase flows. Written entirely in JAX, it is straightforward to include existing ML models into the proposed framework. Furthermore, JAX-Fluids enables end-to-end optimization. I.e., ML models can be optimized with gradients that are backpropagated through the entire CFD algorithm, and therefore contain not only information of the underlying PDE but also of the applied numerical methods. We believe that a Python package like JAX-Fluids is crucial to facilitate research at the intersection of ML and CFD and may pave the way for an era of differentiable fluid dynamics.
引用
收藏
页数:29
相关论文
共 72 条
[1]  
Abadi Martin, 2016, arXiv
[2]   Monotonicity preserving weighted essentially non-oscillatory schemes with increasingly high order of accuracy [J].
Balsara, DS ;
Shu, CW .
JOURNAL OF COMPUTATIONAL PHYSICS, 2000, 160 (02) :405-452
[3]   The quiet revolution of numerical weather prediction [J].
Bauer, Peter ;
Thorpe, Alan ;
Brunet, Gilbert .
NATURE, 2015, 525 (7567) :47-55
[4]  
Baydin AG, 2018, J MACH LEARN RES, V18
[5]   WENO3-NN: A maximum-order three-point data-driven weighted essentially non-oscillatory scheme [J].
Bezgin, Deniz A. ;
Schmidt, Steffen J. ;
Adams, Nikolaus A. .
JOURNAL OF COMPUTATIONAL PHYSICS, 2022, 452
[6]   A data-driven physics-informed finite-volume scheme for nonclassical undercompressive shocks [J].
Bezgin, Deniz A. ;
Schmidt, Steffen J. ;
Adams, Nikolaus A. .
JOURNAL OF COMPUTATIONAL PHYSICS, 2021, 437
[7]   An improved weighted essentially non-oscillatory scheme for hyperbolic conservation laws [J].
Borges, Rafael ;
Carmona, Monique ;
Costa, Bruno ;
Don, Wai Sun .
JOURNAL OF COMPUTATIONAL PHYSICS, 2008, 227 (06) :3191-3211
[8]  
Bradbury James., 2018, JAX: composable transformations of Python+NumPy programs
[9]   Perspective on machine learning for advancing fluid mechanics [J].
Brenner, M. P. ;
Eldredge, J. D. ;
Freund, J. B. .
PHYSICAL REVIEW FLUIDS, 2019, 4 (10)
[10]   Special issue on machine learning and data-driven methods in fluid dynamics [J].
Brunton, Steven L. ;
Hemati, Maziar S. ;
Taira, Kunihiko .
THEORETICAL AND COMPUTATIONAL FLUID DYNAMICS, 2020, 34 (04) :333-337