tumaer/JAXFLUIDS
Differentiable Fluid Dynamics Package
What it solves
JAX-Fluids 是為了彌合機器學習與計算流體力學 (CFD) 之間的差距而設計的。它為 3D 可壓縮單相與兩相流提供了一個完全可微的解算器,允許研究人員使用自動微分對數值模型進行端到端優化。
How it works
該套件完全基於 JAX 建構,在笛卡兒網格上使用有限體積法求解 Navier-Stokes 方程式。它支援多種高階自適應空間重建 (例如 WENO 和 TENO),多個 Riemann 解算器,以及顯式時間步進。對於複雜流體,它包含用於兩相模擬與浸入式固體邊界 (immersed solid boundaries) 的 level-set 方法與 diffuse-interface 方法。
Who it's for
它適用於在 ML 與 CFD 交界處工作的研究人員,這些研究人員需要一個高性能、可微的解算器,且能跨 CPU、GPU 與 TPU 硬體進行擴展,包括大規模 HPC 集群。
Highlights
Fully Differentiable: 實現了用於模型優化的自動微分。
High Performance: 在 HPC 集群上高效擴展,已在多達 512 NVIDIA A100 GPUs 與 2048 TPU-v3 cores 上進行過測試。
Versatile Flow Models: 支援 3D 可壓縮流體、兩相模擬與浸入式固體邊界。
Hardware Agnostic: n/a (註:原文- 在 CPU, GPU, 與 TPU 上運行。)
Hardware Agnostic: 在 CPU, GPU, 與 TPU 上運行。