投稿日時: 2016/04/17
S Nakagawa
OpenFOAM バグトラッキングシステムの見方
Mantis Bug Tracker システムを利用して,OpenFOAMのバグトラッキングシステムが公開されている。
OpenFOAM Bug Tracker
MantisBT
OpenFOAMのバグに関する情報が報告される。開発者からレスポンスがあり,修正されると,その報告も届く。
例えば,図1の場合,fvOptionsを使えるようにしたソースと,それをコメントアウトしたソースで,答えが異なるという報告があった。それについては,乱流モデル内のdivDevRhoReff関数が行列を生成する際に,境界条件をアップデートするタイミングの問題であったと開発者Henryから回答があり,OpenFOAM-devで修正された(comit 8e04a529d9edcc35a927be97b6995f9c6d776413)。
この修正内容を確認するために,GitHubのOpenFOAM-devリポジトリ(図2)を見る。
このサイトにて,commitへのリンクをクリックすると,日付毎に並んだコミット情報を見ることができる。ここで,先のコミットを探してみる。報告があった日付は2016-02-04である。その日付付近(今回は翌日2月5日)で,comit番号の先頭の数字 8e04a52 が書かれたコミットが見つかる。(図3)
コミット番号をクリックして,詳細を確認すると,図4のようなページとなる。ここで,先のバグに関連するものであることや,簡単な説明と共に,修正前後のコードを見ることができる。
なお,今回の修正は,とても奥が深くて興味深い。C++では,式の右側から左側の順で評価される。fvmの計算を式の右側(後ろの方)に下記,fvcの計算を式の左側(前方)に書くことで,修正としている。fvcがexplicitな計算に相当するのだろうか?fvm計算が,境界条件のUpdateに関係するのだろう。詳細は,追って調査したい。
Fig.1 MantisBT for OpenFOAM
Fig.2 GitHub: OpenFOAM-dev
Fig.3 GitHub: OpenFOAM-dev: commit 8e04a52
Fig.4 GitHub: OpenFOAM-dev