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

计算流体力学 解算器 计算机科学 压缩性 非线性系统 流体力学 可微函数 应用数学 湍流 偏微分方程 湍流模型 可压缩流 流体力学 机械 数学 物理 数学分析 量子力学 程序设计语言
作者
Deniz A. Bezgin,Aaron B. Buhendwa,Nikolaus A. Adams
出处
期刊:Computer Physics Communications [Elsevier BV]
卷期号:282: 108527-108527 被引量:58
标识
DOI:10.1016/j.cpc.2022.108527
摘要

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. Program title: JAX-Fluids CPC Library link to program files: https://doi.org/10.17632/pzvkwn5s6p.1 Developer's repository link: https://github.com/tumaer/JAXFLUIDS Code Ocean capsule: https://codeocean.com/capsule/6819679 Licensing provisions: GNU GPLv3 Programming language: Python Supplementary material: Source code; Examples; Videos: Moving solid bodies, Taylor-Green vortex, Rising bubble, Shock-bubble interaction. Nature of problem: The compressible Navier-Stokes equations describe continuum-scale fluid flows. These flows often involve highly complex flow phenomena such as shocks, material interfaces, and turbulence. The intrinsic nonlinear dynamics render the numerical simulation of the these equations challenging. Machine learning provides novel avenues for describing partial differential equations. Machine learning models rely on gradient information provided by automatic differentiation and are often implemented in Python. In contrast, existing high-performance computational fluid dynamics codes are typically written in Fortran or C++ and do not offer inherent automatic differentiation capabilities. These discrepancies hinder the advance of machine-learning-supported computational fluid dynamics. Up to this day, a general-purpose fully-differentiable computational fluid dynamics solver for compressible two-phase flows is missing. Solution method: We introduce JAX-Fluids: a general-purpose three-dimensional fully-differentiable computational fluid dynamics solver for compressible two-phase flows. JAX-Fluids is a simulation framework intended for machine-learning-supported computational fluid dynamics research. Our framework is written entirely in JAX, a high-performance numerical computing library with automatic differentiation capabilities. We have used an object-oriented programming style and a modular design philosophy. This allows the straightforward exchange of numerical methods. We provide a wide variety of state-of-the-art high-order computational methods for compressible flows. The modularity of our framework additionally facilitates the integration of custom subroutines. We use the sharp-interface level-set method to model two-phase flows. The software package can easily be installed as a Python package. We have build the source code around the JAX NumPy API. This makes JAX-Fluids accessible and performant. JAX-Fluids runs on CPUs, GPUs, and TPUs. We use HDF5 in combination with XDMF for writing output quantities. The Python packages Haiku and Optax are used for implementation and training of machine learning methods. Additional comments including restrictions and unusual features: JAX-Fluids relies on open-source third-party Python libraries. These are automatically installed. In the current version, JAX-Fluids only runs on a single accelerator (CPU/GPU/TPU). Future versions will include support for parallel execution. JAX-Fluids has been tested on Linux and macOS operating systems.

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
王禹棋发布了新的文献求助10
3秒前
研友_GZ3zRn完成签到 ,获得积分0
3秒前
sll完成签到 ,获得积分10
4秒前
JUN完成签到,获得积分10
5秒前
拓小八完成签到,获得积分0
6秒前
ll完成签到,获得积分10
6秒前
瞿人雄完成签到,获得积分10
8秒前
没心没肺完成签到,获得积分10
10秒前
王禹棋完成签到,获得积分10
11秒前
DZQ完成签到,获得积分10
11秒前
拼搏映菡完成签到 ,获得积分10
11秒前
猪猪hero应助科研通管家采纳,获得10
12秒前
猪猪hero应助科研通管家采纳,获得10
12秒前
Lrcx完成签到 ,获得积分10
30秒前
忧虑的静柏完成签到 ,获得积分10
33秒前
Aphelion完成签到 ,获得积分10
34秒前
豆豆麻袋袋完成签到 ,获得积分10
34秒前
慧子完成签到 ,获得积分10
36秒前
学术霸王完成签到,获得积分10
38秒前
悦耳的城完成签到 ,获得积分10
42秒前
zhangjianzeng完成签到 ,获得积分10
44秒前
研友_ZzrWKZ完成签到 ,获得积分10
50秒前
大脸猫完成签到 ,获得积分10
54秒前
ramsey33完成签到 ,获得积分10
55秒前
千帆破浪完成签到 ,获得积分10
55秒前
1分钟前
甜心椰奶莓莓完成签到 ,获得积分10
1分钟前
hanliulaixi完成签到 ,获得积分10
1分钟前
温柔樱桃完成签到 ,获得积分10
1分钟前
大气思柔完成签到 ,获得积分10
1分钟前
lyb1853完成签到 ,获得积分10
1分钟前
氕氘氚完成签到 ,获得积分10
1分钟前
Shelly_ming完成签到,获得积分10
2分钟前
14and15完成签到 ,获得积分10
2分钟前
楠瓜完成签到,获得积分10
2分钟前
leapper完成签到 ,获得积分10
2分钟前
坦率雪枫完成签到 ,获得积分10
2分钟前
charry完成签到,获得积分10
2分钟前
Ava应助科研通管家采纳,获得10
2分钟前
小蘑菇应助科研通管家采纳,获得10
2分钟前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
AnnualResearch andConsultation Report of Panorama survey and Investment strategy onChinaIndustry 1000
卤化钙钛矿人工突触的研究 1000
Engineering for calcareous sediments : proceedings of the International Conference on Calcareous Sediments, Perth 15-18 March 1988 / edited by R.J. Jewell, D.C. Andrews 1000
Continuing Syntax 1000
Signals, Systems, and Signal Processing 610
2026 Hospital Accreditation Standards 500
热门求助领域 (近24小时)
化学 材料科学 医学 生物 纳米技术 工程类 有机化学 化学工程 生物化学 计算机科学 物理 内科学 复合材料 催化作用 物理化学 光电子学 电极 细胞生物学 基因 无机化学
热门帖子
关注 科研通微信公众号,转发送积分 6262544
求助须知:如何正确求助?哪些是违规求助? 8084657
关于积分的说明 16891455
捐赠科研通 5333187
什么是DOI,文献DOI怎么找? 2838925
邀请新用户注册赠送积分活动 1816335
关于科研通互助平台的介绍 1670049