arriemeijer-creator/AeroJAX
AeroJAX: A differentiable, structure-preserving framework for real-time flow simulation, control, and inverse design. Architected for neural operator integration and latent-space acceleration. Built with JAX.
解決する課題
AeroJAXは、計算流体力学(CFD)をバッチ指向のプロセスからインタラクティブな体験へと変革します。従来のCFDでは、シミュレーションの設定、完了までの実行、その後の結果分析が必要ですが、AeroJAXではシミュレーションを再起動することなく、ソルバーパラメータ、境界条件、ジオメトリをリアルタイムで変更できます。
仕組み
JAX上に構築されたこのフレームワークは、エンドツーエンドの微分可能なパイプラインを実装しています。非圧縮性ナビエ・ストークス(有限差分)と格子ボルツマン法(D2Q9/D2Q7)の両方のソルバーをサポートします。CPU上でリアルタイム性能を達成するために、共有メモリのゼロコピーバッファを使用した分離されたソルバー、レンダリング、メトリクススレッドを使用します。埋め込み境界にはBrinkmanペナルティ法を採用し、ユーザーが障害物を描画したり、翼をライブで移動したりできます。数値的安定性と精度のために、さまざまな移流スキーム(RK2/RK3)と圧力ソルバー(FFT、共役勾配法、マルチグリッド)を提供し、乱流にはSmagorinsky LESモデルも備えています。
対象ユーザー
流れの研究、制御、逆設計のために設計されており、特に2D流体シミュレーションのプロトタイピングやCFD用のニューラルオペレーターの研究を行う人々を対象としています。
ハイライト
- インタラクティブなジオメトリ: マウスでカスタム障害物を描画したり、実行中にNACA翼をドメイン全体にドラッグしたりできます。
- 微分可能なソルバー: JAXネイティブ実装により、別の随伴ソルバーなしで勾配ベースの逆設計(例:抗力を最小化する翼形状の最適化)が可能です。
- 数値的透明性: ソルバートレースビューアにより、数値パイプラインの段階的な検査が可能で、中間フィールドやLaTeXでレンダリングされた方程式を表示します。
- ニューラルオペレーター統合: データセットの生成、ニューラルオペレーターのトレーニング、シミュレーション途中での標準圧力ソルバーのトレーニング済みモデルへの交換を行う実験的ツールが含まれています。
- 高いCPU性能: リアルタイム使用向けに最適化されており、512×96グリッドでラップトップCPU上で約297 FPSを達成します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト