OpenFOAM
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/14 06:54 UTC 版)
端末エミュレータ動作例 | |
作者 | Henry Weller |
---|---|
開発元 | CFD Direct[1] / OpenCFD [2] |
初版 | 2004年12月10日[3] |
最新版 | |
リポジトリ | |
プログラミング 言語 | C++ |
対応OS | Unix/Linux |
種別 | 数値流体力学, シミュレーションソフトウェア |
ライセンス | GPLv3 |
公式サイト |
openfoam |
特徴
文法
特徴の一つにテンソル解析や偏微分方程式に似た文法を用いる。 例えば、以下の方程式[6]
は以下のコードで示される
solve
(
fvm::ddt(rho,U)
+ fvm::div(phi,U)
- fvm::laplacian(mu,U)
==
- fvc::grad(p)
);
オブジェクト指向プログラミングと利用者定義演算子により実現された文法により、利用者は比較的簡単にカスタムソルバーを作成することができる。しかしOpenFOAMのライブラリは仕様書不足とテンプレートメタプログラミングが多用されているためライブラリをより深く使うにつれて難易度が上がる。
拡張性
境界条件や乱流モデルを修正する際に、既存ソースコード修正及びコンパイルの代わりにソルバーを用いる方法として、基本インタフェース (情報技術)の基本クラスとFactory Method パターンの組み合わせであるrun-time selectionがある。[7]
標準ソルバー
流体計算を中心とした作成済みのソルバーが用意されている。このソルバーを使用すると以下のような解析を行うことができる[8]。
- ポテンシャル流れの計算
- 移流拡散方程式の計算
- 非圧縮性、圧縮性の熱流体解析(DNS、RANS、LES)
- 多相流解析
- 電磁流体解析
- 燃焼解析
- 粒子追跡計算
- 分子動力学計算
- 応力計算
- ブラック-ショールズ方程式の計算
また計算格子を生成するためのメッシャー、前後処理用のユーティリティーも用意されていて[9]これらを使用することでプログラミングを行うことなく計算、結果可視化が実行できる。
- ^ “CFD Direct - The Architects of OpenFOAM”. CFD Direct. 2015年3月27日時点のオリジナルよりアーカイブ。2019年6月27日閲覧。
- ^ “The open source CFD toolbox”. OpenFOAM. 2019年6月27日閲覧。
- ^ “OpenFOAM Version 1.0”. 2017年6月7日時点のオリジナルよりアーカイブ。2019年6月27日閲覧。
- ^ “OpenFOAM® History”. 2023年12月14日閲覧。
- ^ “Release History - OpenFOAM”. 2023年12月14日閲覧。
- ^ Creating solvers in OpenFOAM
- ^ OpenFOAM's run-time selection mechanism explained
- ^ OpenFOAM Standard solvers
- ^ OpenFOAM User Guide: 3.6 Standard utilities
- 1 OpenFOAMとは
- 2 OpenFOAMの概要
- 3 外部リンク
- OpenFOAMのページへのリンク