OpenFOAM

OpenFOAM
 ウィキデータを編集
OpenFOAM の公式ロゴマーク
スクリーンショット
作者 Henry Weller
開発元 CFD Direct / OpenCFD
初版 2004年12月10日(21年前) (2004-12-10)
最新版
ウィキデータを編集
安定版
14 / 2026年7月10日 (3か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
C++
対応OS Unix / Linux / Windows 10 / Windows11内蔵のWindows Subsystem for Linux (WSL)
対応言語 英語
サポート状況 開発中(サポート中)
種別 数値流体力学, シミュレーションソフトウェア。特に、数値解析開発、及び数値流体力学を含む連続体力学の前後処理用に向いている。
ライセンス GPLv3以降
公式サイト www.openfoam.com ウィキデータを編集
テンプレートを表示

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がある。

標準ソルバー

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

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

脚注

  1. ↑ “CFD Direct - The Architects of OpenFOAM”. CFD Direct. 2015年3月27日時点のオリジナルよりアーカイブ。2019年6月27日閲覧。
  2. ↑ “The open source CFD toolbox”. OpenFOAM. 2019年6月27日閲覧。
  3. ↑ “OpenFOAM Version 1.0”. 2017年6月7日時点のオリジナルよりアーカイブ。2019年6月27日閲覧。
  4. ↑ “Release 14” (2026年7月10日). 2026年7月15日閲覧。
  5. ↑ https://openfoam.org/download/windows/ [名無しリンク]
  6. ↑ Creating solvers in OpenFOAM
  7. ↑ OpenFOAM's run-time selection mechanism explained
  8. ↑ OpenFOAM Standard solvers
  9. ↑ OpenFOAM User Guide: 3.6 Standard utilities

外部リンク

学習用の書籍等