完全な編集:
問題全体についてもう少し情報を提供します。プロジェクトは初期段階にあり、私の質問は実際には物事のごく一部についてのみです。
最終的な目標:
私は現在、Pythonで硬い障害物の周りの熱気の流れをシミュレートしようとしています。私は安定した空気の流入を持っています、バルクの流れは一時的で乱流です。演習全体の目的は、
-空気の流れがどのように動作するか
-障害物が熱くなる
-空気が冷えて気圧が下がる方法を理解することです。
これまでに行われたこと:
それほど多くはありませんが、物事は初期段階にあります。2Dの長方形のドメインと円形の障害物があります。メッシュは、バルクと障害物の境界で細かくなります。これは、興味深いことが起こっている場所だからです。現在、私は気流のみを考慮しており、対流や熱伝達は考慮していません。FEniCSを使用していますナビエ・ストークス方程式を解くためのソフトウェアコレクション。Fenicsには、Chorin射影法を使用したNSソルバーの例が付属しています。この例を、自分の設定に適合させました。剛体を滑りのない境界条件のある領域としてモデル化します(つまり、気流の速度をゼロに設定します)。ソルバーは引き続きその領域のNS方程式を解きます。特に、障害物内の圧力は時間とともに変化します。おそらく、これを回避し、NSソルバーをバルクに制限することをお勧めします。しかし、現時点では、これが速度にあまり影響を与えるとは思いません。
問題:
物事は非常に遅くなります。最終的なシミュレーションに数日かかるかどうかは気になりませんが、現在は障害物の周りの2次元の流体の流れであり、メッシュは最終的に望むほど細かくありません。熱が作用するともっと複雑になるので、これがもっと速くなることを望みました。
私の質問:
それは1つの質問に要約されます:
Pythonでナビエ-ストークス方程式を解くための高速なアルゴリズムまたは方法は何ですか?
ソルバーを最初から作成することはまったく問題ありませんが、同じ問題が発生します。今朝、投影法はおそらく最悪のアイデアではないことに気づきました。圧力と速度のアップグレードを切り離すため、これを別のCPUカーネルに割り当てることができます。