例題2: 円柱まわりの流れと抗力係数(外部流れ)
外部流れ(物体まわり)の基本ワークフローと、抗力係数 Cd の自動モニタリング (forceCoeffs)を学ぶための例題です。定常 RANS で得た Cd が有限長円柱の 文献値の帯域に入ることをオーダーチェックとして確認し、あわせて StreamWright の回帰基準(golden 値)としても使っています。
| 項目 | 内容 |
|---|---|
| 解析タイプ | 単相流(非圧縮)・External(外部流れ) |
| ソルバ | simpleFoam(定常) |
| 乱流モデル | k-ε |
| ジオメトリ | 円柱 D = 100 mm・長さ 500 mm(L/D = 5・両端は自由端) |
| ドメイン | 4×3×0.6 m(上流 10D・下流 30D・横 15D・スパン方向は円柱端から片側 0.5D で symmetry) |
| 流体 | 空気(ρ = 1.225 kg/m³, ν = 1.45×10⁻⁵ m²/s) |
| 流入条件 | 1 m/s(Re = U·D/ν ≈ 6,900・亜臨界) |
| メッシュ | snappyHexMesh・ベース 80×60×12 → 約 237,000 セル(円柱面は自動で 1 段細分) |
| 実行規模(目安) | 約 15〜25 分・1 クレジット |
所要時間は目安です。実行環境・メッシュ規模・混雑状況により変動します。
この例題で学べること
- 外部流れのドメイン設計 — 物体寸法に対する上流/下流/横方向の取り方 (metadata の domain_bounds をワンクリック適用)
- forceCoeffs モニタ — 反復ごとに Cd/Cl を自動出力し、収束を工学量で判断する
- 参照面積・代表長さの指定 — Aref(投影面積 D×L = 0.05 m²)と lRef(= D)の意味
- 文献値との突き合わせ方 — 有限長円柱の Cd 帯域でオーダーを確認し、 同時に「この設定で何が検証できて何が検証できないか」を切り分ける
実行手順
- ex02_cylinder_cd.ofb.zip をダウンロードする
- StreamWright サイドバーの 📂 Load Project (.ofb.zip) に投入する

- 設定の見どころ
- 1️⃣ Patch Setup:
inlet(+X に 1 m/s)、outlet、周囲 4 面がsymmetry、cylinderがwall。外部流れではドメイン外周も STL 面で与えている - 2️⃣ Base Mesh: 80×60×12。物体径方向にベース 2 セル → snappy が円柱面を さらに 1 段細分(この解像度が Cd 精度の要)
- 8️⃣ Runtime Monitors: forceCoeffs が有効化済み(対象パッチ cylinder・ magUInf 1.0・lRef 0.1・Aref 0.05)
- 6️⃣ Run タブ → ケースサマリを確認して 🚀 Generate & Run

期待される結果
| 量 | 値 | 確認場所 |
|---|---|---|
| 抗力係数 Cd | 0.77(収束後ほぼ一定) | Runtime Monitors・レポート |
| 収束反復数 | 約 670 回 | Run タブ |
| 総セル数 | 約 237,000 | checkMesh・レポート |
| 品質チェック | 合格(PASSED) | 3 段階総合判定 |

結果の可視化例(Post Processor タブ):


文献値との照合(この解析はどこまで正しいか?)
亜臨界レイノルズ数(Re ≈ 10³〜10⁵)の円柱 Cd は実験データが豊富です。
- 無限長(2D)円柱: Cd ≈ 1.0〜1.2
- 有限長 L/D = 5(両端自由): 端部効果で低下し Cd ≈ 0.7〜0.9 (Zdravkovich らの有限長補正)
解析結果 Cd = 0.77 はこの帯域内に収まり、同一設定のリファレンス値 (0.7735)とも一致します。
⚠️ この照合の位置付け(重要) 上記は「オーダーが合っている」ことの確認であって、有限長円柱の 高精度ベンチマークではありません。理由は 2 つあります。
- 流れが本質的に非定常です。 Re ≈ 6,900 の円柱後流ではカルマン渦が 放出されます。本例題は定常 RANS(simpleFoam + k-ε)で解いているため、 得られる Cd は非定常解の時間平均と厳密には一致しません。乱流モデル・ 数値粘性・メッシュの影響も相対的に大きく出ます。
- 端部条件が孤立有限長円柱ではありません。 円柱長 0.5 m に対し スパン方向ドメインは 0.6 m なので、自由端から symmetry 面までは 片側 0.05 m(= 0.5D)しかありません。symmetry は鏡像条件なので、 実際に解いているのは「0.1 m 間隔で並んだ同軸円柱列」に近い構成で、 孤立した有限長円柱の自由端流れとは異なります。
したがって本例題は、外部流れの設定手順・forceCoeffs の使い方・ メッシュ解像度の効き方を学ぶ操作例、および同一設定を再現できるか 見る回帰基準として使ってください。
本格的な検証にしたい場合: (a) 2D/無限長として扱うなら円柱を スパン方向にドメイン貫通させ、非定常解析で時間平均 Cd と Strouhal 数を 文献値と比較する。(b) 有限長として扱うなら自由端から外部境界まで 十分な距離(数 D 以上)を取り、端部渦を解像できる 3 次元メッシュで 非定常解析を行い、アスペクト比に対応する文献値と比較する。
⚠️ メッシュ解像度の重要性: 既定の粗いベースメッシュ(20×20×5)のまま 走らせると Cd ≈ 1.18 と約 5 割過大になります(2026-06 精度検証で確認)。 この例題の「物体寸法からベースメッシュを算出する」設定はその教訓を反映した ものです。外部流れの力係数を評価するときは、物体径方向にベース 2 セル以上 +物体面の細分を確保してください。
自分の問題に応用するには
- 物体差し替え: 自分の STL(車体・筐体・構造物など)を wall として投入し、 ドメインは物体寸法の上流 10 倍・下流 30 倍・横 15 倍程度を目安に
- forceCoeffs の設定: magUInf は流入速度、Aref は流れ方向への投影面積、 lRef は代表長さ(モーメント計算に使用)に合わせて変更
- 速度を変える場合: Patch Setup の inlet 速度と Runtime Monitors の magUInf を 両方更新してください(Cd の無次元化基準が変わるため)
- 迎角を振って Cd/Cl カーブを取る: 9️⃣ Aero Sweep タブで流入条件のスイープが できます(例題17 で扱う予定)
- 自分のジオメトリで解くには: 物体の形状だけを用意すればよい理由とドメインの決め方は ジオメトリ準備ガイド 第2章(外部流れ) にまとめています
ジオメトリ: fixtures/external_flow/cylinder(リファレンス検証: 2026-06-05 精度検証 Cd=0.7735・2026-07-16 例題化時に再実行し一致を再確認)