数学とか語学とか楽しいよね

フランス語、ドイツ語、ロシア語、アラビア語、オランダ語、英語、スペイン語、ラテン語とか数学とか数値計算(有限要素法、有限体積法、差分法、格子ボルツマン法、数理最適化、C++コード付き)とか勉強したことをまとめます。右のカテゴリーから興味のある記事を探してください。最近はクラシックの名演も紹介しています。noteにも書いています。https://note.mu/kumag_min

【数値計算】Roe平均の見つけ方 -そのアイディア

1, 保存量  qヤコビアン  f をあるパラメータ  z で表現する。

2, 保存量とヤコビアンのそのパラメータ  z に対するヤコビアン  \frac{\partial q}{\partial z}, \frac{\partial f}{\partial z} を計算する。

3,「流束の差=近似ヤコビアン×保存量の差」という関係式  f(q_i)-f(q_{i-1}) = \hat{A} (q_i - q_{i-1}) を用いて、パラメータ  z によるヤコビアン  \frac{\partial q}{\partial z}, \frac{\partial f}{\partial z} の線積分を考える。

4, すると、各々から  f(q_i)-f(q_{i-1}) = \hat{C} (Z_i - Z_{i-1}) q_i - q_{i-1} = \hat{B} (Z_i - Z_{i-1}) という関係式を得る。ただし、ここで  \hat{B}, \hat{C} はパラメータ  z によるヤコビアン  \frac{\partial q}{\partial z}, \frac{\partial f}{\partial z} の線積分である。

5, 3つの式、 f(q_i)-f(q_{i-1}) = \hat{A} (q_i - q_{i-1}) f(q_i)-f(q_{i-1}) = \hat{C} (Z_i - Z_{i-1}) q_i - q_{i-1} = \hat{B} (Z_i - Z_{i-1}) を比べることによって、近似ヤコビアン  \hat{A} = \hat{C}\hat{B}^{-1} を得る。

6, 近似ヤコビアンRoe平均を用いると、本来のヤコビアンと形が一致する。このことを利用してRoe平均を見つけることができる。


参考
Randall J. LeVeque, "Finite Volume Methods for Hyperbolic Problems", 15.3.3 Roe Solver for the Shallow Water Equations, pp.320-322