数値流体力学(すうちりゅうたいりきがく、英: computational fluid dynamics、略称:CFD)とは、偏微分方程式の数値解法等を駆使して流体の運動に関する方程式(オイラー方程式、ナビエ-ストークス方程式、またはその派生式)をコンピュータで解くことによって流れを観察する数値解析・シミュレーション手法。計算流体力学とも。コンピュータの性能向上とともに飛躍的に発展し、航空機・自動車・鉄道車両・船舶・血流等の流体中を移動する機械および建築物の設計をするにあたって風洞実験に並ぶ重要な存在となっている。

## 原理

### 離散化法

数値流体力学では与えられた幾何形状をコンピュータで扱えるように離散化する必要がある。離散化には次のような手法がある。

- 有限差分法 (FDM)
- 有限体積法 (FVM)
- 有限要素法 (FEM)
- スペクトル法
- 境界要素法 (BEM)
- 格子オートマトン法
- 格子ボルツマン法
- 格子気体法
- 適合格子細分化法
- 個別要素法 (DEM)
- 粒子法

### 無次元化

流体力学ではよく行われるように、数値流体力学でも支配方程式やその解を無次元化することが便利である。しかし、流れが複雑な場合、流体の物性値が一定でなかったり、境界条件が非定常であったりすることで流れを記述するのに必要なパラメータが多数できてしまい、無次元形式にしても有用でなくなる場合がある。

## 手順

一般には次のような手順で解析が行われる。

1. 前処理(プリプロセス、pre-process)
   1. モデルデータ作成

      :   対象物体の形状を再現した3Dまたは2Dモデルを作成する。設計にCADを使用し、そのデータを用いることが多い。
   2. 格子生成

      :   数値流体力学では空間を離散的に扱うため、物体形状および周りの空間を離散化する必要があり、一般には計算格子(グリッドあるいはメッシュとも)で表現する(一方、メッシュフリー法、粒子法などの格子を用いない手法も存在する)。格子生成には四面体を用いた非構造格子法、直方体を用いた構造格子法などさまざまな手法がある。また、格子の数を格子点数といい、これを大きくすれば結果の精度が上がるものの解析にかかる時間が増大する。このため、境界層が存在する物体近傍や衝撃波面など、詳細な結果が求められる部位のみに多くの格子を配置する、というような工夫がなされる。
2. 解析

   :   コンピュータによる反復計算を用いて格子毎の流れ方程式の近似解を求める。計算の結果として、各格子ごとの圧力・流速・密度などが求まる。格子点数やスキーム、コンピュータの性能にもよるが、長い時間を必要とすることが多く、スーパーコンピュータが用いられることもある。
3. 後処理(ポストプロセス、post-process)
   1. 数値的な出力

      :   計測器などの制約から実際には測定ができないような箇所でも、数値解析では計算領域内ならどこでも物理量を得ることができる。またそれを数値積分することで、物体にかかる力などを求めることもできる。
   2. 可視化

      :   多くの場合、流れ場の把握などのために、解析結果の可視化を行なう。具体的には、物体表面および周辺流れの圧力分布を色(等圧線、コンター図)で表現したり、流線を曲線で表したり、渦度を等値面で表したりといった具合である。画像からアニメーションを作成することも多い。

## 風洞実験との比較

CFDの性能や効用について風洞実験と比較される場面がある。

数値シミュレーションは、風洞のような寸法成約や壁面の影響および外乱がなく、理想的な状況を設定できる。また、風洞装置の設置に比べ初期投資を抑えられ、さらに風洞内のセンサ類の設置と管理といった手間もいらずそれでいて多量のデータを取得できる。風洞と比較できるような計算にはスパコンの利用が不可欠であるが、それでも風洞の初期費用やランニングコストとは桁違いである。一方で、現在の計算機能力では流れを十分に再現できない場面があり、また計算手法の扱い次第では実現象と全く異なる結果が現れることも容易に起きる。CFDを利用する場合には風洞などの実験を併用することが望まれ、風洞実験に取って代わる存在には至っていない。

## 特殊な数値流体力学

流れの中では多くの物理過程が起こり得、それらが流れと相互作用を及ぼしあうことで多様な現象が現れる可能性がある。重要な応用分野ではこのような物理過程が起きており、CFDの適用が研究、応用されている。

- 乱流

  :   工業分野で現れる流れの多くは乱流であり、乱流モデルを用いた特別な扱いが必要となる。
- 希薄流体

  :   クヌーセン数が0.01以下の流れ場では、流体分子同士が頻繁に衝突しその運動が平均化されるため、流体は連続体とみなせ、流体力学を適用できる。一方、クヌーセン数が0.01以上の場合、流体分子の衝突が極端に減り、別個に運動するようになるため分子運動論的な取り扱いが必要となる。このような流体を希薄流体と呼ぶ。希薄流体では支配方程式として流体力学方程式が成り立たず、ボルツマン方程式が有効となる。この種の数値シミュレーションは半導体微細加工プロセスに用いられている。
- 極超音速気流

  :   マッハ数が5を超えるような極超音速気流では、超高温の衝撃波によってプラズマが発生している。このような気体を実在気体と呼び、解析には前述の流体力学の方程式に加えて熱化学方程式による解析が必要とされる。この種のシミュレーションはロケットなどの設計に用いられている。
- アクティブスカラー

  :   温度や溶解している物質があっても、それらの変化が小さい場合はそれが流れに及ぼす影響を無視することが多い。この場合の温度や濃度などの物理量はパッシブスカラーと呼ばれ、流れ場を解いた後にこれらを解けばよいため、比較的問題は単純である。しかし、その変化が大きい場合は化学種濃度によって流体の密度や粘性が変化する場合があり、そのことによって流れが駆動される場合もありうる。この場合はアクティブスカラーと呼ばれ、流れ変数との連成問題を解く必要が生じる。
- 非ニュートン流体

  :   粘性応力とひずみ速度が単純な線形関係で表せないような非ニュートン流体を考慮しなければならない場合がある。さらに、粘弾性流体の場合は応力が連立非線形編微分方程式で記述される。
- 界面

  :   流体中を固体物体が動く場合や、液面のように界面自体が流れ場を解いた結果として得られる場合(自由表面と呼ばれる)がある。VOF法(Volume of fluid)や埋め込み境界法などの手法がある。
- 混相流

  :   空気中の粉塵や液滴の噴霧、液中の気泡、沸騰など、複数の相が混ざり合う混相流の場合がある。
- 化学反応

  :   流れの中で化学反応が起こり、さらにその反応が大きなエネルギーを生む場合(燃焼、爆発など)がある。
- 気象学、海洋学

  :   大気や海洋を扱う場合は、きわめて高いレイノルズ数と非常に大きいアスペクト比、そして地球の回転による力が重要になる。数値予報も参照。
- プラズマ流、磁気流体力学

  :   天文物理学などの分野では電磁気の効果が重要な役割を担い、運動方程式をマクスウェル方程式と共に解く必要がある。プラズマのモデリングも参照。

## 著名な数値流体力学ソフトウェア

汎用CFDソフトウェアは多数存在しており、実務レベルから研究レベルまで様々な用途に使用されている。以下にいくつかのメーカー及びソフトウェアを示す。

- ANSYS
  - Discovery AIM (マルチフィジックス)、Fluent、CFX、Discovery Live
- Dassault Systèmes (子会社のExa Corporationを含む)
  - SIMULIA XFlow、SOLIDWORKS Flow Simulation、PowerFlow
- シーメンス (子会社のSiemens PLM Software及びメンター・グラフィックスを含む)
  - Simcenter 3D (マルチフィジックス)、Simcenter STAR-CCM+、FloEFD
- Altair Engineering
  - AcuSolve、ultraFluidX、nanoFluidX
- MSC Software (子会社のソフトウェアクレイドルを含む)
  - STREAM、SCRYU/Tetra
- Cadence Design Systems(子会社のNUMECA Internationalを含む)
  - FINE/Turbo(OMNIS/Turbo)
  - FINE/Open(OMNIS/Open)
  - FINE/Marine
- Autodesk
  - Autodesk CFD
- ESI Group
  - CFD-ACE+、CFD-FASTRAN、ESI-PRESTO
- アドバンスソフト株式会社
  - Advance/FrontFlow/red、FrontFlow/Blue
- 株式会社環境シミュレーション
  - WindPerfect、e-flow
- プロメテック・ソフトウェア株式会社
  - Particleworks
- その他
  - OpenFOAM