円柱周りの流れ
理論と物理
概要
先生、円柱周りの流れって、風が柱に当たるだけの話じゃないんですか?
見た目はシンプルだが、Re数によって流れの構造が劇的に変わる。定常対称剥離からカルマン渦列、さらには乱流遷移まで、流体力学の教科書に必ず出てくる古典的かつ本質的な問題だよ。
カルマン渦列って、あの交互に渦が出るやつですよね。なんで交互になるんですか?
Re が約47を超えると、後流の対称性が絶対不安定になる。片側の剥離せん断層が反対側の渦度を巻き込むことでフィードバックループが生じ、上下交互に渦が放出される。これが Benard-von Karman 渦列だ。
Re数による流れの分類
Re数でどのくらい変わるものなんですか?
整理するとこうなる。
| Re 範囲 | 流れの状態 | 特徴 |
|---|---|---|
| Re < 5 | クリーピング流れ | 前後対称、剥離なし |
| 5 < Re < 47 | 定常双子渦 | 対称な再循環領域が形成 |
| 47 < Re < 190 | 2D カルマン渦列 | 周期的渦放出、層流 |
| 190 < Re < 260 | 3D 遷移(Mode A/B) | スパン方向の不安定性出現 |
| 260 < Re < 1000 | 乱流遷移域 | 後流は乱流化、剥離点は層流 |
| $10^3$ < Re < $3 \times 10^5$ | 亜臨界域 | 層流剥離、$C_D \approx 1.2$ |
| $3 \times 10^5$ < Re < $10^6$ | 臨界域(抗力危機) | 遷移が剥離前に発生、$C_D$ 急降下 |
| Re > $10^6$ | 超臨界域 | 乱流境界層剥離 |
Re = 47 でもう渦列が出るんですか。意外と低いですね。
そうだ。この閾値は Hopf 分岐に対応している。線形安定性解析で臨界 Re を精密に求めると $Re_{cr} \approx 46.7$ という値が得られる。
支配方程式
では支配方程式を教えてください。
非圧縮性 Navier-Stokes 方程式だ。
ここで $\nu = \mu / \rho$ は動粘度、$\mathbf{u}$ は速度ベクトル、$p$ は圧力だ。無次元化すると Reynolds 数 $Re = U_\infty D / \nu$ が唯一の支配パラメータになる。
Strouhal 数と渦放出周波数
渦の出る周波数って予測できるんですか?
Strouhal 数で整理する。
亜臨界域($300 < Re < 3 \times 10^5$)では $\mathrm{St} \approx 0.2$ がほぼ一定値を取る。これは Roshko の実験で確認された有名な結果だ。低 Re 側では Re の関数として次の経験式がよく使われる。
抗力・揚力係数
抗力係数の定義も確認させてください。
単位スパン長さあたりの定義はこうだ。
$$ C_D = \frac{F_D}{\frac{1}{2}\rho U_\infty^2 D}, \quad C_L = \frac{F_L}{\frac{1}{2}\rho U_\infty^2 D} $$
定常流の $C_D$ はRe によって大きく変わる。Stokes 領域では $C_D \propto Re^{-1}$、亜臨界域では $C_D \approx 1.0 \text{--} 1.2$ 、臨界域で $C_D \approx 0.3$ まで低下し、超臨界域で再び $C_D \approx 0.6 \text{--} 0.7$ まで回復する。
揚力は渦放出の周波数と同じ周波数で変動するんですか?
揚力の変動周波数は渦放出周波数 $f$ そのものだ。一方、抗力の変動周波数は $2f$ になる。上下交互に渦が出るたびに抗力は増減するが、揚力は片側の渦放出で正負が入れ替わるからだ。
抗力が $2f$ というのは面白いですね。言われてみれば確かにそうなりますね。
Coffee Break よもやま話
カルマン渦と煙突崩壊——Strouhal数が建物を守る
円柱後流に生まれるカルマン渦列は、工学的に深刻な問題を引き起こすことがあります。渦の放出周波数($f = St \cdot U/D$)が構造物の固有振動数と一致すると共振し、振動が増幅します。1965年にイギリスのフェリーブリッジ発電所で3本の冷却塔が連続崩壊した事故も、カルマン渦による渦励振が原因と判定されました。CFDでStrouhal数を正確に計算できるかどうかは、煙突・橋桁・海洋ライザー管の設計で直接コスト(あるいは安全性)に影響します。「Re≈100で2Dの層流CFDでもカルマン渦が出る」のは、コードの動的挙動確認として使えるベンチマークです。
各項の物理的意味
- 時間項 $\partial(\rho\phi)/\partial t$:蛇口をひねった瞬間を思い浮かべてください。最初は水がバタバタと不安定に出て、しばらくすると安定した流れになりますよね? この「変化している最中」を記述するのが時間項です。心臓の拍動で血流が脈打つのも、エンジンのバルブが開閉するたびに流れが変動するのも、すべて非定常現象。では定常解析とは? 「十分時間が経って流れが落ち着いた後」だけを見る——つまりこの項をゼロにする。計算コストが大幅に下がるため、まず定常で解いてみるのがCFDの基本戦略です。
- 対流項 $\nabla \cdot (\rho \mathbf{u} \phi)$:川に落ち葉を落としたらどうなりますか? 流れに乗って下流に運ばれますよね。これが「対流」——流体の動きが物を運ぶ効果です。暖房の温風が部屋の端まで届くのも、空気という「運び屋」が熱を対流で輸送しているから。ここが面白いところ——この項は「速度×速度」を含むため非線形です。つまり、流れが速くなるとこの項が急激に強くなり、制御が難しくなる。これが乱流の根本原因です。よくある勘違い:「対流と伝導は同じようなもの」→ 全然違います! 対流は流れが運ぶ、伝導は分子が伝える。桁違いの効率差があります。
- 拡散項 $\nabla \cdot (\Gamma \nabla \phi)$:コーヒーにミルクを入れて放置したことはありますか? かき混ぜなくても、しばらく経つと自然に混ざりますよね。あれが分子拡散です。では次の質問——ハチミツとお水、どちらが流しやすいですか? 当然お水ですよね。ハチミツは粘性($\mu$)が高いから流れにくい。粘性が大きいと拡散項が強くなり、流体は「もったりした」動きになります。レイノルズ数が小さい流れ(ゆっくり、ドロドロ)では拡散が支配的。逆にRe数が大きい流れでは対流が圧倒し、拡散は脇役になります。
- 圧力項 $-\nabla p$:注射器のピストンを押すと、液体が針先から勢いよく出ますよね? なぜでしょう? ピストン側が高圧、針先が低圧——この圧力差が流体を押す力になるからです。ダムの放水も同じ原理。天気図で等圧線がギュッと密になっている場所では? そう、強風が吹きます。「圧力差があるところに流れが生まれる」——これがナビエ-ストークス方程式の圧力項の物理的意味。ここでの勘違いポイント:CFDの「圧力」は絶対圧ではなくゲージ圧のことが多い。圧縮性解析に切り替えたとたんに結果がおかしくなる場合、絶対圧/ゲージ圧の混同が原因かもしれません。
- ソース項 $S_\phi$:暖められた空気が上に昇る——なぜでしょう? 周囲より軽く(密度が低く)なったから、浮力で押し上げられるのです。この浮力はソース項として方程式に追加されます。他にも、ガスコンロの炎で化学反応熱が発生する、工場の電磁ポンプで金属溶湯にローレンツ力がかかる…これらはすべて「外部から流体にエネルギーや力を注入する」作用であり、ソース項で表現します。ソース項を忘れるとどうなるか? 自然対流の解析で浮力を入れ忘れると、流体は一切動かない——冬の部屋で暖房をつけたのに暖かい空気が上に行かない、という物理的にありえない結果になります。
仮定条件と適用限界
- 連続体仮定:クヌッセン数 Kn < 0.01(分子平均自由行程 ≪ 代表長さ)で成立
- ニュートン流体仮定:せん断応力と歪み速度が線形関係(非ニュートン流体では粘度モデルが必要)
- 非圧縮性仮定(Ma < 0.3の場合):密度を一定として扱う。マッハ数0.3以上では圧縮性効果を考慮
- ブシネスク近似(自然対流):密度変化を浮力項のみで考慮し、他の項では一定密度を使用
- 適用外ケース:希薄気体(Kn > 0.1)、超音速・極超音速流れ(衝撃波捕捉が必要)、自由表面流れ(VOF/Level Set等が必要)
次元解析と単位系
変数 SI単位 注意点・換算メモ
速度 $u$ m/s 入口条件で体積流量から換算する際、断面積の単位に注意
圧力 $p$ Pa ゲージ圧と絶対圧の区別。圧縮性解析では絶対圧を使用
密度 $\rho$ kg/m³ 空気: 約1.225 kg/m³@20°C、水: 約998 kg/m³@20°C
粘性係数 $\mu$ Pa·s 動粘性係数 $\nu = \mu/\rho$ [m²/s] との混同に注意
レイノルズ数 $Re$ 無次元 $Re = \rho u L / \mu$。層流/乱流遷移の判定指標
CFL数 無次元 $CFL = u \Delta t / \Delta x$。時間刻みの安定性に直結
抗力係数の定義も確認させてください。
単位スパン長さあたりの定義はこうだ。
定常流の $C_D$ はRe によって大きく変わる。Stokes 領域では $C_D \propto Re^{-1}$、亜臨界域では $C_D \approx 1.0 \text{--} 1.2$ 、臨界域で $C_D \approx 0.3$ まで低下し、超臨界域で再び $C_D \approx 0.6 \text{--} 0.7$ まで回復する。
揚力は渦放出の周波数と同じ周波数で変動するんですか?
揚力の変動周波数は渦放出周波数 $f$ そのものだ。一方、抗力の変動周波数は $2f$ になる。上下交互に渦が出るたびに抗力は増減するが、揚力は片側の渦放出で正負が入れ替わるからだ。
抗力が $2f$ というのは面白いですね。言われてみれば確かにそうなりますね。
カルマン渦と煙突崩壊——Strouhal数が建物を守る
円柱後流に生まれるカルマン渦列は、工学的に深刻な問題を引き起こすことがあります。渦の放出周波数($f = St \cdot U/D$)が構造物の固有振動数と一致すると共振し、振動が増幅します。1965年にイギリスのフェリーブリッジ発電所で3本の冷却塔が連続崩壊した事故も、カルマン渦による渦励振が原因と判定されました。CFDでStrouhal数を正確に計算できるかどうかは、煙突・橋桁・海洋ライザー管の設計で直接コスト(あるいは安全性)に影響します。「Re≈100で2Dの層流CFDでもカルマン渦が出る」のは、コードの動的挙動確認として使えるベンチマークです。
各項の物理的意味
- 時間項 $\partial(\rho\phi)/\partial t$:蛇口をひねった瞬間を思い浮かべてください。最初は水がバタバタと不安定に出て、しばらくすると安定した流れになりますよね? この「変化している最中」を記述するのが時間項です。心臓の拍動で血流が脈打つのも、エンジンのバルブが開閉するたびに流れが変動するのも、すべて非定常現象。では定常解析とは? 「十分時間が経って流れが落ち着いた後」だけを見る——つまりこの項をゼロにする。計算コストが大幅に下がるため、まず定常で解いてみるのがCFDの基本戦略です。
- 対流項 $\nabla \cdot (\rho \mathbf{u} \phi)$:川に落ち葉を落としたらどうなりますか? 流れに乗って下流に運ばれますよね。これが「対流」——流体の動きが物を運ぶ効果です。暖房の温風が部屋の端まで届くのも、空気という「運び屋」が熱を対流で輸送しているから。ここが面白いところ——この項は「速度×速度」を含むため非線形です。つまり、流れが速くなるとこの項が急激に強くなり、制御が難しくなる。これが乱流の根本原因です。よくある勘違い:「対流と伝導は同じようなもの」→ 全然違います! 対流は流れが運ぶ、伝導は分子が伝える。桁違いの効率差があります。
- 拡散項 $\nabla \cdot (\Gamma \nabla \phi)$:コーヒーにミルクを入れて放置したことはありますか? かき混ぜなくても、しばらく経つと自然に混ざりますよね。あれが分子拡散です。では次の質問——ハチミツとお水、どちらが流しやすいですか? 当然お水ですよね。ハチミツは粘性($\mu$)が高いから流れにくい。粘性が大きいと拡散項が強くなり、流体は「もったりした」動きになります。レイノルズ数が小さい流れ(ゆっくり、ドロドロ)では拡散が支配的。逆にRe数が大きい流れでは対流が圧倒し、拡散は脇役になります。
- 圧力項 $-\nabla p$:注射器のピストンを押すと、液体が針先から勢いよく出ますよね? なぜでしょう? ピストン側が高圧、針先が低圧——この圧力差が流体を押す力になるからです。ダムの放水も同じ原理。天気図で等圧線がギュッと密になっている場所では? そう、強風が吹きます。「圧力差があるところに流れが生まれる」——これがナビエ-ストークス方程式の圧力項の物理的意味。ここでの勘違いポイント:CFDの「圧力」は絶対圧ではなくゲージ圧のことが多い。圧縮性解析に切り替えたとたんに結果がおかしくなる場合、絶対圧/ゲージ圧の混同が原因かもしれません。
- ソース項 $S_\phi$:暖められた空気が上に昇る——なぜでしょう? 周囲より軽く(密度が低く)なったから、浮力で押し上げられるのです。この浮力はソース項として方程式に追加されます。他にも、ガスコンロの炎で化学反応熱が発生する、工場の電磁ポンプで金属溶湯にローレンツ力がかかる…これらはすべて「外部から流体にエネルギーや力を注入する」作用であり、ソース項で表現します。ソース項を忘れるとどうなるか? 自然対流の解析で浮力を入れ忘れると、流体は一切動かない——冬の部屋で暖房をつけたのに暖かい空気が上に行かない、という物理的にありえない結果になります。
仮定条件と適用限界
- 連続体仮定:クヌッセン数 Kn < 0.01(分子平均自由行程 ≪ 代表長さ)で成立
- ニュートン流体仮定:せん断応力と歪み速度が線形関係(非ニュートン流体では粘度モデルが必要)
- 非圧縮性仮定(Ma < 0.3の場合):密度を一定として扱う。マッハ数0.3以上では圧縮性効果を考慮
- ブシネスク近似(自然対流):密度変化を浮力項のみで考慮し、他の項では一定密度を使用
- 適用外ケース:希薄気体(Kn > 0.1)、超音速・極超音速流れ(衝撃波捕捉が必要)、自由表面流れ(VOF/Level Set等が必要)
次元解析と単位系
| 変数 | SI単位 | 注意点・換算メモ |
|---|---|---|
| 速度 $u$ | m/s | 入口条件で体積流量から換算する際、断面積の単位に注意 |
| 圧力 $p$ | Pa | ゲージ圧と絶対圧の区別。圧縮性解析では絶対圧を使用 |
| 密度 $\rho$ | kg/m³ | 空気: 約1.225 kg/m³@20°C、水: 約998 kg/m³@20°C |
| 粘性係数 $\mu$ | Pa·s | 動粘性係数 $\nu = \mu/\rho$ [m²/s] との混同に注意 |
| レイノルズ数 $Re$ | 無次元 | $Re = \rho u L / \mu$。層流/乱流遷移の判定指標 |
| CFL数 | 無次元 | $CFL = u \Delta t / \Delta x$。時間刻みの安定性に直結 |
数値解法と実装
数値解法の選択
円柱周りの流れをCFDで解くとき、どの手法を使えばいいんですか?
Re数によって最適な手法が変わる。整理するとこうだ。
| Re 範囲 | 推奨手法 | 理由 |
|---|---|---|
| Re < 200 | DNS(直接数値シミュレーション) | 2D計算で十分、全スケール解像可能 |
| 200 < Re < 1000 | DNS (3D) | 3D不安定性の解像が必要 |
| $10^3$ < Re < $10^4$ | LES | 後流の乱流構造を直接解像 |
| $10^4$ < Re < $10^6$ | URANS / DES / DDES | LESでは壁面解像コストが過大 |
| Re > $10^6$ | RANS (SST $k$-$\omega$) | 工学的精度で十分な場合 |
DNSで全部解けばいいんじゃないですか?
高Re数のDNSは格子点数が $Re^{9/4}$ でスケールする。Re=$10^6$ なら $10^{13}$ 点以上必要で、現状のスパコンでも非現実的だ。
圧力-速度連成
非圧縮の場合、圧力はどう解くんですか?
非圧縮Navier-Stokesでは圧力のPoisson方程式を解く必要がある。代表的な手法は以下の通りだ。
- SIMPLE法: Patankarの半陰的手法。定常計算向き。圧力補正を反復で求める
- PISO法: 非定常計算向き。1タイムステップ内に2回の圧力補正を行う
- 結合型ソルバー: 速度と圧力を同時に解く。収束が速いがメモリ消費大
- 分離型(Fractional Step): 中間速度を求めてから圧力Poissonで補正。DNS/LESで標準的
円柱の渦放出みたいな非定常問題だと、PISO が良さそうですね。
その通り。OpenFOAM の pimpleFoam では PISO ループと SIMPLE の外部反復を組み合わせた PIMPLE 法が使えるから、大きめの時間刻みでも安定して計算できる。
空間離散化
空間の離散化スキームはどうしますか?
対流項の扱いが最も重要だ。
| スキーム | 精度 | 特徴 |
|---|---|---|
| 中心差分(CD) | 2次 | 散逸なし。LES/DNSの標準だが、不安定になりやすい |
| 風上差分(UD) | 1次 | 数値拡散が大きい。渦が消える |
| 2次風上(SOU) | 2次 | RANSの標準。適度な散逸 |
| TVD スキーム | 2次 | 制限関数で振動抑制。MUSCL、van Leer など |
| QUICK | 3次 | 六面体メッシュで有効。非構造格子では注意 |
カルマン渦を解像したいなら、最低でも2次精度が必要だ。1次風上では数値拡散で渦が消滅する。
時間積分
時間方向の離散化は?
渦放出を正しく捉えるには時間刻みが重要だ。CFL 条件 $\mathrm{CFL} = u \Delta t / \Delta x < 1$ を満たすのが基本で、非定常計算では2次精度の陰解法(例: 後退2次差分 BDF2)がよく使われる。Strouhal 数 $\mathrm{St} \approx 0.2$ から渦放出周期 $T = D / (\mathrm{St} \cdot U_\infty)$ が分かるので、1周期あたり少なくとも200ステップ以上は取りたい。
メッシュ設計
メッシュの切り方で注意することはありますか?
円柱周り流れのメッシュ設計のポイントはこうだ。
- 円柱壁面: O型格子で円柱を囲む。第1層の壁面垂直方向厚さは $y^+ < 1$(LES/DNS)または $30 < y^+ < 300$(壁関数使用時)
- 後流域: 流れ方向に少なくとも $20D$ 以上確保。渦の発達と散逸を追跡するため
- 計算領域: 円柱中心から入口まで $10D$ 以上、側面まで $10D$ 以上。ブロッケージ比を $5\%$ 以下に
- スパン方向(3D): Mode A の波長が $\lambda_A \approx 4D$、Mode B が $\lambda_B \approx 1D$ なので、スパン長さは最低 $\pi D$ 程度必要
$y^+$ って壁面からの無次元距離ですよね。LESだと $y^+ < 1$ は結構細かいですね。
$y^+ = y u_\tau / \nu$ で、$u_\tau = \sqrt{\tau_w / \rho}$ は摩擦速度だ。亜臨界域の $C_f$ から見積もると、Re=$10^4$ で第1層厚さは $10^{-3}D$ 程度になる。これが高Re円柱LESのコスト要因だ。
「O型メッシュ」が円柱計算の定番になった理由
円柱周りの流れをCFDで解く際、円柱周囲をO字状に取り囲む「O型構造格子」がよく使われます。これは円柱表面から外側に向かって放射状に伸びる格子で、壁面近傍のy+管理と遠方への要素膨張が自然に実現できるからです。一方で「C型格子(後流側が開く形)」もよく使われます。どちらを選ぶかはRe数と目的次第で、Re数が高く後流の詳細が重要なら後流側に均一な要素密度を保てるC型が有利、Re数が低く表面の圧力・摩擦係数が主眼ならO型が圧倒的に管理しやすい。メッシュタイプの選択は「計算精度より先に、何を正確に見たいか」で決まります。
風上差分(Upwind)
1次風上: 数値拡散が大きいが安定。2次風上: 精度向上するが振動のリスク。高レイノルズ数流れでは必須。
中心差分(Central Differencing)
2次精度だが、Pe数 > 2で数値振動が発生。低レイノルズ数の拡散支配流れに適する。
TVDスキーム(MUSCL、QUICK等)
リミッタ関数により数値振動を抑制しつつ高精度を維持。衝撃波や急勾配の捕捉に有効。
有限体積法 vs 有限要素法
FVM: 保存則を自然に満足。CFDの主流。FEM: 複雑形状・マルチフィジックスに有利。SPH等のメッシュフリー法も発展中。
CFL条件(クーラン数)
陽解法: CFL ≤ 1が安定条件。陰解法: CFL > 1でも安定だが、精度と反復回数に影響。LES: CFL ≈ 1を推奨。物理的意味: 1タイムステップで情報が1セル以上進まないこと。
残差モニタリング
連続の式・運動量・エネルギーの各残差が3〜4桁低下で収束と判断。質量保存の残差は特に重要。
緩和係数
圧力: 0.2〜0.3、速度: 0.5〜0.7が一般的な初期値。発散する場合は緩和係数を下げる。収束後は上げて加速。
非定常計算の内部反復
各タイムステップ内で定常解に収束するまで反復。内部反復数: 5〜20回が目安。残差がタイムステップ間で変動する場合は時間刻みを見直す。
SIMPLE法のたとえ
SIMPLE法は「交互に調整する」手法。まず速度を仮に求め(予測ステップ)、その速度で質量保存が満たされるよう圧力を補正し(補正ステップ)、補正された圧力で速度を修正する——このキャッチボールを繰り返して正解に近づく。2人で棚を水平にする作業に似ている:片方が高さを合わせ、もう片方がバランスを取り、これを交互に繰り返す。
風上差分のたとえ
風上差分は「川の流れに立って上流の情報を重視する」手法。川の中にいる人が下流を見ても水の出所は分からない——上流の情報が下流を決めるという物理を反映した離散化手法。精度は1次だが、流れの方向を正しく捕捉するため安定性が高い。
実践ガイド
解析フロー
実際に円柱周り流れのCFDをやるとき、どういう手順で進めるんですか?
以下のフローが標準的だ。
1. 問題定義: Re数の確認、2D/3Dの判断、定常/非定常の判断
2. 計算領域の設計: ブロッケージ比 $< 5\%$、後流 $> 20D$
3. メッシュ生成: O型グリッド + 後流領域のリファインメント
4. 境界条件設定: 入口に一様流、出口に圧力指定、側面にスリップまたは周期境界
5. ソルバー設定: 非定常解法(PISO/PIMPLE)、適切な乱流モデル
6. 計算実行: 初期過渡を除外し、定常的な渦放出が確立してから統計平均
7. 後処理: $C_D$, $C_L$ の時間履歴、St数の確認、速度場の可視化
境界条件の設定
境界条件の細かい設定を教えてください。
各境界の設定はこうだ。
| 境界 | 速度 | 圧力 |
|---|---|---|
| 入口 | $\mathbf{u} = (U_\infty, 0, 0)$ | ゼロ勾配 |
| 出口 | ゼロ勾配 | $p = 0$(基準圧) |
| 円柱壁面 | $\mathbf{u} = 0$(no-slip) | ゼロ勾配 |
| 側面 | スリップ or 対称 | ゼロ勾配 |
| スパン方向端面(3D) | 周期境界 | 周期境界 |
出口で圧力をゼロに固定するのは大丈夫なんですか? 渦が出口に到達しませんか?
良い質問だ。出口が近すぎると渦が境界に到達して反射波が戻ってくる。だから出口を $20D$ 以上離すか、対流条件(convective outflow: $\partial \phi / \partial t + U_c \partial \phi / \partial x = 0$)を使うのが望ましい。
検証と妥当性確認
結果が正しいかどうか、何と比較すればいいですか?
以下のベンチマークデータと比較するんだ。
| 物理量 | Re = 100 (2D) | Re = 1000 (3D) | 出典 |
|---|---|---|---|
| $C_D$ (時間平均) | $1.33 \pm 0.01$ | $1.0 \pm 0.05$ | Williamson (1996) |
| $C_L$ (RMS) | $0.23$ | $0.1 \text{--} 0.2$ | 各種DNS |
| St | $0.164$ | $0.21$ | Williamson & Roshko |
| 剥離角度 | $\sim 117°$ | $\sim 85°$ | 実験データ |
| 再循環長さ $L_r/D$ | $1.4$ | $0.9$ | 各種実験/DNS |
Re=100 の $C_D = 1.33$ は有名な値ですよね。自分の計算でこれが出れば一安心ですか?
そうだ。まず Re=100 の2D計算で $C_D$ と St を検証するのが定石だ。ここで合わなければメッシュか時間刻みに問題がある。
メッシュ収束性の確認
メッシュを細かくしていけばいいんですよね?
少なくとも3水準のメッシュで Grid Convergence Index (GCI) を計算する。Richardson 外挿を適用して、離散化誤差のオーダーと格子収束解を推定するんだ。
ここで $F_s = 1.25$(3水準の場合)、$\epsilon$ は粗密メッシュ間の相対差、$r$ は格子比、$p$ は観測収束次数だ。
実際には何百万セルくらい必要なんですか?
Re=100 の2D計算なら数万セルで十分だ。Re=$3900$ の3D LES だと $500$ 万〜$2000$ 万セル、Re=$10^5$ のDES だと $1000$ 万〜$5000$ 万セル程度が目安になる。
エオルス音——電線が「ヒューン」と鳴く物理
冬の夜、電線が「ヒューン」と鳴っているのを聞いたことがあるでしょうか。あれは「エオルス音(Aeolian tone)」で、円柱後流のカルマン渦放出が音波を発生させているものです。Strouhal数から渦放出周波数を計算すると、ちょうど可聴域(数十〜数百Hz)に入ることが多い。ギターの弦も同じ原理で、弦の直径と風速が条件を満たすと弦が振動して音が鳴ります。プラント配管の設計者はこの現象を「流体誘起振動(FIV)」として嫌います——CFDで渦放出周波数を事前計算し、配管支持間隔を調整して共振を避けるのが標準的な対策です。
解析フローのたとえ
CFDの解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?
初心者が陥りやすい落とし穴
「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。
境界条件の考え方
入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。
ソフトウェア比較
CFDツールでの実装
円柱周りの流れを解くのに、どのCFDソフトが向いていますか?
各ツールの特徴を円柱流れの観点で比較しよう。
| ツール | 非定常解法 | LES対応 | 円柱流れでの実績 |
|---|---|---|---|
| Ansys Fluent | PISO, Coupled | Smagorinsky, WALE, WMLES | チュートリアル付き。DES/DDESの実装が充実 |
| Ansys CFX | 結合型ソルバー | Smagorinsky | 回転機械に強いが渦放出解析にも使える |
| STAR-CCM+ | SIMPLE/PISO | WALE, Dynamic SGS | ポリヘドラルメッシュで複雑形状に対応 |
| OpenFOAM | PIMPLE/PISO | 各種SGSモデル | pimpleFoam/pisoFoamでの豊富な事例 |
| COMSOL | 分離型/結合型 | なし(RANS中心) | 教育・研究向け。低Reの検証に適する |
OpenFOAM での実装例
OpenFOAM でやる場合の具体的な設定を教えてください。
pimpleFoam を使う場合のディレクトリ構成と主要設定はこうだ。
OpenFOAM でやる場合の具体的な設定を教えてください。
pimpleFoam を使う場合のディレクトリ構成と主要設定はこうだ。
```
constant/
transportProperties: nu = 1e-4 (Re=100ならU=1, D=0.01)
turbulenceProperties: simulationType laminar (Re=100の場合)
system/
controlDict: deltaT=0.005, endTime=300
fvSchemes: ddt(backward), div(phi,U)(Gauss linearUpwind grad(U))
fvSolution: PIMPLE{nOuterCorrectors 2; nCorrectors 1}
```
メッシュは blockMesh で作れますか?
O型メッシュなら blockMeshDict で作れる。円柱をブロックで囲み、arc エッジで円弧を定義する。ただし高Re数で境界層を精密に解像する場合は、snappyHexMesh や外部メッシャ(Pointwise, ICEM CFD, Gmsh)を使うほうが効率的だ。
Ansys Fluent での設定
Fluent の場合はどうですか?
Fluent では以下が推奨だ。
- ソルバー: Pressure-Based, Transient
- 圧力-速度連成: Coupled(収束が速い)またはPISO
- 空間離散化: Second Order Upwind(RANS)、Bounded Central Differencing(LES)
- 時間離散化: Second Order Implicit
- 乱流モデル: SST $k$-$\omega$(RANS)、WALE SGS(LES)、SST-DDES(ハイブリッド)
Fluent の TUI コマンドで渦放出のモニタリングを設定する場合、円柱表面のリフト係数を1タイムステップごとに出力して FFT にかけると St 数が得られる。
ツール選定の指針
結局どれを選べばいいですか?
判断基準はこうだ。
- 学習・研究目的で低Re: OpenFOAM(無償)または COMSOL(GUIが直感的)
- 工学設計でRANS: Fluent か STAR-CCM+(自動メッシュとワークフロー統合)
- 高精度LES/DNS: OpenFOAM(自由度が高い)またはNek5000(スペクトル要素法)
- VIV(渦励振)解析: Fluent/STAR-CCM+のFSI機能、またはOpenFOAMのoverset mesh
VIV ってまさに円柱の実用問題ですよね。海洋ライザーとか。
その通り。渦励振はStrouhal周波数と構造の固有振動数が一致するとロックイン現象が起こる。$U_r = U_\infty / (f_n D) = 1/\mathrm{St} \approx 5$ 付近で最も危険だ。
Coffee Break よもやま話
Strouhal数の計算精度がソルバー評価の「隠れ指標」
商用ソルバーの性能評価として「円柱後流のStrouhal数がどれだけ正確に計算できるか」はかなり厳しい試験になります。St数は時間刻みの大きさ・計算ドメインの広さ・メッシュ解像度すべてに敏感で、どれか一つが不適切でも値がずれます。実験値St≈0.20(Re=100付近)に対して計算が0.18だったり0.22だったりする場合、原因の切り分けが必要です。ソルバー選定時に「円柱後流のSt数検証データを出してください」と頼むと、時間精度・空間精度・非定常計算の安定性を一気に評価できます。このデータを開示しているベンダーは、非定常解析に自信があると読んで間違いないでしょう。
選定で最も重要な3つの問い
- 「何を解くか」:円柱周りの流れに必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
Fluent の場合はどうですか?
Fluent では以下が推奨だ。
Fluent の TUI コマンドで渦放出のモニタリングを設定する場合、円柱表面のリフト係数を1タイムステップごとに出力して FFT にかけると St 数が得られる。
結局どれを選べばいいですか?
判断基準はこうだ。
VIV ってまさに円柱の実用問題ですよね。海洋ライザーとか。
その通り。渦励振はStrouhal周波数と構造の固有振動数が一致するとロックイン現象が起こる。$U_r = U_\infty / (f_n D) = 1/\mathrm{St} \approx 5$ 付近で最も危険だ。
Strouhal数の計算精度がソルバー評価の「隠れ指標」
商用ソルバーの性能評価として「円柱後流のStrouhal数がどれだけ正確に計算できるか」はかなり厳しい試験になります。St数は時間刻みの大きさ・計算ドメインの広さ・メッシュ解像度すべてに敏感で、どれか一つが不適切でも値がずれます。実験値St≈0.20(Re=100付近)に対して計算が0.18だったり0.22だったりする場合、原因の切り分けが必要です。ソルバー選定時に「円柱後流のSt数検証データを出してください」と頼むと、時間精度・空間精度・非定常計算の安定性を一気に評価できます。このデータを開示しているベンダーは、非定常解析に自信があると読んで間違いないでしょう。
選定で最も重要な3つの問い
- 「何を解くか」:円柱周りの流れに必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
3D遷移モード
先生、円柱流れの3D遷移ってどういう仕組みですか?
Williamson (1996) の分類が有名だ。2Dカルマン渦列が3D化する際に2つの不安定モードが現れる。
- Mode A ($Re \approx 190$): スパン方向波長 $\lambda_A \approx 3\text{--}4D$。楕円型不安定性に起因。渦管のうねりとして観察される
- Mode B ($Re \approx 260$): $\lambda_B \approx 1D$。ブレード間のストリーク構造。双曲型不安定性に関連
Floquet 解析で調べるんですよね?
そうだ。基底状態(2D周期解)に微小な3D擾乱を重ねて Floquet 乗数を求める。$|\mu| > 1$ となるスパン方向波数でモードが不安定化する。Barkley & Henderson (1996) のFloquet安定性解析が決定的な仕事だ。
LES と壁モデル
高Re数の円柱LESって、壁面解像が大変ですよね。
wall-resolved LES は格子点数が $Re^{13/7}$ でスケールする。高Re数では wall-modeled LES (WMLES) が必須だ。壁面近傍をRANS(例: Spalart-Allmaras)で解き、離壁後にLESに切り替える。
DES (Detached-Eddy Simulation) はまさにこの発想だ。Spalart-Allmaras ベースの DES では、壁面距離 $d$ を $\tilde{d} = \min(d, C_{DES} \Delta)$ で置き換える。DDES はさらに遅延関数を加えて、境界層内でのLES化(Grid Induced Separation)を防ぐ。
スペクトル要素法
DNSではスペクトル要素法も使われるんですか?
Nek5000 や Nektar++ では高次スペクトル要素法($p$次 $= 7\text{--}15$)を使う。指数的収束により、同じ精度を少ない自由度で達成できる。Karniadakis & Sherwin のグループが円柱DNSで多くの成果を出している。
能動的流れ制御
カルマン渦を抑制する研究もあるんですか?
実用的にも重要なテーマだ。
- スプリッタープレート: 円柱背面に薄板を設置。渦の相互作用を抑制
- 吹出し/吸込み: 壁面からの周期的吹出しで渦放出を制御
- 回転制御: 円柱自体を回転させる。Magnus 効果と渦抑制の組み合わせ
- フィードバック制御: 圧力センサで渦位相を検出し、アクチュエータで対向渦度を注入
フィードバック制御はまさに現代的なアプローチですね。
最近は強化学習(Deep Reinforcement Learning)を使った最適制御が注目されている。Rabault et al. (2019) は2D円柱の渦放出を強化学習エージェントが完全に抑制する結果を報告している。
移動/変形メッシュ
VIV解析では円柱が動きますよね。メッシュはどうするんですか?
3つのアプローチがある。
- ALE法 (Arbitrary Lagrangian-Eulerian): メッシュ自体が変形。小振幅向き
- Overset(Chimera)メッシュ: 円柱周りのメッシュが背景メッシュ上をスライド。大変位対応
- Immersed Boundary法: 固定格子上に仮想力で物体を表現。メッシュ再生成不要
OpenFOAM だと overPimpleDyMFoam ですかね。
Coffee Break よもやま話
抗力係数の「クリシス」——Re=5×10⁵で突然半分になる逆説
円柱周りの抗力係数CDはRe数が上がるにつれておおよそ一定(≈1.0〜1.2)を保ちますが、Re≈5×10⁵前後で突然0.3程度まで急落する「抗力危機(drag crisis)」が起きます。原因は「境界層が層流から乱流に遷移し、剥離点が後方に移動する」ことで、後流幅が劇的に縮小するためです。この現象はゴルフボールのディンプル設計の根拠そのもので、ディンプルによって意図的に層流→乱流遷移を早め、低速域から抗力危機を起こします。CFDでこの遷移を精密に再現するには遷移モデル(γ-Re_θモデルなど)が必要で、乱流モデルだけでは対応できません。
高Re数の円柱LESって、壁面解像が大変ですよね。
wall-resolved LES は格子点数が $Re^{13/7}$ でスケールする。高Re数では wall-modeled LES (WMLES) が必須だ。壁面近傍をRANS(例: Spalart-Allmaras)で解き、離壁後にLESに切り替える。
DES (Detached-Eddy Simulation) はまさにこの発想だ。Spalart-Allmaras ベースの DES では、壁面距離 $d$ を $\tilde{d} = \min(d, C_{DES} \Delta)$ で置き換える。DDES はさらに遅延関数を加えて、境界層内でのLES化(Grid Induced Separation)を防ぐ。
DNSではスペクトル要素法も使われるんですか?
Nek5000 や Nektar++ では高次スペクトル要素法($p$次 $= 7\text{--}15$)を使う。指数的収束により、同じ精度を少ない自由度で達成できる。Karniadakis & Sherwin のグループが円柱DNSで多くの成果を出している。
能動的流れ制御
カルマン渦を抑制する研究もあるんですか?
実用的にも重要なテーマだ。
- スプリッタープレート: 円柱背面に薄板を設置。渦の相互作用を抑制
- 吹出し/吸込み: 壁面からの周期的吹出しで渦放出を制御
- 回転制御: 円柱自体を回転させる。Magnus 効果と渦抑制の組み合わせ
- フィードバック制御: 圧力センサで渦位相を検出し、アクチュエータで対向渦度を注入
フィードバック制御はまさに現代的なアプローチですね。
最近は強化学習(Deep Reinforcement Learning)を使った最適制御が注目されている。Rabault et al. (2019) は2D円柱の渦放出を強化学習エージェントが完全に抑制する結果を報告している。
移動/変形メッシュ
VIV解析では円柱が動きますよね。メッシュはどうするんですか?
3つのアプローチがある。
- ALE法 (Arbitrary Lagrangian-Eulerian): メッシュ自体が変形。小振幅向き
- Overset(Chimera)メッシュ: 円柱周りのメッシュが背景メッシュ上をスライド。大変位対応
- Immersed Boundary法: 固定格子上に仮想力で物体を表現。メッシュ再生成不要
OpenFOAM だと overPimpleDyMFoam ですかね。
抗力係数の「クリシス」——Re=5×10⁵で突然半分になる逆説
円柱周りの抗力係数CDはRe数が上がるにつれておおよそ一定(≈1.0〜1.2)を保ちますが、Re≈5×10⁵前後で突然0.3程度まで急落する「抗力危機(drag crisis)」が起きます。原因は「境界層が層流から乱流に遷移し、剥離点が後方に移動する」ことで、後流幅が劇的に縮小するためです。この現象はゴルフボールのディンプル設計の根拠そのもので、ディンプルによって意図的に層流→乱流遷移を早め、低速域から抗力危機を起こします。CFDでこの遷移を精密に再現するには遷移モデル(γ-Re_θモデルなど)が必要で、乱流モデルだけでは対応できません。
トラブルシューティング
よくある問題と対策
円柱周り流れの計算でよくハマるポイントを教えてください。
実務で頻出するトラブルを整理しよう。
1. 渦が出ない(定常解に収束してしまう)
原因と対策:
- 1次精度風上スキームを使っている → 数値拡散が渦を消す。最低2次精度に変更
- 計算領域が狭すぎる → ブロッケージ効果で実効Reが変わる。側面を $10D$ 以上離す
- 初期条件が対称 → 対称性が破れない。微小な非対称擾乱を初期条件に加える
- 定常ソルバーを使っている → 非定常ソルバー(PISO/PIMPLE)に切り替える
- 時間刻みが大きすぎる → CFL < 1 を確認。1渦放出周期あたり200ステップ以上
初期条件に擾乱を加えるって、物理的に正しいんですか?
実際の流れには必ず微小な擾乱がある。数値計算ではそれがないため、不安定でも分岐が起きないことがある。$y$方向速度に $O(10^{-3})$ 程度のランダムノイズを加えれば十分だ。
2. Strouhal数がずれる
確認ポイント:
- 時間平均の統計が十分か → 初期過渡(最低20周期)を捨ててから統計を取る
- メッシュ解像度 → 後流域のメッシュが粗いと渦が早く散逸して周波数が変わる
- ブロッケージ効果 → 計算領域が狭いとStが高くなる。Behr et al. の補正式がある
- FFTの窓関数 → 十分長い時間データでFFTを取る。ゼロパディングで周波数分解能を確保
3. $C_D$ が実験値と合わない
$C_D$ が $1.5$ とか出ちゃうんですけど。
Re=100 で $C_D > 1.4$ なら以下を確認だ。
- 2D計算で3D実験値と比較していないか: 2D計算の $C_D$ は3D実験値より $5\text{--}10\%$ 高い。これは物理的に正しい(3D効果が抗力を下げる)
- 壁面メッシュの解像度: 壁面圧力分布が正しく解像できているか確認
- 出口境界の影響: 出口が近すぎると背圧が変わり $C_D$ に影響
4. 計算が発散する
症状別の対策:
| 症状 | 原因 | 対策 |
|---|---|---|
| Courant数が爆発 | 時間刻みが大きすぎる | $\Delta t$ を半分に。adjustableRunTime を使用 |
| 圧力が振動 | チェッカーボード現象 | Rhie-Chow 補間を確認。非構造格子ならセル重心配置確認 |
| 速度が壁面近傍で発散 | $y^+$ がモデルの適用範囲外 | 壁関数なら $30 < y^+ < 300$、壁面解像なら $y^+ < 1$ に調整 |
| LES で非物理的な渦 | SGSモデル不適切 | Smagorinsky ($C_s = 0.1$)は壁面で散逸過大。WALE に変更 |
5. 3D計算でスパン方向の周期性が出ない
3D計算でスパン方向に均一な渦しか出ないんですが。
スパン方向の計算長さが不足しているか、スパン方向のメッシュが粗すぎる可能性がある。Mode A を捉えるには $L_z > 4D$、Mode B を捉えるには $\Delta z < 0.5D$ が必要だ。また、スパン方向端面は必ず周期境界条件にすること。壁面条件にすると端部効果が支配的になる。
なるほど。2Dで検証してから3Dに進むのが安全ですね。
その通り。まず2D・低Reで $C_D$, St を検証 → 3D低Reで Mode A/B を確認 → 目標Reに段階的に上げる、というのが最も確実なアプローチだ。
「渦が左右対称に出てくる」——過渡解析の初期化問題
円柱周り非定常計算で「カルマン渦が発達しない、渦が左右対称のままで流れてしまう」というトラブルは初学者が踏みやすい罠です。原因は「初期場が完全に対称で、数値的な対称性を破る擾乱がない」こと。Navier-Stokes方程式は左右対称な境界条件と初期条件なら対称解を出し続けます。渦放出を引き起こすには微小な非対称擾乱が必要です。対策は「円柱のわずかに非対称な位置に格子節点を置く」か「最初の数タイムステップだけ微小な横方向の速度擾乱を加える」かのどちらか。「物理的に起きるはずのことがCFDで起きない」のは、初期条件の対称性が原因のことが多い好例です。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——円柱周りの流れの問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
なった
詳しく
報告