トップQs
タイムライン
チャット
視点
OpenFOAM
ウィキペディアから
Remove ads
OpenFOAM(Open source Field Operation And Manipulationの略称)は数値解析開発、及び数値流体力学を含む連続体力学の前後処理用のC++製ツールボックスである。GNU General Public License公開のオープンソースであり、名称は2007年にOpenCFD Ltdが登録後、2011年にOpenFOAM財団が非独占権利者となった。
Remove ads
特徴
文法
特徴の一つにテンソル解析や偏微分方程式に似た文法を用いる。 例えば、以下の方程式[6]
は以下のコードで示される
solve
(
fvm::ddt(rho,U)
+ fvm::div(phi,U)
- fvm::laplacian(mu,U)
==
- fvc::grad(p)
);
オブジェクト指向プログラミングと利用者定義演算子により実現された文法により、利用者は比較的簡単にカスタムソルバーを作成することができる。しかしOpenFOAMのライブラリは仕様書不足とテンプレートメタプログラミングが多用されているためライブラリをより深く使うにつれて難易度が上がる。
拡張性
境界条件や乱流モデルを修正する際に、既存ソースコード修正及びコンパイルの代わりにソルバーを用いる方法として、基本インタフェース (情報技術)の基本クラスとFactory Method パターンの組み合わせであるrun-time selectionがある。[7]
Remove ads
標準ソルバー
流体計算を中心とした作成済みのソルバーが用意されている。このソルバーを使用すると以下のような解析を行うことができる[8]。
- ポテンシャル流れの計算
- 移流拡散方程式の計算
- 非圧縮性、圧縮性の熱流体解析(DNS、RANS、LES)
- 多相流解析
- 電磁流体解析
- 燃焼解析
- 粒子追跡計算
- 分子動力学計算
- 応力計算
- ブラック-ショールズ方程式の計算
また計算格子を生成するためのメッシャー、前後処理用のユーティリティーも用意されていて[9]これらを使用することでプログラミングを行うことなく計算、結果可視化が実行できる。
脚注
外部リンク
学習用の書籍等
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads