PISO法 — 理論と非定常圧力補正

カテゴリ: 流体解析 | 2026-01-15
piso-algorithm-theory
理論と物理の世界へ

PISO法の概要

🧑‍🎓

先生、PISO法ってSIMPLE法と何が違うんですか?


🎓

PISO(Pressure-Implicit with Splitting of Operators)は1986年にIssaが提案した圧力-速度連成アルゴリズムだ。SIMPLE法が外部反復(outer iteration)を何度も回して収束させるのに対し、PISO法は1タイムステップ内で2回の圧力補正を行い、外部反復なしで時間精度を確保するんだ。


🧑‍🎓

外部反復が不要ということは、非定常計算で有利なんですか?


🎓

そのとおり。非定常流れ(LESDNS、移動メッシュ問題など)では各タイムステップで厳密に連続の式を満たす必要がある。PISOはタイムステップあたりの計算コストは高いが、外部反復が不要なため全体として効率的なことが多いんだ。


PISOアルゴリズムの手順

🧑‍🎓

具体的な手順を教えてください。


🎓

PISO法は以下の手順で進む。


Step 1: 運動量予測子(Predictor)


前タイムステップの圧力 $p^n$ を使って運動量方程式を解き、仮速度 $\mathbf{u}^*$ を得る:


$$ a_P \mathbf{u}_P^* = H(\mathbf{u}^*) - \nabla p^n $$

Step 2: 第1圧力補正子(First Corrector)


$$ \nabla \cdot \left(\frac{1}{a_P} \nabla p'\right) = \nabla \cdot \mathbf{u}^* $$

速度を補正: $\mathbf{u}^{**} = \frac{H(\mathbf{u}^*)}{a_P} - \frac{1}{a_P}\nabla p'$


Step 3: 第2圧力補正子(Second Corrector)


$$ \nabla \cdot \left(\frac{1}{a_P} \nabla p''\right) = \nabla \cdot \mathbf{u}^{**} $$

最終速度: $\mathbf{u}^{n+1} = \frac{H(\mathbf{u}^{**})}{a_P} - \frac{1}{a_P}\nabla(p' + p'')$


🧑‍🎓

SIMPLEでは圧力補正が1回だけで外部反復を回すのに対し、PISOは2回の補正で完了するんですね。


🎓

正確にはPISOの2回目の補正で隣接セル係数 $H$ の更新を反映するため、SIMPLEの省略近似が改善されるんだ。結果として緩和係数が不要になり、時間精度が保たれる。


SIMPLE法との理論的比較

🎓

両者の本質的な違いを整理しよう。


特性SIMPLEPISO
圧力補正回数1回/外部反復2回(以上)/タイムステップ
外部反復必要(10〜数100回)不要
緩和係数必要(0.2〜0.8)不要
主な用途定常計算非定常計算
時間精度擬似時間進行真の時間精度
CFL制限なし(陰的)推奨CFL < 1〜5
🧑‍🎓

PISOでもCFL数の制限があるんですか? 陰的じゃないんですか?


🎓

時間離散化自体は陰的だが、PISOの2回の補正で分裂誤差を十分低減するにはCFL数をある程度抑える必要がある。実用上はCFL < 1が安全、最大でもCFL < 5程度を推奨する。CFL数が大きすぎると精度が劣化するんだ。


Coffee Break よもやま話

F1と空力の戦い

F1マシンは時速300kmで走ると、車重と同じくらいのダウンフォース(下向きの空力的な力)を発生します。つまり理論上、天井に貼り付けて走れる! チームは数千CPU時間のCFDシミュレーションを毎週実行し、フロントウィングの角度を0.1°単位で最適化しています。F1はCAEの技術力がそのまま順位に直結する世界です。

各項の物理的意味
  • 時間項 $\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$。時間刻みの安定性に直結

数値例:円管内層流(d=10mm, L=1m, 水μ=0.001Pa·s, Q=0.1L/min)

Re = ρuD/μ = 998×0.021×0.01/0.001 ≈ 212層流) 圧力損失 ΔP = 128μLQ/(πd⁴) ≈ 68.2 Pa

乱流モデル別の精度比較(後向きステップ、再付着長さ):

k-ε標準5.8h(実験6.1h)
-4.9%
k-ω SST6.0h
-1.6%
RSM6.05h
-0.8%
LES6.12h
+0.3%
実験値6.1h
基準

k-ω SSTは精度とコストのバランスが良く、多くの実務で最初の選択肢になります。

簡易計算ツール:流体力学基礎

レイノルズ数 Re = ρuL/μ を計算し、層流/乱流の判定を行います。

CFL数 = u·Δt/Δx を計算し、時間刻みの安定性を確認します。

円管内の層流ハーゲン-ポアズイユ流れの圧力損失 ΔP = 128μLQ/(πd⁴)

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

Project NovaSolver — CAE実務の課題に向き合う研究開発

「PISO法をもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。

進捗通知を受け取る →