キャビティ流れ(蓋駆動) — トラブルシューティングガイド

カテゴリ: 流体解析 | 2026-02-20
lid-driven-cavity-troubleshoot
問題解決のヒント

よくある問題と対策

🧑‍🎓

キャビティ流れの計算で起きるトラブルを教えてください。


1. Ghia データと合わない

🎓

確認ポイント:

  • メッシュ密度: Re = 1000 なら最低 $64 \times 64$ 以上。$32 \times 32$ だと $5\text{--}10\%$ の誤差が出る
  • 空間離散化スキーム: 1次風上(First Order Upwind)だと数値拡散で渦が弱まる。最低2次精度を使う
  • 参照点のずれ: Ghia のデータは $129 \times 129$ の格子点上の値。自分のメッシュとの内挿誤差に注意
  • Re数の定義: $Re = UL/\nu$ であることを確認。$L$ をキャビティの一辺の長さとしているか

2. 圧力が振動する

🧑‍🎓

圧力のコンター図がチェッカーボード模様になるんですが。


🎓

原因: collocated配置(速度と圧力を同じ格子点に配置)で Rhie-Chow 補間が不適切な場合に起こる。


対策:

  • Rhie-Chow momentum interpolation が有効になっているか確認(OpenFOAM では標準で有効)
  • staggered grid(速度と圧力を異なる格子点に配置)を使う手法もある(古典的FDMコード)
  • 圧力の under-relaxation を $0.2\text{--}0.3$ に設定

3. 高Re数で収束しない

🎓

Re > 5000 では非線形性が強く、SIMPLE法の収束が遅くなる。


対策:

  • 擬似時間進行法: 非定常ソルバー(PIMPLE)で十分長い時間走らせて定常解に収束させる
  • continuation法: 低Re(例: Re=100)の収束解を初期条件にして、Re を段階的に上げる
  • マルチグリッド: AMG前処理を圧力方程式に使用。OpenFOAMでは GAMG ソルバー

🧑‍🎓

Re を段階的に上げるのは良い方法ですね。


🎓

いわゆる parameter continuation だ。Re=100 → 400 → 1000 → 3200 → 5000 → 10000 と段階的に上げる。各段階で前段の解を初期条件にする。


4. コーナー渦が解像できない

🎓

Moffatt 渦は幾何級数的に小さくなるので、均一格子では解像が困難だ。


対策: コーナーに向かって格子を幾何級数的に細かくする。OpenFOAMblockMesh なら simpleGrading で壁面への grading ratio を $10\text{--}20$ に設定。


5. 3D計算で2Dと異なる結果が出る

🧑‍🎓

3Dで計算したら2Dの結果と違うんですが。


🎓

Re > 800 程度では3D不安定性(Taylor-Goertler渦)が発現するので、3Dの結果が2Dと異なるのは物理的に正しい。


確認事項:

  • スパン方向に周期境界を使っているか(端壁面がある場合は端壁効果が加わる)
  • スパン方向の解像度が十分か(不安定波長の $1/10$ 以下のメッシュ幅)
  • 2D計算との差が不安定性によるものか、数値誤差によるものかを区別するため、低Re(Re=100)で2Dと3Dが一致することを先に確認

🧑‍🎓

段階的に検証を進める姿勢が大事なんですね。


🎓

その通りだ。cavity flow は「簡単な問題」と思われがちだが、高Re数での分岐現象、コーナー特異性、3D不安定性など、数値流体力学の本質的な問題を含んでいる。だからこそ40年以上にわたってベンチマーク問題として使われ続けているんだ。

Coffee Break よもやま話

レイノルズの実験(1883年)——乱流発見の瞬間

オズボーン・レイノルズは、管内の水にインクを流す実験で「層流から乱流への遷移」を発見しました。流速を上げていくと、インクの線がある瞬間にグチャグチャに乱れる。この劇的な瞬間を、レイノルズは数学的に $Re = \rho uD/\mu$ という無次元数で表現した。100年以上経った今も、CFDエンジニアが最初に確認するのはこのレイノルズ数です。

トラブル解決の考え方

デバッグのイメージ

CFDのデバッグは「水道管の詰まり修理」に似ている。まず「どこで詰まっているか」(どの残差が下がらないか)を特定し、次に「何が詰まっているか」(メッシュ品質境界条件乱流モデル?)を調べ、最後に「どう直すか」(メッシュ修正?緩和係数?)を判断する。

「解析が合わない」と思ったら

  1. まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
  2. 最小再現ケースを作る——キャビティ流れ(蓋駆動)の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
  3. 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
  4. 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う

CFDメッシュの品質管理や乱流モデルの選定に悩む時間を、もっと創造的な設計作業に使えたら。 — Project NovaSolverはそんな実務者の声から生まれました。

キャビティ流れ(蓋駆動)の実務で感じる課題を教えてください

Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。

実務課題アンケートに回答する →