趣味で計算流砂水理

Computational Sediment Hydraulics for Fun

ネタ

平面二次元

射流の流量と河積を与えてみたらどうでしょうか? 延伸するのが、対応としては正解かもしれません。 ただ、メッシュを切るときに、 射流となるような箇所を上流端とするのがイマイチわからんのですが。 測量データがない?

これまで、非定常1次元でも、上流端射流を解いたことがないので、 一度整理してみます。

doxygen

API仕様書を作成するツールで、 C++で使っていますが、いろんな言語に対応しています。 要は、決まったコメントの付け方をすれば、 変数名とかクラスとかの説明をHTML形式で出力しますよ、 というツールです。 fotranにも対応しているようです。

保存性

(ご存知かもしれません)

移流項のスキームで、保存形とか非保存形とか言われています。 NS方程式で言えば、

\displaystyle \frac{\partial uu}{\partial x} + \frac{\partial vu}{\partial y}

が保存形であり、

\displaystyle u\frac{\partial u}{\partial x} + v\frac{\partial u}{\partial y}

が非保存形です。

どちらかといえば、保存形を用いて離散化をしなければならないということが、多くの書籍に書かれています。 そうでもないようです。

ここで正しいスキームは、 保存形=非保存形が保証されているスキームであり、 連続式である

\displaystyle \frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} = 0

を満足するスキームです。

移流項の離散化はいくつもありますが、 単純に非保存形を離散化すると保存性が悪いスキームになります。 ただし、非保存形であっても、コントロールボリュームを意識して離散化すれば、 保存性の良いスキームになります。

当たり前の話ですが、左右辺が等価な数式を表現できないスキームは評価が下がるような気がします。

これまで、「保存形じゃなきゃ駄目」という固定観念がありましたが、 非保存形の表現でもいいんだと気づかされました。

FEM

VOF法を調べていると、FEMの話が出てきます。 FEMであっても、指向性のある移流項を精度良くのは難しいです。

良く耳にするSUPG法について書籍を読み返して、何がすごいのか理解しました。

最初は単純に人工粘性を調節してるだけでしょと思ってたんですが、 重み関数のほうを風上化してあげて、形状関数はガラーキン法のままって所でした。

したがって、離散化の部分(形状関数)には人工粘性は入っていない所が、感動ポイントです。

ただし、CIVAまでは遠そうです。