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

Ken

妹尾賢

🖂 contact@senooken.jp
https://social.senooken.jp/senooken

2016-04-09
第56回オープンCAE勉強会＠関東（流体など）+平林純様特別講演

URL: https://senooken.jp/public/20160409/

TABLE OF CONTENTS

1. 導入
1.1. 標準ソルバー
2. 調査方法
2.1. 人気の定義
2.2. 検索条件
3. 分類別検索ヒット数
3.1. 参考検索ヒット数
3.2. 基礎的なCFDコード（'Basic' CFDcodes）
3.3. 非圧縮性流れ（Incompressible flow）
3.4. 圧縮性流れ（Compressible flow）
3.5. 多層流（Multiphase flow）
3.6. 直接数値シミュレーション（Directnumerical simulation (DNS)）
3.7. 燃焼（Combustion）
3.8. 熱輸送と浮力駆動流れ（Heat transferand buoyancy-driven flows）
3.9. 粒子追跡流（Particle-tracking flows）
3.10. 分子動力学法（Molecular dynamicsmethods）

3.11. 直接シミュレーション・モンテカルロ法（Direct simulation Monte Carlomethods）
3.12. 電磁流体（Electromagnetics）
3.13. 固体応力解析（Stress analysis ofsolids）
3.14. 金融工学（Finance）
3.15. 周辺ツール
4. 集計
4.1. ソルバー別検索ヒット数
4.2. ソルバー別検索ヒット数の雑感
4.3. 検索ヒット数上位ソルバー
4.4. 統計項目
4.5. 統計結果全体の感想
5. まとめ
6. 質疑：2016-04-10追記
6.1. 質疑・コメントなど16.2. 質疑・コメントなど26.3. 質疑・コメントなど3

1 導入
OpenFOAMを使う理由がない
何か日常生活で役に立つようなこと
面白いこと

標準ソルバーの数が多すぎる…
どれから手を付けたらいいかわからない
どのソルバーが面白そうかわからない
丁度、2015-11-20にOpenFOAM v3.0.0がリリースされ、メジャーバージョンアップ
どのソルバーが有力か知りたいし、需要あるでしょ？

2 標準ソルバー

最新版OpenFOAMv3.0+が2016-01-13にリリース
13分類で合計69個（OpenFOAM User Guide: 3.5 Standard solvers）

配布元のESIのサイトにもマニュアルは存在するが、現在ユーザーガイドはCFD Directでメンテ。

番号12345678910111213

分類
基礎的なCFDコード
非圧縮性流れ
圧縮性流れ
多相流
直接シミュレーション（DNS）
燃焼
熱輸送と浮力駆動流れ
粒子追跡流
分子動力学
直接シミュレーション・モンテカルロ法
電磁流体
固体応力解析
金融工学

ソルバー数38916197721321
合計：69

3 調査方法
3.1 人気の定義
人気度=検索ヒット数
世界最大の検索エンジンであるGoogleを利用。
Googleでの検索ヒット数を人気度とみなし、ソルバーごとの人気度を比較。

3.2 検索条件

1. 米国Google（https://www.google.com/ncr）で検索
1.1. 日本Google（co.jp）とで結果が異なる。基本的に米国の方がヒット数大。
1.2. https://www.google.com/だとco.jpにリダイレクトされるので注意。
1.3. ncr：non country registered。
2. 検索語：OpenFOAM "ソルバ名"
2.1. Google検索では引用符で囲まないと勝手に単語分割される。
2.2. sprayFoamのsprayなど一般的な単語を含むソルバ名の不公平さを排除。
3. 使用ブラウザ：Chromium 49.0.2623.108 Ubuntu 14.04
4. Googleアカウントをログアウト（検索履歴の影響排除）。
5. ブラウザはシークレットモード（incognito）（Ctrl+N）で検索（調査中検索履歴の影響排除）。
6. 調査（検索）実施日：2016-04-06

4 分類別検索ヒット数
4.1 参考検索ヒット数

検索ヒット数を単独でみても規模感がつかめない。
オープンCAE関連語の検索ヒット数で規模感を把握。
ソルバ名

説明

検索ヒット数OpenFOAM

OpenFOAM

447000OpenCFD

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

4.2 基礎的なCFDコード（'BASIC' CFD CODES）
ソルバ名

説明

検索ヒット数

laplacianFoam

固体の熱拡散のような単純な Laplace 方程式を解く

1910

potentialFoam

単純なポテンシャル流のソルバ．完全な Navier–Stokes 用コードを解く際の初期値の生成にも使用できる

2300

scalarTransportFoam

パッシブスカラの輸送方程式を解く

1290※表中（以後も）説明文は ソフトウェアマニュアル翻訳 | 事業のご案内 | 一般社団法人オープンCAE学会を利用。

4.3 非圧縮性流れ（INCOMPRESSIBLE FLOW）
ソルバ名

説明

検索ヒット数adjointShapeOp
timizationFoam

随伴形式を用いて圧力損失を生じると推定された領域に，「ブロッケージ」を適用することで管路形状を最適化する，非圧縮性・乱流の非ニュートン流体用定常ソルバ

1240boundaryFoam

1 次元の非圧縮性・乱流用の定常状態ソルバで，通常，解析では流入口で境界層条件を発生させます．

4570

icoFoam

ニュートン流体の非圧縮性，層流の速度-圧力ソルバ

12900

nonNewtonianI
coFoam非ニュートン流体の非圧縮性，層流の非定常ソルバ

3030

pimpleFoam

PIMPLE (SIMPLE と PISO の融合) アルゴリズムによる非圧縮性・乱流の，大きな時間ステップの非定常ソルバ

3740

pisoFoam

非圧縮性流れの非定常ソルバ

4850

shallowWaterFoam

回転を伴う非粘性浅水方程式の非定常ソルバ

3020

simpleFoam

非圧縮性・乱流の定常状態ソルバ

14300

4.4 圧縮性流れ（COMPRESSIBLE FLOW）
ソルバ名

説明検索ヒット数

rhoCentralDyMFoam

移動メッシュおよび乱流モデルに対応した， Kurganov とTadmor の中央風上スキームに基づいた密度ベースの圧縮性流ソルバ

541

rhoCentralFoam

Kurganov と Tadmor の中央風上スキームに基づいた密度ベースの圧縮性流ソルバ

2840

rhoPimpleFoam

冷暖房やそれに似た問題のための圧縮性の層流および乱流用の非定常ソルバ

1710

rhoPorousSimpleFoam

RANS 乱流モデル，多孔性の陰的または陽的取り扱い，実行時に有限体積法のソース項を選択できる乱流の圧縮性流体のための定常ソルバ

4400

rhoSimplecFoam

層流およびRANS による乱流の圧縮性流体用定常状態 SIMPLEC ソルバ

1080

rhoSimpleFoam

層流およびRANS による乱流の圧縮性流体用定常状態 SIMPLEソルバ

2650

sonicDyMFoam

移動メッシュを伴う，遷音速または超音速用の，層流および乱流の圧縮性気体用非定常ソルバ

1160sonicFoam

遷音速または超音速用の，層流および乱流の圧縮性気体用非定常ソルバ

5610

sonicLiquidFoam

遷音速または超音速用の，層流圧縮性液体用非定常ソルバ多層流3390

4.5 多層流（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

4.6 直接数値シミュレーション（DIRECT
NUMERICAL SIMULATION (DNS)）
ソルバ名

説明

dnsFoam

直方体中の等方性乱流のための直接数値解法 (DNS) コード

検索ヒット数3810

4.7 燃焼（COMBUSTION）
ソルバ名

説明

検索ヒット数chemFoam

化学問題のためのソルバ．他の化学ソルバとの比較用に，単一セル上で使うように作られています．単一セルのメッシュはソルバ内でその場で作成され，場も初期条件からソルバ内でその場で作成されます．

761

coldEngineFoam

内燃機関のコールドフローのソルバ

1310

engineFoam

エンジン内部の燃焼用ソルバ

4140

fireFoam

火炎と乱流拡散炎のための非定常ソルバ

2360

PDRFoam

乱流モデルを伴う圧縮性予混合または部分予混合燃焼用ソルバ

5840

reactingFoam

化学反応を伴う燃焼用ソルバ

2760

rhoReactingBuoyantFoam

密度ベースの熱力学パッケージと，改良された浮力の処理を用いた，化学反応を伴う燃焼用ソルバ

295

rhoReactingFoam

密度ベースの熱力学パッケージによる化学反応を伴う燃焼用ソルバ

1500

XiFoam乱流モデルを伴う圧縮性予混合または部分予混合燃焼用コード1470

4.8 熱輸送と浮力駆動流れ（HEAT TRANSFER AND
BUOYANCY-DRIVEN FLOWS）
ソルバ名

説明

検索ヒット数

buoyantBoussinesqPimpleFoam

浮力を伴う非圧縮性乱流用非定常ソルバ

1730buoyantBoussinesqSimpleFoam

浮力を伴う非圧縮性乱流用定常状態ソルバ

4930

buoyantPimpleFoam

換気・熱輸送のための，浮力を伴う圧縮性乱流用非定常ソルバ

1940buoyantSimpleFoam

浮力を伴う圧縮性乱流用定常状態ソルバ

5470

chtMultiRegionFoam

固体領域と流体領域の間の熱輸送を連成するため， heatConduction
Foam と buoyantFoam を融合させたもの

3990

chtMultiRegionSimpleFoam

chtMultiRegionFoam の定常版

3680

thermoFoam

Evolves the thermodynamics on a frozen flow field336

4.9 粒子追跡流（PARTICLE-TRACKING FLOWS）
ソルバ名

説明

検索ヒット数coalChemistryFoam

石炭・石灰石パーセルの噴射，エネルギ源，および燃焼を伴う圧縮性
乱流用非定常ソルバ

872

DPMFoam

連続した相の体積率の影響を伴う単一の運動学的粒子群の練成した輸送の非定常ソルバ

639

icoUncoupledKinematicParcelFoam

単一の運動学的粒子群の受動的輸送用の非定常ソルバ

1390

reactingParcelFilmFoam

Lagrange 型パーセルの反応と表面膜のモデリングを伴う圧縮性層流・乱流用非定常 PISO ソルバ

2470

reactingParcelFoam

Lagrange 型パーセルの反応を伴う圧縮性層流・乱流用非定常 PIMPL
E ソルバ．実行時にソース項や制約条件といった有限体積法オプションを選択できる．

849

sprayFoam

噴霧パーセルを伴う，圧縮性層流・乱流の非定常 PIMPLEソルバ

3400

uncoupledKinematicParcelFoam

単一の運動学的粒子群の受動的輸送用の非定常ソルバ

9084.10 分子動力学法（MOLECULAR DYNAMICSMETHODS）
ソルバ名

説明

検索ヒット数mdEquilibrationFoam

分子動力学系の平衡化や前処理を行う

1760

mdFoam

流体力学のための分子動力学ソルバ

1460

4.11 直接シミュレーション・モンテカルロ法（DIRECT SIMULATION MONTE CARLO METHODS）
ソルバー名

説明dsmcFoam

3 次元で非定常な多化学種流れ用の直接シミュレーション・モンテ・カルロ (DSMC) 法ソルバ

検索ヒット数6180

4.12 電磁流体（ELECTROMAGNETICS）
ソルバー名

説明検索ヒット数

electrostaticFoam

静電方程式ソルバ

2480

magneticFoam

永久磁石により印加される磁場のソルバ

472

mhdFoam

磁場の影響によって誘発される非圧縮性層流の電磁流体(MHD) 用ソルバ

3000

4.13 固体応力解析（STRESS ANALYSIS OF
SOLIDS）
ソルバー名

説明検索ヒット数

solidDisplacementFoam

線形弾性や固体の微小ひずみの非定常分離型有限体積ソルバ．熱拡散と熱応力も扱える．

2530

solidEquilibriumDisplacementFoam

固体の線形弾性や微小ひずみの定常状態分離有限体積ソルバ．熱拡散と熱応力も扱える．

2330

4.14 金融工学（FINANCE）
ソルバー名

説明

financialFoam

物価に対する Black–Scholes 方程式を解く

検索ヒット数2230

4.15 周辺ツール
ソルバー名

説明

検索ヒット数

blockMesh

メッシャー

20700

foamyHexMesh

メッシャー

1040

snappyHexMesh

メッシャー

20100

cfMesh

メッシャー

2620

HELYX-OS

GUI

2290

TreeFoamGUI（国産）

1150

5 集計
5.1 ソルバー別検索ヒット数

5.2 ソルバー別検索ヒット数の雑感

シンプルな名前のソルバーが人気（例：simpleFoam、interFoam、icoFoam、sonicFoam）。
非圧縮性流れ（例：icoFoam、simpleFoam）は平均が約3000と高い。
多相流はinterFoamとmultiphaseinterFoam、twoPhaseEulerFoam以外は2000以内程度と少ない。

5.3 検索ヒット数上位ソルバー
順位

分類ソルバー

検索ヒット数1

非圧縮性流れsimpleFoam

14300

2

多相流

interFoam

14200

3

非圧縮性流れicoFoam12900

4

直接シミュレーション・モンテカルロ法

dsmcFoam

6180

5多相流

multiphaseInterFoam

6060

6

燃焼

PDRFoam

5840

7

圧縮性流れ

sonicFoam

5610

8

熱輸送と浮力駆動流れ

buoyantSimpleFoam

5470

9

多相流

twoPhaseEulerFoam

5220

10

非圧縮性流れpisoFoam4930

非圧縮性流れ・多相流（上位10位にそれぞれ3個）
ヒット数が4位とモンテカルロ法が意外と人気5.4 統計項目
統計項目

値

該当ソルバー最大14300

simpleFoam

最小295

平均

2893.1

rhoCentralFoam

標準偏差（母集団）

2799.52-rhoReactingBuoyantFoam

人気ソルバー（simpleFoam）と不人気ソルバー（rhoReactingBuoyantFoam）との差が大きい（最大14000の差）
標準偏差が平均と同じくらいであり、人気のばらつきが激しい。

5.5 統計結果全体の感想

人気ソルバーの傾向
非圧縮性流れ・多相流（上位10位にそれぞれ3個）
シンプルな名前（例：simpleFoam、interFoam、icoFoam、sonicFoam）
OpenFOAMでは以下の分類のソルバーはマイナー
基礎的なCFDコード
粒子追跡流
電磁流体
固体応力解析
金融工学

6 まとめOpenFOAM3.0の日常活用の判断材料として標準ソルバーの人気度を調査
全標準ソルバー69個のGoogle検索ヒット数を比較
人気ソルバーの傾向を把握
非圧縮性流れ・多相流
シンプルな名前
モンテカルロ法が意外と人気
検索ヒット数上位ソルバーを使っとけば？（小並感）

7 質疑：2016-04-10追記

7.1 質疑・コメントなど1

Q. VivlioStyleのいつのバージョンを使った？
A. 今回はReveal.jsというJavaScriptのライブラリを使ってスライドを作ったのでVivlioStyleは使っていない。
Q. シークレットモードで検索したのはどうして？
A. 検索履歴が残っていくと思ったので、続けて検索するときの影響を排除するため。
Q. （会場へ）ランキング結果はどうでした？
A. simpleFoamとinterFoamが1-2位なのはすぐわかった。3位のicoFoamもまあ納得。でも、pimpleFoamがないのはおかしいし、4位がモンテカルロ法のdsmcFoamなのはおかしい。
SEOとかノイズなどが絡んでいるのでは？こんなでるはずはない。
コメント：普通自分の使いたいソルバーを調べるもんだけど、相当モチベーションないね。

7.2 質疑・コメントなど2

Q. 日常生活で空気の計算したくなりますよね？スカートめくったりとか？
A. なりますか？
Q. WRFで日本全体解いて秋葉原解こうよ。
A. それやって何の意味があるんだろうなとかそんなん考えてるんですよ。
Q. ランキングの発表前に、最初に会場でアンケートを取っていればもっと盛り上がっていた。
A. 資料作っていたときに考えていたけど忘れてしまった。
Q. こうざっとみると、眉唾なところはあるがだいたいこんなもんか。あとはdsmcFoamの他にPDRFoamは怪しい。検索方法が悪いのでは？
A. 第三者が同じ条件でdsmcFoamを検索すると同じヒット数を再現できた。ヒット内容を確認すると、古いバージョンのページとかチュートリアルとかごみみたいなページがたくさんヒットしていた。フィルタリングしたり重みを付けたりするとよかったかも。

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