OpenFOAM

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

特徴

文法 
特徴の一つにテンソル解析や偏微分方程式に似た文法を用いる。 例えば、以下の方程式
 
は以下のコードで示される
solve
(
     fvm::ddt(rho,U)
   + fvm::div(phi,U)
   - fvm::laplacian(mu,U)
  ==
   - fvc::grad(p)
);
オブジェクト指向プログラミングと利用者定義演算子により実現された文法により、利用者は比較的簡単にカスタムソルバーを作成することができる。しかしOpenFOAMのライブラリは仕様書不足とテンプレートメタプログラミングが多用されているためライブラリをより深く使うにつれて難易度が上がる。

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

標準ソルバー 
流体計算を中心とした作成済みのソルバーが用意されている。このソルバーを使用すると以下のような解析を行うことができる。
 ポテンシャル流れの計算
 移流拡散方程式の計算
 非圧縮性、圧縮性の熱流体解析（DNS、RANS、LES）
 多相流解析
 電磁流体解析
 燃焼解析
 粒子追跡計算
 分子動力学計算
 応力計算
 ブラック-ショールズ方程式の計算
また計算格子を生成するためのメッシャー、前後処理用のユーティリティーも用意されていてこれらを使用することでプログラミングを行うことなく計算、結果可視化が実行できる。

脚注

外部リンク 
 OpenFOAM財団ウェブサイト
 スーパーコンピュータOpenFOAM講習会(東京大学情報基盤センター)

学習用の書籍等 
 オープンCAE学会(編):「OpenFOAMによる熱移動と流れの数値解析」、森北出版、 ISBN 9784627691018、（2016年6月）。※これは初版。
 Tomislav Marić、Jens Höpken、Kyle Mooney：「OpenFOAMプログラミング」、森北出版、ISBN 978-4-627-67091-4、(2017年12月)。
 Tomislav Marić、Jens Höpken、Kyle Mooney："The OpenFOAM Technology Primer”、SourceFlux GmbH、ISBN 978-3000467578、DOI:10.13140/2.1.2532.9600、(2014).　※ 上記の原著
 人見大輔：「OpenFOAMライブラリリファレンス」、森北出版、ISBN 978-4-627-69161-2、(2020年4月）。
 川畑 真一:「OpenFOAMの歩き方 (技術の泉シリーズ（NextPublishing)) 」、インプレスR&D、ISBN 978-4844379522、(2021年2月)。
 オープンCAE学会 (編):「OpenFOAMによる熱移動と流れの数値解析(第2版)」、森北出版、ISBN 978-4627691025、（2021年3月）。
 野村 悦治:「オープンCAEのためのDEXCS for OpenFOAMハンドブック」、丸善出版、ISBN 978-4621306130、(2021年5月)。
 川畑 真一:「改訂新版 OpenFOAMの歩き方 (技術の泉シリーズ（NextPublishing)) 」、インプレスR&D、ISBN 978-4295601005、(2022年4月)。

2004年のソフトウェア
C++でプログラムされたフリーソフトウェア
数値流体力学
物理学ソフトウェア