例題15: 非ニュートン流体の管内流れ(powerLaw 層流・理論解照合)
ケチャップ・血液・高分子溶液のようなせん断薄化(shear-thinning)流体の 圧力損失を、べき乗則(power-law)流体の厳密解と照合します。プリセットを 選ぶだけで非ニュートン粘性が使えること、そして「教科書の解析解と合うか」を 自分で確かめる手順を学びます。
| 項目 | 内容 |
|---|---|
| 解析タイプ | 単相流(非圧縮)+ 非Newton 粘性 |
| ソルバ | simpleFoam(定常) |
| 乱流モデル | Laminar(層流・Re_MR ≈ 18) |
| ジオメトリ | 直管(内径 D = 50 mm・長さ L = 1000 mm) |
| 流体 | せん断薄化流体プリセット(powerLaw n=0.5, k=1×10⁻³ m²/s^1.5, ρ=1000 kg/m³) |
| 流入条件 | 入口面法線方向に 0.1 m/s |
| メッシュ | snappyHexMesh・管断面に 20 セル+壁面細分化 level 1 |
| 実行規模(目安) | 4 コア・約 11 分・1 クレジット |
所要時間は目安です。実行環境・メッシュ規模・混雑状況により変動します。
この例題で学べること
- 非Newton 粘性の有効化 — 解析タイプタブのチェックひとつ+プリセット選択で完了
- 層流判定の考え方 — 非Newton 流体では通常の Re でなく Metzner-Reed 一般化 Reynolds 数 Re_MR で層流/乱流を判断する
- べき乗則流体の厳密解との照合 — 一般化 Hagen-Poiseuille 式で Δp を手計算し、 解析結果と突き合わせる
実行手順
- ex15_non_newtonian_pipe.ofb.zip をダウンロードする
- StreamWright サイドバーの 📂 Load Project (.ofb.zip) にドラッグ&ドロップする

- 各タブで設定を眺める(変更は不要です)
- 🎯 解析タイプ: 追加機能「🩸 非Newton 粘性」が ON
- 4️⃣ Physics: プリセット「せん断薄化流体 (powerLaw, n=0.5)」と 生成される transportProperties のプレビュー
- 1️⃣ Patch Setup:
inlet0.1 m/s・outlet圧力 0・壁は wall - 6️⃣ Run タブ → ケースサマリで「粘性モデル(非Newton): powerLaw」を確認 → 🚀 Generate & Run

期待される結果
実行が正常に終われば、以下とほぼ同じ数値になります(見本: sample_report.html)。
| 量 | 値 | 確認場所 |
|---|---|---|
| 収束反復数 | 731 回(SIMPLE solution converged) | Run タブ・solver.log |
| 入口平均圧力 p/ρ | 0.366 m²/s² | swConv_p_inlet モニタ |
| 圧力損失 Δp | 366.1 Pa(= 0.366 × ρ 1000) | レポート・モニタ |
| 流量(入口=出口・実測値) | 1.930×10⁻⁴ m³/s(入口=出口で完全一致) | swConv_mdot モニタ(質量保存) |
| 品質チェック | 合格(PASSED) | 3 段階総合判定 |

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

理論値との照合(この解析は正しいか?)
べき乗則流体 τ = K·γ̇ⁿ の層流円管流れには厳密解(一般化 Hagen-Poiseuille)があります。 理論値は設定値である入口平均流速 V = 0.1 m/s から計算します。
- 壁せん断速度: γ̇w = (8V/D)·(3n+1)/(4n) = 16 × 1.25 = 20 s⁻¹
- 圧力損失: Δp = (4KL/D)·γ̇wⁿ = (4×1×1.0/0.05)·√20 = 357.8 Pa (K = k·ρ = 1×10⁻³ × 1000 = 1 Pa·s^0.5)
- 層流判定: Metzner-Reed 一般化 Reynolds 数 Re_MR = V^(2-n)·Dⁿ / (8^(n-1)·k·((3n+1)/(4n))ⁿ) ≈ 18 ≪ 2100 → 層流
- 補正: 入口の一様流が発達するまでの過剰損失 ≈ 1〜2%(助走長 ≈ 0.06·Re_MR·D ≈ 54 mm)
- 照合帯域: 358 Pa ±10%(322〜394 Pa)
解析結果 366.1 Pa はこの帯域内に収まります(完全発達理論比 +2.3%。入口過剰損失 ≈6 Pa を加えた実効理論値 364 Pa に対しては +0.6%)。
📏 流量の 2 つの値について: 設計値(V = 0.1 m/s × 真円断面 πD²/4)は 1.9635×10⁻⁴ m³/s、モニタの実測値は 1.930×10⁻⁴ m³/s(−1.7%)です。 差は snappyHexMesh が生成した入口面が真円を多角形近似しており、 離散化された面積が真円よりわずかに小さいことによるものです。 質量保存の確認(入口 = 出口)はこの実測値どうしで完全一致しています。 理論式には設定値の V を使う(=境界条件として与えた値を基準にする)のが この照合の立て方です。
💡 k の単位について: ν = k·γ̇^(n−1) と書くと [k] = m²·s^(n−2) となり、 n = 0.5 では m²/s^1.5 です。ただし OpenFOAM の
powerLawCoeffsは 実装上 γ̇ に基準時間 1 s を掛けて無次元化しているため、辞書エントリ上の k は動粘度と同じ[0 2 -1 0 0 0 0](m²/s)で宣言されます。 数値 1×10⁻³ はどちらの流儀でも同じです。💡 n=1 にすると Newton 流体(Hagen-Poiseuille)に退化します。n や k を変えて Δp ∝ γ̇wⁿ のスケーリングを確かめるのも良い練習です。
自分の問題に応用するには
- プリセット差し替え: 血液(Carreau/Casson)・ケチャップ(HerschelBulkley)等の プリセットが選べます。「カスタム」で全パラメータ自由入力も可能です
- 層流の確認: 流速や物性を変えたら Re_MR を再計算し、乱流域(>2100)なら 乱流モデルを検討してください
- 降伏応力流体の注意: HerschelBulkley / Casson は降伏応力以下でほぼ固体的に 振る舞うため、収束が遅くなることがあります
- 自分のジオメトリで解くには: 管内流路の流体ボリューム化は ジオメトリ準備ガイド 第1章(内部流れ) にまとめています。CAD ソフト別の操作は 第7章 を参照してください
ジオメトリ: fixtures/porous/porous の FLUID.step(ex12 と共用の直管)。 検証: 2026-07-22 実機 E2E で Δp = 366.1 Pa / 理論 357.8 Pa(+2.3%)・質量保存は入口=出口 1.930×10⁻⁴ m³/s で完全一致・PASSED を確認