OpenFOAM標準ソルバー
人気ランキング

妹尾SENOO Ken

@senopen

第56回オープンCAE勉強会@関東(流体など)+平林純様特別講演


Table of Contents

  1. 導入
    1. 標準ソルバー
  2. 調査方法
    1. 人気の定義
    2. 検索条件
  3. 分類別検索ヒット数
    1. 参考検索ヒット数
    2. 基礎的なCFDコード('Basic' CFD codes)
    3. 非圧縮性流れ(Incompressible flow)
    4. 圧縮性流れ(Compressible flow)
    5. 多層流(Multiphase flow)
    6. 直接数値シミュレーション(Direct numerical simulation (DNS))
    7. 燃焼(Combustion)
    8. 熱輸送と浮力駆動流れ(Heat transfer and buoyancy-driven flows)
    9. 粒子追跡流(Particle-tracking flows)
    10. 分子動力学法(Molecular dynamics methods)
    11. 直接シミュレーション・モンテカルロ法(Direct simulation Monte Carlo methods)
    12. 電磁流体(Electromagnetics)
    13. 固体応力解析(Stress analysis of solids)
    14. 金融工学(Finance)
    15. 周辺ツール
  4. 集計
    1. ソルバー別検索ヒット数
    2. ソルバー別検索ヒット数の雑感
    3. 検索ヒット数上位ソルバー
    4. 統計項目
    5. 統計結果全体の感想
  5. まとめ
  6. 質疑:2016-04-10追記
    1. 質疑・コメントなど1
    2. 質疑・コメントなど2
    3. 質疑・コメントなど3

導入

OpenFOAMを使う理由がない

標準ソルバーの数が多すぎる…

丁度、2015-11-20にOpenFOAM v3.0.0がリリースされ、メジャーバージョンアップ

どのソルバーが有力か知りたいし、需要あるでしょ?

標準ソルバー

番号 分類 ソルバー数


合計: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での検索ヒット数を人気度とみなし、ソルバーごとの人気度を比較。

検索条件

  1. 米国Google(https://www.google.com/ncr)で検索
    1. 日本Google(co.jp)とで結果が異なる。基本的に米国の方がヒット数大。
    2. https://www.google.com/だとco.jpにリダイレクトされるので注意。
    3. ncr:non country registered。
  2. 検索語:OpenFOAM "ソルバ名"
    1. Google検索では引用符で囲まないと勝手に単語分割される。
    2. sprayFoamのsprayなど一般的な単語を含むソルバ名の不公平さを排除。
  3. 使用ブラウザ:Chromium 49.0.2623.108 Ubuntu 14.04
  4. Googleアカウントをログアウト(検索履歴の影響排除)。
  5. ブラウザはシークレットモード(incognito)(Ctrl+N)で検索(調査中検索履歴の影響排除)。
  6. 調査(検索)実施日: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コード
  • 粒子追跡流
  • 電磁流体
  • 固体応力解析
  • 金融工学

まとめ

質疑: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を検索すると同じヒット数を再現できた。ヒット内容を確認すると、古いバージョンのページとかチュートリアルとかごみみたいなページがたくさんヒットしていた。フィルタリングしたり重みを付けたりするとよかったかも。

質疑・コメントなど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の標準ソルバーで調査を行っていたようだ。ちゃんと文書化されていないソルバーに関しては知りようがないのでしかたなかった。