OpenFOAM

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
OpenFOAM
Screenshot OpenFOAM-2.1.x gnome-terminal.png
作者 Henry Weller
開発元 CFD Direct[1]
初版 2004年12月10日(12年前) (2004-12-10[2]
最新版 5.0[3] / 2017年7月26日 (2017-07-26)[4]
リポジトリ github.com/OpenFOAM/OpenFOAM-dev
プログラミング言語 C++
対応OS Unix/Linux
種別 数値流体力学, シミュレーションソフトウェア
ライセンス GPLv3
公式サイト openfoam.org
テンプレートを表示

OpenFOAM(Open source Field Operation And Manipulationの略称)は数値解析開発、及び数値流体力学を含む連続体力学の前後処理用のC++製ツールボックスである。GNU General Public License公開のオープンソースであり、名称は2007年にOpenCFD Ltdが登録後、2011年にOpenFOAM財団が非独占権利者となった。

特徴[編集]

文法[編集]

特徴の一つにテンソル解析や偏微分方程式に似た文法を用いる。 例えば、以下の方程式[5]

は以下のコードで示される

solve
(
     fvm::ddt(rho,U)
   + fvm::div(phi,U)
   - fvm::laplacian(mu,U)
  ==
   - fvc::grad(p)
);

オブジェクト指向プログラミング利用者定義演算子により解法が示されるが、コードの修正はOpenFOAM libraryが難解かつ参考資料が少ないことから、テンプレートメタプログラミングに偏る恐れがある。

拡張性[編集]

境界条件や乱流モデルを修正する際に、既存ソースコード修正及びコンパイルの代わりにソルバーを用いる方法として、基本インタフェース (情報技術)の基本クラスとFactory Method パターンの組み合わせであるrun-time selectionがある。[6]

標準ソルバー[編集]

流体計算を中心とした作成済みのソルバーが用意されている。このソルバーを使用すると以下のような解析を行うことができる[7]

また計算格子を生成するためのメッシャー、前後処理用のユーティリティーも用意されていて[8]これらを使用することでプログラミングを行うことなく計算、結果可視化が実行できる。

脚注[編集]

外部リンク[編集]