DNS(直接数値シミュレーション)の基礎

カテゴリ: 流体解析(CFD) | 統合版 2026-04-06
CAE visualization for dns fundamentals theory - technical simulation diagram
DNS(直接数値シミュレーション)の基礎

DNS(直接数値シミュレーション)の基礎の理論基礎

概要

🧑‍🎓

先生、DNSって乱流のすべてのスケールを直接解くんですよね? どういう仕組みなんですか?


🎓

DNS(Direct Numerical Simulation)はNavier-Stokes方程式を乱流モデルなしで直接解く手法だ。Kolmogorovの最小スケール $\eta$ から積分スケール $L$ まで、すべての渦をメッシュで解像する。乱流の物理を最も忠実に再現するが、必要な計算資源は桁違いだ。


必要な解像度

🧑‍🎓

DNSに必要なメッシュ数はどのくらいですか?


🎓

各方向のメッシュ数は $L/\eta$ に比例する。Kolmogorovスケールは $\eta = (\nu^3/\varepsilon)^{1/4}$ で、積分スケールとの比は Reynolds数で決まる。


$$ \frac{L}{\eta} \sim Re_L^{3/4} $$

3次元では各方向にこれだけの格子点が必要だから、総格子点数は、


$$ N_{\text{total}} \sim Re_L^{9/4} $$

🧑‍🎓

$Re = 10^4$ だとどのくらいですか?


🎓

$N \sim (10^4)^{9/4} \approx 10^9$。つまり約10億格子点だ。さらに時間ステップ数は $Re_L^{1/2}$ に比例するから、総計算量は $Re_L^{11/4}$ に比例する。産業レベルの $Re \sim 10^6$ では $N \sim 10^{13.5}$ と現在の計算機では到底不可能だ。


支配方程式

🧑‍🎓

DNSで解く方程式は?


🎓

非圧縮性流体なら、通常のNavier-Stokes方程式そのものだ。


$$ \frac{\partial u_i}{\partial t} + u_j\frac{\partial u_i}{\partial x_j} = -\frac{1}{\rho}\frac{\partial p}{\partial x_i} + \nu\frac{\partial^2 u_i}{\partial x_j^2} $$
$$ \frac{\partial u_i}{\partial x_i} = 0 $$

🎓

モデル項が一切ない。これがDNSの最大の強みであり、結果はN-S方程式の「正解」とみなせる。RANSモデルやLESモデルの検証データとして最も信頼できる。


Kolmogorovのスケーリング

🧑‍🎓

Kolmogorovスケールについてもう少し教えてください。


🎓

乱流のエネルギーカスケードにおける最小スケールだ。


スケール物理的意味
長さスケール $\eta$$(\nu^3/\varepsilon)^{1/4}$粘性散逸が支配する最小渦のサイズ
速度スケール $u_\eta$$(\nu\varepsilon)^{1/4}$最小渦の速度
時間スケール $\tau_\eta$$(\nu/\varepsilon)^{1/2}$最小渦のターンオーバー時間
🎓

DNSでは $\Delta x \leq \pi\eta$(目安として $\Delta x \approx 2\eta$)、$\Delta t \leq \tau_\eta$ が必要だ。メッシュがこの条件を満たしていないと、小スケールの渦がエイリアシングを起こして計算が不安定化する。

Coffee Break よもやま話

DNSの「9/4乗の壁」——$Re$ を2倍にすると計算量は何倍になるか

DNSに必要な格子点数はコルモゴロフスケールまで解像するため $N \sim Re^{9/4}$ のオーダーで増えます。例えば $Re$ を2倍にすると計算量は $2^{9/4} \approx 4.76$ 倍になる計算です。実用的な航空機翼翼のDNS($Re \sim 10^7$)には現在のスーパーコンピュータで数十年かかるという試算もあります。DNSが「研究者の理想と現実の壁」の象徴として語られるのは、この冷酷な指数の話がすべてを物語っているからです。

DNS(直接数値シミュレーション)の基礎の数値計算手法

DNSの数値手法

🧑‍🎓

DNSではどんな数値スキームを使うんですか?


🎓

DNSでは数値誤差が乱流の物理を汚染しないよう、高精度スキームが必須だ。


手法空間精度適用代表的コード
スペクトル法指数的(spectral accuracy)周期的な単純形状Channelflow, SIMSON
コンパクト有限差分(6次)6次やや複雑な形状Incompact3d
標準有限差分(2次中心差分)2次一般形状OpenFOAM, Nek5000
スペクトル要素法高次(p次)複雑形状Nek5000, Nektar++
🧑‍🎓

スペクトル法が最も高精度なんですか?


🎓

そうだ。周期境界条件を持つ単純形状(チャネル流、等方乱流のボックス等)ではFFTベースのスペクトル法が最も効率的だ。高波数成分のエイリアシングを3/2則やPhase Shiftで除去する。ただし複雑形状には適用できない。


圧力ポアソン方程式

🧑‍🎓

非圧縮DNSで圧力はどう計算するんですか?


🎓

連続の式を満足するために、圧力ポアソン方程式を解く。


$$ \nabla^2 p = -\rho \frac{\partial u_i}{\partial x_j}\frac{\partial u_j}{\partial x_i} $$

スペクトル法では波数空間で直接解けるため非常に効率的だ。有限差分法では反復法(PCG、FFT-based direct solver等)を使う。


時間積分

🧑‍🎓

時間方向のスキームは?


🎓

粘性項には陰解法(Crank-Nicolson)、対流項には陽解法(3次Adams-Bashforth or 低蓄積Runge-Kutta)を組み合わせるのが標準的だ。


スキーム精度安定性典型的な用途
AB3 + CN2〜3次条件付き安定(CFL制約)チャネル流DNS
RK3 + CN3次良好高精度DNS
RK44次CFL制約厳しいスペクトル法DNS
🧑‍🎓

DNSの時間刻みはどのくらい小さいんですか?


🎓

CFL条件 $\Delta t \leq \Delta x / U_{\max}$ と粘性安定条件 $\Delta t \leq \Delta x^2 / (2\nu)$ の両方を満たす必要がある。チャネル流DNS($Re_\tau = 590$)の場合、$\Delta t^+ = \Delta t u_\tau^2/\nu \approx 0.02$ 程度。物理時間で数万〜数十万ステップの計算が必要になる。

Coffee Break よもやま話

DNSでスペクトル法が選ばれる理由——「微分誤差ゼロ」の誘惑

DNSの数値手法としてフーリエスペクトル法が好まれる理由は「微分の精度が理論上無限大」だからです。物理空間の差分法では微分誤差が格子幅に依存しますが、フーリエスペクトル法では各波数モードを独立に扱うため、解析的な微分と等価の精度が得られます。ただし欠点も明確で「周期境界条件しか扱えない」「非均一格子に拡張できない」という制約があります。だからDNSで扱う問題はチャンネル流れや等方性乱流など「シンプルな形状の問題」に集中する——これは精度への追求の結果として生まれた合理的な選択です。

DNS(直接数値シミュレーション)の基礎の実務適用

DNSの典型的な適用例

🧑‍🎓

DNSは実際にどういう研究に使われているんですか?


🎓
適用例代表的な $Re$格子点数目的
チャネル流($Re_\tau = 5200$)$Re_\tau = 5200$約100億壁面乱流の統計データ取得
等方性乱流減衰$Re_\lambda = 100$〜$600$約1億〜80億エネルギースペクトル、カスケード
平板境界層$Re_\theta = 1000$〜$6500$約10億遷移・乱流境界層の詳細データ
円柱周り($Re = 3900$)$Re_D = 3900$約2億渦放出ストローハル数
🧑‍🎓

DNSで得られたデータはどう活用されるんですか?


🎓

主に3つの用途がある。


1. 乱流モデルの検証: RANSモデル(k-epsilon、RSM等)やLES SGSモデルの精度を評価

2. 物理現象の解明: 壁面近傍の渦構造、エネルギーカスケード、遷移メカニズムの詳細分析

3. 機械学習の教師データ: データ駆動型乱流モデルの訓練データ


DNSデータベース

🧑‍🎓

公開されているDNSデータベースはありますか?


🎓
データベース機関主なデータ
Johns Hopkins Turbulence Databases (JHTDB)Johns Hopkins大学等方乱流、チャネル流、MHD
KTH DNS DatabaseKTH(スウェーデン王立工科大学)チャネル流、境界層
DNS Database (Moser group)テキサス大学チャネル流 $Re_\tau = 180$〜$5200$
Turbulence and Heat Transfer Database東京大学加熱チャネル流
🧑‍🎓

これらのデータを使えば、自分でDNSを走らせなくてもRANSモデルの検証ができるんですね。


🎓

その通り。特にMoserのチャネル流DNSデータ($Re_\tau = 180, 395, 590, 2003, 5200$)は、乱流モデル検証の世界標準だ。速度プロファイル、Reynolds応力、乱流エネルギー収支がすべて公開されている。

Coffee Break よもやま話

DNSデータベースが「乱流研究の共通財産」になった経緯

1987年にKim, Moin, Mosserがチャンネル流れのDNSを実施してデータを公開して以来、DNS結果は乱流モデルの「正解」として研究コミュニティ全体で参照されるようになりました。現在はJHU Turbulence DatabaseやVT国立研究所のPetaFlops DNS Databaseなど、テラバイト級のDNSデータが無料で公開されています。これにより「モデルの精度をDNSと比較する」という検証文化が根付いた——DNSは「実験より正直なベンチマーク」として乱流研究の基盤になっています。

DNS(直接数値シミュレーション)の基礎のソフトウェア比較

DNSに適したソフトウェア

🧑‍🎓

DNSは商用CFDソフトでも実行できるんですか?


🎓

技術的には可能だが、商用ソルバー(Fluent、STAR-CCM+等)はFVMベースで空間精度が2次程度のため、DNSの要求する高精度には不向きだ。DNSには専用コードが使われることが多い。


コード手法ライセンス特徴
Nek5000/NekRSスペクトル要素法オープンソース (BSD)GPU対応、複雑形状対応
Incompact3d/Xcompact3d6次コンパクト差分オープンソース (BSD)2DECOMP&FFTで大規模並列
SIMSONスペクトル法学術ライセンスチャネル流・境界層の定番
Channelflowスペクトル法オープンソース (GPL)チャネル流専用
OpenFOAMFVM (2次)オープンソース (GPL)低Re DNSには使える
🧑‍🎓

OpenFOAMでDNSはできないんですか?


🎓

OpenFOAMは2次精度FVMだから、高Re DNSには数値散逸が大きすぎる。ただし $Re$ が十分低い流れ($Re < 1000$ 程度)なら、乱流モデルをオフにして DNS的に解くことは可能だ。pimpleFoamturbulence off に設定すれば良い。


GPU対応の動向

🧑‍🎓

GPUでDNSを加速する動向はありますか?


🎓

急速に進んでいる。NekRS(Nek5000のGPU版)はAMD/NVIDIA GPU上で優れたスケーラビリティを達成し、Frontier(AMD MI250X)やSummit(NVIDIA V100)で兆格子点級のDNSが実行されている。


🎓

Gordon Bell Prize 2022では、NekRSを使ったフルスケール航空機周りのWall-Resolved LES(事実上のDNS級解像度)がFrontierで実行され、数百億格子点の計算が報告された。


🧑‍🎓

DNSは研究ツールとしては最高精度だけど、産業適用にはReynolds数の壁が立ちはだかるんですね。LESやDDESとの使い分けが重要だと分かりました。

Coffee Break よもやま話

DNSに商用ソルバーが使えないわけ——「精度保証」という壁

なぜDNSにFluentやStarCCM+が使われないかを説明するのは少し込み入っています。これらの商用ソルバーは2次または最大で4次精度の空間離散化を採用しており、DNS品質(コルモゴロフスケールまで誤差なく解像)を達成するには膨大な格子が必要になります。スペクトル法ベースのコード(Nek5000、Dedalus、spectralDNSなど)は研究機関で開発・公開されており、精度保証の面で理論的優位性があります。「商用ソルバーは産業用、DNS特化コードは研究用」という分業が自然に生まれた背景です。

DNS(直接数値シミュレーション)の基礎の先端研究

Exascale DNSの時代

🧑‍🎓

最先端のDNSはどのくらいの規模なんですか?


🎓

2024年時点で、世界最大級のDNSは以下の通りだ。


研究格子点数$Re$計算機
チャネル流 ($Re_\tau = 10,000$)約1000億$Re_\tau = 10,000$Fugaku (RIKEN)
等方乱流 ($Re_\lambda \sim 1300$)約2兆$Re_\lambda \sim 1300$Frontier (ORNL)
翼型DNS ($Re_c = 400,000$)約100億$Re_c = 400,000$Fugaku
🎓

Exascaleコンピュータ($10^{18}$ FLOPS超)の登場により、これまで不可能だった高Reynolds数のDNSが実現可能になりつつある。ただし産業レベルの $Re \sim 10^7$ にはまだ数桁のギャップがある。


DNSとAIの融合

🧑‍🎓

DNSデータをAIに活用する研究はどうなっていますか?


🎓

活発に進んでいる。主なアプローチを紹介しよう。


アプローチ概要代表的研究
乱流モデル改良DNS統計量でRANSモデルを較正Duraisamy et al. (2019)
超解像粗いLES→DNS級解像度を推定Fukami et al. (2019)
流れ場予測形状→流れ場のend-to-end予測Thuerey et al. (2020)
サロゲートモデルDNSの代替としてNNで高速近似Geneva-Zabaras (2020)

圧縮性DNS

🧑‍🎓

圧縮性流体のDNSは非圧縮性と何が違いますか?


🎓

圧縮性DNSでは音波の解像も必要になるため、格子要件がさらに厳しくなる。音響CFL条件 $\Delta t < \Delta x / c$($c$: 音速)が時間刻みを制約する。高マッハ数流れでは衝撃波の捕捉も必要で、数値スキームにより高い要求が課される。


🧑‍🎓

DNSは「乱流の真理」を明らかにするツールであり、RANSやLESのモデル検証に不可欠な存在なんですね。計算機の発展とともに適用範囲が広がっていくのが楽しみです。

Coffee Break よもやま話

富岳でDNS——$Re_\tau = 10000$ 達成が示すもの

2022年、理化学研究所の富岳スーパーコンピュータを使ったチャンネル流れのDNSが摩擦レイノルズ数 $Re_\tau = 10000$ に到達しました。これは約100億格子点規模の計算で、世界最大クラスのDNSです。このデータから初めて「真の対数則の精密な検証」と「超高Re数でのコルモゴロフスケール統計」が得られました。注目すべきは、この規模のDNSでもいまだ「工業的に使われる機器のReには届かない」という事実。DNSが「先端研究の最前線」であり続ける理由がここにあります。

DNS(直接数値シミュレーション)の基礎のトラブル対応

よくある問題と対策

🧑‍🎓

DNSで計算がうまくいかないとき、何を確認すればいいですか?


1. 計算が発散する

🎓

症状: 速度場が発散、NaN発生


原因: CFL条件違反(時間刻みが大きすぎる)、解像度不足(Kolmogorovスケール未解像)、エイリアシングエラー


対策:

  • CFL < 0.5 に時間刻みを下げる
  • エネルギースペクトルを確認し、高波数でのパイルアップ(エイリアシング)がないか検証
  • スペクトル法なら3/2則のde-aliasingを適用
  • メッシュを細かくして $k_{\max}\eta > 1.5$ を確認($k_{\max}$ は最大解像波数)

2. エネルギースペクトルが $-5/3$ 乗則に従わない

🧑‍🎓

エネルギースペクトルのチェックは重要ですか?


🎓

重要。 慣性小領域でKolmogorovの $-5/3$ 乗則 $E(k) \sim k^{-5/3}$ が再現されているか確認することが、DNSの品質保証の基本だ。


よくある問題:

  • 高波数でスペクトルが上昇(エイリアシング)→ de-aliasing適用
  • 慣性小領域が狭すぎる → Reynolds数が低すぎてスケール分離が不十分
  • スペクトルが急激に落ちる → 数値散逸が大きすぎる(スキームの精度不足)

3. 統計量がDNSデータベースと一致しない

🎓

対策:

  • 統計収集時間は最低 $20 T_E$($T_E$: 大渦のターンオーバー時間)
  • 空間方向の統一性を活用(チャネル流なら流れ方向+スパン方向で空間平均)
  • 初期過渡の除去を確認
  • 境界条件(周期、no-slip等)が正しいか再確認

4. 並列計算のスケーラビリティ

🧑‍🎓

DNSの並列計算で気をつけることは?


🎓

DNSは大規模並列が必須だが、圧力ポアソン方程式の解法がボトルネックになりやすい。スペクトル法ではFFTの全対全通信が並列効率を下げる。対策として2D領域分割(pencil decomposition)やmultigrid法が使われる。


🧑‍🎓

DNSは計算の品質管理がとても重要で、エネルギースペクトルの確認が基本中の基本なんですね。$k_{\max}\eta$ や $-5/3$ 乗則のチェックを怠らないようにします。

Coffee Break よもやま話

DNSの「初期条件地獄」——乱流場を作るのが最初の壁

DNSを始めようとして最初に詰まるのが初期条件の設定です。「とりあえず乱数を速度場に加える」だけでは乱流として発達せず、発散するかひたすら層流のままのどちらかになりがちです。物理的に意味のある乱流場を作るにはIsotropic Turbulence Generator(ランダムモードのフーリエ合成)やRescaling-Recycling法が必要で、これ自体が小さな研究テーマになるくらい難しい。「DNSで難しいのは実は初期化で、計算より前の段階でつまずく人が多い」というのはDNS研究者間のよくある笑い話です。

関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧

関連する分野

熱解析V&V・品質保証構造解析
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
プロフィールを見る