Youtube登録者5000人突破!!

【CFD/格子法】連成解法と分離解法の違い

流体解析(CFD)を使っていると、連成解法と分離解法という記述が出てくることがあります。今回はこれらの違いを学びましょう。

分離解法

分離解法とは、ナビエストークス方程式をいくつかの式に分けて計算する方法です。分離型ソルバーフラクショナルステップ法などとも呼ばれます。他にも予測子修正子法とも呼ばれます。これは、予測子と修正子という2つの要素に分かれることを意味しており、全ての呼び方で共通して分けて計算することが強調されています。

$$\frac {\partial v}{\partial t}+(v \cdot \nabla )v=\frac {1}{\rho} \nabla p + { \nu \triangle v}+{g}$$

ナビエストークス方程式は、左辺は非定常項と呼ばれる時間に関する項と移流項と呼ばれる流体の移動に関する項、そして左辺は圧力項と粘性項、重力項に分けられます。

分離解法では、この左辺にある項を別々に解きます。CFDでは非常に大きな行列を扱うことになるため、項を分けて解くだけで収束性の向上につながり、計算が超高速化します。

例えば、非定常項=外力項という形で一度解いて、仮の速度を求めます。それを使って、次は非定常項=粘性項を解き、その後に非定常項=圧力項を解いていくという流れで解くことができます。

フラクショナルステップ法という名前が一般的に使われるようですが、圧力だけを分離させて解く場合は、SIMPLE法やPISO法などといった具体的な手順が決まっている方法の名前で呼ばれることもあります。

圧力分離法だけ特別扱いされている理由としては、圧力だけは分離しないとまともに解けないからです。圧力計算の収束性が著しく悪いことも影響していると思いますが、基本的には圧力はわけないと解けないと考えましょう。

ただ一方で、フラクショナルステップ法のように圧力項と粘性項と重力項と全てを分けてしまうと、収束性は上がるものの誤差が大きくなってしまいます。理由としては、お互いの相互作用が無視されるからです。例えば、重力項の影響によって粘性項の影響が変わる場合は、一緒に計算したほうが良いといった感じです。

そのため、SIMPLE法やPISO法などの圧力分離型ソルバーと呼ばれるものが、流体解析では一般的に使われています。

連成解法

連成解法では、下記のナビエストークス方程式を一度で解く方法です。

$$\frac {\partial v}{\partial t}+(v \cdot \nabla )v=\frac {1}{\rho} \nabla p + { \nu \triangle v}+{g}$$

一度で解くことの大きなメリットは精度の向上です。圧力と粘性、重力と圧力の相互作用が起きるような現象でも挙動をとらえることができます。これは、分離型ソルバーではできません。

ただし、連成解法は一般的にはまだまだ取り入れられていないというのが現状です。理由としては、正確に解くよりも早く解きたいというニーズが高いからでしょう。

いくらムーアの法則でCPU性能が伸びているといっても、まだまだスパコン需要も多く、もっと高速で大規模な計算を解きたいというニーズが多いです。最近ではGPU計算も注目されているところを見ると、まだ当分は精度への注目は向かないと思います。

また精度に関しては、流体解析ではいじるところがたくさんあります。時間スキームや移流スキームなどは特に代表的であり、計算誤差を生み出している主要因です。連成解析に時間をかけるよりかは、他の部分の誤差をつぶすほうが先決という判断になると思います。

おわりに

連成解法と分離解法について紹介しました。

youtubeでもCFDに関する動画を出しているので、よかったらそちらもどうぞ。