Table of Contents
- 導入
- 調査方法
- 分類別検索ヒット数
- 参考検索ヒット数
- 基礎的なCFDコード('Basic' CFD codes)
- 非圧縮性流れ(Incompressible flow)
- 圧縮性流れ(Compressible flow)
- 多層流(Multiphase flow)
- 直接数値シミュレーション(Direct numerical simulation (DNS))
- 燃焼(Combustion)
- 熱輸送と浮力駆動流れ(Heat transfer and buoyancy-driven flows)
- 粒子追跡流(Particle-tracking flows)
- 分子動力学法(Molecular dynamics methods)
- 直接シミュレーション・モンテカルロ法(Direct simulation Monte Carlo methods)
- 電磁流体(Electromagnetics)
- 固体応力解析(Stress analysis of solids)
- 金融工学(Finance)
- 周辺ツール
- 集計
- まとめ
- 質疑:2016-04-10追記
導入
OpenFOAMを使う理由がない
- 何か日常生活で役に立つようなこと
- 面白いこと
標準ソルバーの数が多すぎる…
- どれから手を付けたらいいかわからない
- どのソルバーが面白そうかわからない
丁度、2015-11-20にOpenFOAM v3.0.0がリリースされ、メジャーバージョンアップ
どのソルバーが有力か知りたいし、需要あるでしょ?
標準ソルバー
- 最新版OpenFOAMv3.0+が2016-01-13にリリース
- 13分類で合計69個(OpenFOAM User Guide: 3.5 Standard solvers)
- 配布元のESIのサイトにもマニュアルは存在するが、現在ユーザーガイドはCFD Directでメンテ。
番号 | 分類 | ソルバー数 |
---|---|---|
合計:69 | ||
1 | 基礎的なCFDコード | 3 |
2 | 非圧縮性流れ | 8 |
3 | 圧縮性流れ | 9 |
4 | 多相流 | 16 |
5 | 直接シミュレーション(DNS) | 1 |
6 | 燃焼 | 9 |
7 | 熱輸送と浮力駆動流れ | 7 |
8 | 粒子追跡流 | 7 |
9 | 分子動力学 | 2 |
10 | 直接シミュレーション・モンテカルロ法 | 1 |
11 | 電磁流体 | 3 |
12 | 固体応力解析 | 2 |
13 | 金融工学 | 1 |
調査方法
人気の定義
人気度=検索ヒット数
- 世界最大の検索エンジンであるGoogleを利用。
- Googleでの検索ヒット数を人気度とみなし、ソルバーごとの人気度を比較。
検索条件
- 米国Google(https://www.google.com/ncr)で検索
- 日本Google(co.jp)とで結果が異なる。基本的に米国の方がヒット数大。
- https://www.google.com/だとco.jpにリダイレクトされるので注意。
- ncr:non country registered。
- 検索語:
OpenFOAM "ソルバ名"
- Google検索では引用符で囲まないと勝手に単語分割される。
- sprayFoamのsprayなど一般的な単語を含むソルバ名の不公平さを排除。
- 使用ブラウザ:Chromium 49.0.2623.108 Ubuntu 14.04
- Googleアカウントをログアウト(検索履歴の影響排除)。
- ブラウザはシークレットモード(incognito)(Ctrl+N)で検索(調査中検索履歴の影響排除)。
- 調査(検索)実施日:2016-04-06
分類別検索ヒット数
参考検索ヒット数
- 検索ヒット数を単独でみても規模感がつかめない。
- オープンCAE関連語の検索ヒット数で規模感を把握。
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
OpenFOAM | OpenFOAM | 447000 |
OpenCFD | OpenFOAMの開発元 | 29800 |
OpenCAE | 日本で生まれた単語OpenCAE | 11100 |
オープンCAE学会 | 日本におけるオープンCAEの振興・後援団体 | 3840 |
The Open CAE Society of Japan | オープンCAE学会の英語表記 | 166 |
FrontFlow/blue | 国プロジェクトの流体解析ソフト | 1580 |
FrontFlow/red | 国プロジェクトの燃焼解析ソフト | 2240 |
FrontSTR | 国プロジェクトの構造解析ソフト | 3870 |
Salome-Meca | フランス公電公社EDFが開発した構造解析ソフト(プリ:Salome、ソルバ:Code Aster) | 19500 |
Code Aster | 構造解析ソフト | 47700 |
Code Saturne | 流体解析ソフト | 21500 |
OpenModelica | 1D CAE | 52700 |
基礎的なCFDコード('Basic' CFD codes)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
laplacianFoam | 固体の熱拡散のような単純な Laplace 方程式を解く | 1910 |
potentialFoam | 単純なポテンシャル流のソルバ.完全な Navier–Stokes 用コードを解く際の初期値の生成にも使用できる | 2300 |
scalarTransportFoam | パッシブスカラの輸送方程式を解く | 1290 |
※表中(以後も)説明文は ソフトウェアマニュアル翻訳 | 事業のご案内 | 一般社団法人オープンCAE学会を利用。
非圧縮性流れ(Incompressible flow)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
adjointShapeOptimizationFoam | 随伴形式を用いて圧力損失を生じると推定された領域に,「ブロッケージ」を適用することで管路形状を最適化する,非圧縮性・乱流の非ニュートン流体用定常ソルバ | 1240 |
boundaryFoam | 1 次元の非圧縮性・乱流用の定常状態ソルバで,通常,解析では流入口で境界層条件を発生させます. | 4570 |
icoFoam | ニュートン流体の非圧縮性,層流の速度-圧力ソルバ | 12900 |
nonNewtonianIcoFoam | 非ニュートン流体の非圧縮性,層流の非定常ソルバ | 3030 |
pimpleFoam | PIMPLE (SIMPLE と PISO の融合) アルゴリズムによる非圧縮性・乱流の,大きな時間ステップの非定常ソルバ | 3740 |
pisoFoam | 非圧縮性流れの非定常ソルバ | 4850 |
shallowWaterFoam | 回転を伴う非粘性浅水方程式の非定常ソルバ | 3020 |
simpleFoam | 非圧縮性・乱流の定常状態ソルバ | 14300 |
圧縮性流れ(Compressible flow)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
rhoCentralDyMFoam | 移動メッシュおよび乱流モデルに対応した, Kurganov とTadmor の中央風上スキームに基づいた密度ベースの圧縮性流ソルバ | 541 |
rhoCentralFoam | Kurganov と Tadmor の中央風上スキームに基づいた密度ベースの圧縮性流ソルバ | 2840 |
rhoPimpleFoam | 冷暖房やそれに似た問題のための圧縮性の層流および乱流用の非定常ソルバ | 1710 |
rhoPorousSimpleFoam | RANS 乱流モデル,多孔性の陰的または陽的取り扱い,実行時に有限体積法のソース項を選択できる乱流の圧縮性流体のための定常ソルバ | 4400 |
rhoSimplecFoam | 層流およびRANS による乱流の圧縮性流体用定常状態 SIMPLEC ソルバ | 1080 |
rhoSimpleFoam | 層流およびRANS による乱流の圧縮性流体用定常状態 SIMPLEソルバ | 2650 |
sonicDyMFoam | 移動メッシュを伴う,遷音速または超音速用の,層流および乱流の圧縮性気体用非定常ソルバ | 1160 |
sonicFoam | 遷音速または超音速用の,層流および乱流の圧縮性気体用非定常ソルバ | 5610 |
sonicLiquidFoam | 遷音速または超音速用の,層流圧縮性液体用非定常ソルバ多層流 | 3390 |
多層流(Multiphase flow)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
cavitatingDyMFoam | 均質な平衡モデルに基づいて,液体・蒸気の混合物の圧縮率を得る非定常のキャビテーション用コード.オプションとしてメッシュの移動や,適応再メッシングを含むメッシュのトポロジ変化をサポートする. | 347 |
cavitatingFoam | 均質な平衡モデルに基づいて,液体・蒸気の混合物の圧縮率を得る非定常のキャビテーション用コード | 1340 |
compressibleInterDyMFoam | VOF (volume of fluid) 相比率に基づいた界面捕獲法による不混和流体の圧縮性・非等温 2 相流用ソルバ.オプションとしてメッシュの移動や,適応再メッシングを含むメッシュのトポロジ変化をサポートする. | 1800 |
compressibleInterFoam | VOF (volume of fluid) 相比率に基づいた界面捕獲法による不混和流体の圧縮性・等温 2 相流用ソルバ | 1630 |
compressibleMultiphaseInterFoam | VOF (volume of fluid) 相比率に基づいた界面捕獲法による不混和流体の圧縮性・非等温 n 相流用ソルバ | 813 |
driftFluxFoam | Solver for 2 incompressible fluids using the mixture approach with the drift-flux approximation for relative motion of the phases | 1220 |
interFoam | VOF (volume of fluid) 相比率に基づいた界面捕獲法による不混和流体の非圧縮性・等温 2 相流用ソルバ | 14200 |
interMixingFoam | 界面捕獲のために VOF 法を用いた非圧縮性 3 相流(うち二つは混和性)用ソルバ | 691 |
interPhaseChangeFoam | 相変化(キャビテーションなど)を伴なう,不混和流体の非圧縮性・等温 2 相流用ソルバ. VOF (volume of fluid) 相比率に基づいた界面捕獲法を用いる. | 1510 |
interPhaseChangeDyMFoam | 相変化(キャビテーションなど)を伴なう,不混和流体の非圧縮性・等温 2 相流用ソルバ. VOF (volume of fluid) 相比率に基づいた界面捕獲法を用いる.メッシュ移動や,アダプティブ再メッシングを含むメッシュのトポロジ変化も扱える. | 738 |
multiphaseEulerFoam | 熱伝達を含む圧縮性多相流体系のソルバ | 1130 |
multiphaseInterFoam | 界面捕獲と,それぞれの相での接触角効果を考慮した非圧縮性 n 相流ソルバ | 6060 |
potentialFreeSurfaceFoam | 単相の自由表面近似を使えるように波高さのフィールドを含んだ,非圧縮性の Navier–Stokes 方程式ソルバ | 882 |
reactingEulerFoam | (Description not found) | 3800 |
twoLiquidMixingFoam | 2 層の非圧縮性流れを混合したソルバ | 2420 |
twoPhaseEulerFoam | 液体の中の気体の泡のように分散した状態の 2 層の非圧縮性流れのシステム | 5220 |
直接数値シミュレーション(Direct numerical simulation (DNS))
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
dnsFoam | 直方体中の等方性乱流のための直接数値解法 (DNS) コード | 3810 |
燃焼(Combustion)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
chemFoam | 化学問題のためのソルバ.他の化学ソルバとの比較用に,単一セル上で使うように作られています.単一セルのメッシュはソルバ内でその場で作成され,場も初期条件からソルバ内でその場で作成されます. | 761 |
coldEngineFoam | 内燃機関のコールドフローのソルバ | 1310 |
engineFoam | エンジン内部の燃焼用ソルバ | 4140 |
fireFoam | 火炎と乱流拡散炎のための非定常ソルバ | 2360 |
PDRFoam | 乱流モデルを伴う圧縮性予混合または部分予混合燃焼用ソルバ | 5840 |
reactingFoam | 化学反応を伴う燃焼用ソルバ | 2760 |
rhoReactingBuoyantFoam | 密度ベースの熱力学パッケージと,改良された浮力の処理を用いた,化学反応を伴う燃焼用ソルバ | 295 |
rhoReactingFoam | 密度ベースの熱力学パッケージによる化学反応を伴う燃焼用ソルバ | 1500 |
XiFoam | 乱流モデルを伴う圧縮性予混合または部分予混合燃焼用コード | 1470 |
熱輸送と浮力駆動流れ(Heat transfer and buoyancy-driven flows)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
buoyantBoussinesqPimpleFoam | 浮力を伴う非圧縮性乱流用非定常ソルバ | 1730 |
buoyantBoussinesqSimpleFoam | 浮力を伴う非圧縮性乱流用定常状態ソルバ | 4930 |
buoyantPimpleFoam | 換気・熱輸送のための,浮力を伴う圧縮性乱流用非定常ソルバ | 1940 |
buoyantSimpleFoam | 浮力を伴う圧縮性乱流用定常状態ソルバ | 5470 |
chtMultiRegionFoam | 固体領域と流体領域の間の熱輸送を連成するため, heatConductionFoam と buoyantFoam を融合させたもの | 3990 |
chtMultiRegionSimpleFoam | chtMultiRegionFoam の定常版 | 3680 |
thermoFoam | Evolves the thermodynamics on a frozen flow field | 336 |
粒子追跡流(Particle-tracking flows)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
coalChemistryFoam | 石炭・石灰石パーセルの噴射,エネルギ源,および燃焼を伴う圧縮性乱流用非定常ソルバ | 872 |
DPMFoam | 連続した相の体積率の影響を伴う単一の運動学的粒子群の練成した輸送の非定常ソルバ | 639 |
icoUncoupledKinematicParcelFoam | 単一の運動学的粒子群の受動的輸送用の非定常ソルバ | 1390 |
reactingParcelFilmFoam | Lagrange 型パーセルの反応と表面膜のモデリングを伴う圧縮性層流・乱流用非定常 PISO ソルバ | 2470 |
reactingParcelFoam | Lagrange 型パーセルの反応を伴う圧縮性層流・乱流用非定常 PIMPLE ソルバ.実行時にソース項や制約条件といった有限体積法オプションを選択できる. | 849 |
sprayFoam | 噴霧パーセルを伴う,圧縮性層流・乱流の非定常 PIMPLEソルバ | 3400 |
uncoupledKinematicParcelFoam | 単一の運動学的粒子群の受動的輸送用の非定常ソルバ | 908 |
分子動力学法(Molecular dynamics methods)
ソルバ名 | 説明 | 検索ヒット数 |
---|---|---|
mdEquilibrationFoam | 分子動力学系の平衡化や前処理を行う | 1760 |
mdFoam | 流体力学のための分子動力学ソルバ | 1460 |
直接シミュレーション・モンテカルロ法(Direct simulation Monte Carlo methods)
ソルバー名 | 説明 | 検索ヒット数 |
---|---|---|
dsmcFoam | 3 次元で非定常な多化学種流れ用の直接シミュレーション・モンテ・カルロ (DSMC) 法ソルバ | 6180 |
電磁流体(Electromagnetics)
ソルバー名 | 説明 | 検索ヒット数 |
---|---|---|
electrostaticFoam | 静電方程式ソルバ | 2480 |
magneticFoam | 永久磁石により印加される磁場のソルバ | 472 |
mhdFoam | 磁場の影響によって誘発される非圧縮性層流の電磁流体(MHD) 用ソルバ | 3000 |
固体応力解析(Stress analysis of solids)
ソルバー名 | 説明 | 検索ヒット数 |
---|---|---|
solidDisplacementFoam | 線形弾性や固体の微小ひずみの非定常分離型有限体積ソルバ.熱拡散と熱応力も扱える. | 2530 |
solidEquilibriumDisplacementFoam | 固体の線形弾性や微小ひずみの定常状態分離有限体積ソルバ.熱拡散と熱応力も扱える. | 2330 |
金融工学(Finance)
ソルバー名 | 説明 | 検索ヒット数 |
---|---|---|
financialFoam | 物価に対する Black–Scholes 方程式を解く | 2230 |
周辺ツール
ソルバー名 | 説明 | 検索ヒット数 |
---|---|---|
blockMesh | メッシャー | 20700 |
foamyHexMesh | メッシャー | 1040 |
snappyHexMesh | メッシャー | 20100 |
cfMesh | メッシャー | 2620 |
HELYX-OS | GUI | 2290 |
TreeFoam | GUI(国産) | 1150 |
集計
ソルバー別検索ヒット数
ソルバー別検索ヒット数の雑感
- シンプルな名前のソルバーが人気(例:simpleFoam、interFoam、icoFoam、sonicFoam)。
- 非圧縮性流れ(例:icoFoam、simpleFoam)は平均が約3000と高い。
- 多相流はinterFoamとmultiphaseinterFoam、twoPhaseEulerFoam以外は2000以内程度と少ない。
検索ヒット数上位ソルバー
順位 | 分類 | ソルバー | 検索ヒット数 |
---|---|---|---|
1 | 非圧縮性流れ | simpleFoam | 14300 |
2 | 多相流 | interFoam | 14200 |
3 | 非圧縮性流れ | icoFoam | 12900 |
4 | 直接シミュレーション・モンテカルロ法 | dsmcFoam | 6180 |
5 | 多相流 | multiphaseInterFoam | 6060 |
6 | 燃焼 | PDRFoam | 5840 |
7 | 圧縮性流れ | sonicFoam | 5610 |
8 | 熱輸送と浮力駆動流れ | buoyantSimpleFoam | 5470 |
9 | 多相流 | twoPhaseEulerFoam | 5220 |
10 | 非圧縮性流れ | pisoFoam | 4930 |
- 非圧縮性流れ・多相流(上位10位にそれぞれ3個)
- ヒット数が4位とモンテカルロ法が意外と人気
統計項目
統計項目 | 値 | 該当ソルバー |
---|---|---|
最大 | 14300 | simpleFoam |
最小 | 295 | rhoReactingBuoyantFoam |
平均 | 2893.1 | rhoCentralFoam |
標準偏差(母集団) | 2799.52 | - |
- 人気ソルバー(simpleFoam)と不人気ソルバー(rhoReactingBuoyantFoam)との差が大きい(最大14000の差)
- 標準偏差が平均と同じくらいであり、人気のばらつきが激しい。
統計結果全体の感想
人気ソルバーの傾向- 非圧縮性流れ・多相流(上位10位にそれぞれ3個)
- シンプルな名前(例:simpleFoam、interFoam、icoFoam、sonicFoam)
OpenFOAMでは以下の分類のソルバーはマイナー
- 基礎的なCFDコード
- 粒子追跡流
- 電磁流体
- 固体応力解析
- 金融工学
まとめ
- OpenFOAM3.0の日常活用の判断材料として標準ソルバーの人気度を調査
- 全標準ソルバー69個のGoogle検索ヒット数を比較
- 人気ソルバーの傾向を把握
- 非圧縮性流れ・多相流
- シンプルな名前
- モンテカルロ法が意外と人気
- 検索ヒット数上位ソルバーを使っとけば?(小並感)
質疑:2016-04-10追記
質疑・コメントなど1
- Q. VivlioStyleのいつのバージョンを使った?
- A. 今回はReveal.jsというJavaScriptのライブラリを使ってスライドを作ったのでVivlioStyleは使っていない。
- Q. シークレットモードで検索したのはどうして?
- A. 検索履歴が残っていくと思ったので、続けて検索するときの影響を排除するため。
- Q. (会場へ)ランキング結果はどうでした?
- A. simpleFoamとinterFoamが1-2位なのはすぐわかった。3位のicoFoamもまあ納得。でも、pimpleFoamがないのはおかしいし、4位がモンテカルロ法のdsmcFoamなのはおかしい。SEOとかノイズと絡んでいるのでは?こんなでるはずはない。
- コメント:普通自分の使いたいソルバーを調べるもんだけど、相当モチベーションないね。
質疑・コメントなど2
- Q. 日常生活で空気の計算したくなりますよね?スカートめくったりとか?
- A. なりますか?
- Q. WRFで日本全体解いて秋葉原解こうよ。
- A. それやって何の意味があるんだろうなとかそんなん考えてるんですよ。
- Q. ランキングの発表前に、最初に会場でアンケートを取っていればもっと盛り上がっていた。
- A. 資料作っていたときに考えていたけど忘れてしまった。
- Q. こうざっとみると、眉唾なところはあるがだいたいこんなもんか。あとはdsmcFoamの他にPDRFoamは怪しい。検索方法が悪いのでは?
- A. 第三者が同じ条件でdsmcFoamを検索すると同じヒット数を再現できた。ヒット内容を確認すると、古いバージョンのページとかチュートリアルとかごみみたいなページがたくさんヒットしていた。フィルタリングしたり重みを付けたりするとよかったかも。
- A. 第三者が同じ条件でdsmcFoamを検索すると同じヒット数を再現できた。ヒット内容を確認すると、古いバージョンのページとかチュートリアルとかごみみたいなページがたくさんヒットしていた。フィルタリングしたり重みを付けたりするとよかったかも。
質疑・コメントなど3
- Q. OpenFOAM 3.0.1の標準ソルバーは全部で82個のようです。(bash.bashrc読み込み後)以下のコマンドで確認可能。ユーザーガイドの情報が古い。また、ESIのマニュアルはOpenFOAMではなくFork版のOpenFOAM+のもの。本流は The OpenFOAM Foundationを参照すべきだろう。
sol; find . -name files | xargs grep EXE | wc -l
- A. 参照ページの最終更新日付が2015-03-01なので、OpenFOAMv2.3.1の標準ソルバーで調査を行っていたようだ。ちゃんと文書化されていないソルバーに関しては知りようがないのでしかたなかった。