流体解析(1)

移流拡散が簡単だったので、流体計算をやってみようと考えました。
これがかなりめんどくさかった…。

現実問題の流体なんて、ロケットの噴射口とか音速以上の場合以外はたいてい非圧縮性なので、非圧縮性流体解析を実装しようと考えました。
連続の式を満たすようにナビエ・ストークス式を解けばいいわけですね。式が二つある上に圧力まで解かないといけなくなってめんどくさい…。


二つの式をいっぺんに解くか、一つずつ分離して解くか、用途によって変わってきますが…。
とりあえず両方作ってみます。まあ、勉強として。

(1)分離解法
とりあえずfractional step法で速度と圧力の式を分けます。mac法とかsmac法とかsimple, simpler法やらいろんな名前の分離解法がありますけど、とりあえずfractional step法を理解すればどうとでもなる印象。
名前でググるとそれで終わりですが、速度を陽的に適当に求めた後、連続の式を満たすように圧力の式をポアソン方程式の形で作り、求めた圧力の値を使って速度の値を補正して、1step終了。あとはこれを繰り返して時間を更新していく。
これは有限差分法とかの教科書を見ると定式化までは書いてあるので、あとは移流拡散方程式のときのSUPG法を使いつつ、ポアソン方程式と組み合わせれば何とかなります。


(2)一致解法
…これは長くなるので後で。このへんから教科書がなくなって辛くなってきます…