連続の式(質量保存)
理論と物理
概要
先生、連続の式ってNS方程式と並んで出てきますけど、何を表してるんですか?
質量保存則の微分形だ。「流体はどこからともなく湧いたり消えたりしない」という物理を数式にしたもの。CFDのすべての基盤だよ。
一般形(圧縮性流れ)
任意の流体に対する連続の式は次の通り。
展開すると、
各項はどう読めばいいんですか?
$\partial\rho/\partial t$ は検査体積内の密度変化率。$\nabla\cdot(\rho\mathbf{u})$ は検査体積表面を通る質量フラックスの正味流出率。両者の和がゼロ、つまり質量が保存されるということだ。
物質微分形
物質微分 $D/Dt$ を使うと別の形で書ける。
これは「流体粒子に乗って見たときの密度変化率は、速度場の発散に比例する」ことを意味する。
非圧縮性流れの場合
非圧縮なら $\rho$ は一定ですよね?
その通り。$D\rho/Dt = 0$ なので、連続の式は非常にシンプルになる。
成分表示では、
これは「速度場が発散フリー(divergence-free)」であることを意味する。ソレノイダル条件とも呼ばれる。
非圧縮でも密度が場所によって違うケース(多相流とか)はありませんか?
鋭い指摘だ。例えば温度差による浮力流れ(Boussinesq近似)では密度変化を浮力項にだけ考慮し、連続の式は $\nabla\cdot\mathbf{u}=0$ のまま使う。ただし、VOF(Volume of Fluid)法で水と空気を扱う場合は密度が不連続に変わるので、圧縮性形の連続の式を使う必要がある。
積分形
有限体積法の基礎となる積分形も重要だ。検査体積 $V$ に対して、
FVMでは各セルでこの積分形を離散化する。セル面を通る質量フラックスの収支がゼロになるよう圧力場を調整するのがSIMPLEアルゴリズムの核心だ。
血管が詰まると流速が16倍になる
連続の式(質量保存)が日常生活に直結する最も怖い例は動脈狭窄です。断面積が半分になると流速は2倍になりますが、直径が半分になると断面積は4分の1になるため流速は4倍。では直径が半分の動脈硬化が起きたら? 流速は4倍、そして壁面せん断応力は流速の二乗に比例するので実に16倍以上になります。プラークが積もった動脈の壁にこんな応力がかかっていたら——そりゃ剥がれますよ、という話です。連続の式は教科書では地味な式ですが、心臓外科医も毎日使っています。
各項の物理的意味
- 時間項 $\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$。時間刻みの安定性に直結 |
数値解法と実装
非圧縮性流れにおける圧力の役割
非圧縮性だと連続の式に圧力が入ってないですよね。圧力はどうやって決まるんですか?
核心を突いた質問だ。非圧縮NS方程式では密度が既知なので、連続の式 $\nabla\cdot\mathbf{u}=0$ は状態方程式の代わりに圧力を決める制約条件として働く。圧力は「速度場を発散フリーに保つためのラグランジュ乗数」と解釈できる。
圧力-速度連成法
代表的なアルゴリズムを整理しよう。
| 手法 | 概要 | 適用 |
|---|---|---|
| SIMPLE | 圧力補正法。仮速度→圧力補正→速度補正 | 定常・非定常 |
| SIMPLEC | SIMPLEの収束加速版。補正の緩和が不要 | 定常問題 |
| PISO | 1ステップ内で2回圧力補正。非定常向き | 非定常問題 |
| 分離法(Fractional Step) | 速度予測→圧力ポアソン→速度射影 | 非定常・学術コード |
| Coupled | 速度と圧力を同時に解く | 高速収束が必要な場合 |
SIMPLEが一番よく見る気がします。
SIMPLEの圧力補正方程式は、連続の式から導かれるポアソン型方程式だ。
ここで $p'$ は圧力補正値、$\mathbf{u}^$ は仮速度(運動量方程式から暫定的に求めた速度)、$a_P$ は運動量方程式の対角係数。$\nabla\cdot\mathbf{u}^ \neq 0$ の残差を $p'$ で修正する。
質量保存の検証
計算結果で質量保存が守られているか、どう確認すればいいですか?
各面の質量流量の収支を確認する。
Fluentなら Report > Fluxes > Mass Flow Rate で各境界面の流量を確認できる。imbalanceが全体流量の0.1%以下なら十分に収束している。
Rhie-Chow補間
コロケーション格子(速度と圧力を同じ位置に配置)では、チェッカーボード不安定性が生じる。Rhie-Chow補間はセル面の速度に圧力勾配の補正を加えてこの問題を解消する手法で、現代の有限体積法ソルバーでは標準的に採用されている。
連続の式は一見シンプルなのに、数値実装では相当な工夫が必要なんですね。
そう。非圧縮CFDの難しさの大半は「連続の式をいかに満たすか」、つまり圧力-速度連成の問題に帰着する。
Coffee Break よもやま話
流量計はみんな連続の式で動いている
工場の配管に使われている差圧式流量計(オリフィス流量計)の仕組みは、連続の式そのものです。絞り部で断面積を小さくして流速を上げると、ベルヌーイの定理で圧力が下がる。その前後の圧力差を測れば、逆算で流量がわかります。航空機の対気速度計(ピトー管)も同じ原理。数値解析でも、計算後に「入口流量=出口流量」が成立しているかを確認するのは基本中の基本です。もし連続の式が成立していなければ、メッシュにどこかリークがあるか、境界条件が矛盾しています。
風上差分(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次だが、流れの方向を正しく捕捉するため安定性が高い。
コロケーション格子(速度と圧力を同じ位置に配置)では、チェッカーボード不安定性が生じる。Rhie-Chow補間はセル面の速度に圧力勾配の補正を加えてこの問題を解消する手法で、現代の有限体積法ソルバーでは標準的に採用されている。
連続の式は一見シンプルなのに、数値実装では相当な工夫が必要なんですね。
そう。非圧縮CFDの難しさの大半は「連続の式をいかに満たすか」、つまり圧力-速度連成の問題に帰着する。
流量計はみんな連続の式で動いている
工場の配管に使われている差圧式流量計(オリフィス流量計)の仕組みは、連続の式そのものです。絞り部で断面積を小さくして流速を上げると、ベルヌーイの定理で圧力が下がる。その前後の圧力差を測れば、逆算で流量がわかります。航空機の対気速度計(ピトー管)も同じ原理。数値解析でも、計算後に「入口流量=出口流量」が成立しているかを確認するのは基本中の基本です。もし連続の式が成立していなければ、メッシュにどこかリークがあるか、境界条件が矛盾しています。
風上差分(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結果全体の信頼性を損なう。以下の点に注意しよう。
境界条件と質量保存
入口・出口の境界条件の組み合わせが質量保存に直結する。
| 入口 BC | 出口 BC | 質量保存 | 注意点 |
|---|---|---|---|
| Velocity Inlet | Pressure Outlet | 自動で満足 | 出口圧力が結果に影響 |
| Mass Flow Inlet | Pressure Outlet | 自動で満足 | 最も確実 |
| Pressure Inlet | Pressure Outlet | 圧力差で流量が決まる | 流量の事前予測が困難 |
| Velocity Inlet | Outflow | 自動で満足 | 出口で完全発達流を仮定 |
入口と出口の両方にVelocity条件を設定するのはまずいですか?
基本的にNGだ。入口と出口の質量流量が自動的に一致する保証がなく、非物理的な圧力場が発生する。必ず片方は圧力条件にすること。
多相流での質量保存
VOF法で気液二相流を解くとき、質量保存は大丈夫ですか?
VOF法では体積分率 $\alpha$ の輸送方程式を解く。
$\alpha$ が0〜1の範囲を超える(undershoot/overshoot)と質量保存が崩れる。対策として以下が有効。
- 界面圧縮スキーム: Fluentの Geo-Reconstruct, STAR-CCM+の HRIC
- Courant数の制限: VOFでは $Co < 0.25$ が推奨(全体は $Co < 1$)
- AMR(適応メッシュ細分化): 界面近傍のみ自動細分化
質量不足の診断フロー
質量が合わないときの調査手順を示そう。
1. グローバル質量収支: 入出口の流量差を確認(0.1%以下が目標)
2. 残差の確認: 連続の式の残差が十分に低下しているか($10^{-4}$以下)
3. 局所的な流量チェック: 断面ごとの流量をモニタリング
4. メッシュ品質: 非直交性が高いセルで数値的な質量漏洩が起きていないか
残差が下がっていても質量が合わないことがあるんですか?
スケーリングの問題で残差の絶対値が小さく見えても、実際の質量不均衡が大きい場合がある。必ず Flux Report で実値を確認すること。
ホースを指で塞ぐと水が遠くに飛ぶ理由
庭のホースで水まきをするとき、先端を指で半分塞ぐと水が遠くまで飛びますよね。これ、連続の式がそのまま体験できる現象です。ホース断面積が半分になれば、流量を保つために流速が2倍になる。そして「動圧 = 0.5ρv²」なので流速が2倍なら動圧は4倍になり、水が勢いよく飛ぶ。消防の放水ノズルも同じ原理で設計されています。直径を絞ることで少ないポンプ出力でも到達距離を稼げる——連続の式は設計者の強力な道具です。
解析フローのたとえ
CFDの解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?
初心者が陥りやすい落とし穴
「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。
境界条件の考え方
入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。
ソフトウェア比較
圧力-速度連成法の実装比較
各ソルバーで圧力-速度の連成手法って違うんですか?
根本原理は同じだが、実装の詳細とデフォルト設定が異なる。
| ソルバー | 分離型(Segregated) | 結合型(Coupled) | デフォルト |
|---|---|---|---|
| Fluent | SIMPLE, SIMPLEC, PISO | Coupled (圧力ベース) | Coupled |
| CFX | なし | Coupled のみ | Coupled |
| STAR-CCM+ | SIMPLE | Coupled | SIMPLE |
| OpenFOAM | SIMPLE (simpleFoam), PISO (pisoFoam) | block-coupled (非標準) | 問題に応じて選択 |
Coupled と SIMPLE の使い分けはどうすればいいですか?
一般に次の通り。
- Coupled: 収束が速い、メモリ使用量が多い。定常問題に強い
- SIMPLE/SIMPLEC: メモリ効率が良い。緩和係数の調整が必要
- PISO: 非定常問題専用。時間刻みごとに少ない反復で収束
質量保存の精度
有限体積法はセルごとの保存則を厳密に満たすため、理論上は質量保存がマシン精度で保証される。ただし以下の条件で劣化する。
| 状況 | 質量保存への影響 | 対策 |
|---|---|---|
| 非直交メッシュ | 面フラックスの補正誤差 | 非直交補正の反復回数を増やす |
| AMR(適応細分化) | 細分化/粗化時の質量不均衡 | 保存的な補間スキーム使用 |
| 移動メッシュ | GCL (Geometric Conservation Law) 違反 | GCL準拠のメッシュ速度計算 |
| 人工圧縮性法 | 定常到達前は質量保存しない | 十分な疑似時間発展 |
OpenFOAMでの連続の式の確認
OpenFOAMで質量保存を確認するにはどうすればいいですか?
ログファイルの continuity errors を確認する。sum local と global の値が出力される。globalが $10^{-10}$ 以下であれば良好。また、postProcess -func 'flowRatePatch(name=inlet)' で各パッチの流量を直接確認できる。
どのソルバーでも、質量保存の確認は計算後の最初のチェック項目ですね。
その通り。質量が保存されていない結果には一切の意味がない。
ツールによって「保存性」の強さが違う
CFDツールを選ぶとき、「連続の式がどれだけ厳密に保たれるか」はあまり語られないポイントです。有限体積法ベースのOpenFOAMやFluentは「保存形式」で離散化するため、セルごとの質量収支が厳密に成立します。一方、有限要素法ベースのコードは形状自由度が高い反面、局所的な質量保存が甘くなることがあります。長距離輸送シミュレーション(例えばパイプラインの数時間分の過渡解析)では、この違いが長時間積算してじわじわと誤差に効いてきます。用途に合わせたツール選定が重要な理由のひとつです。
先端技術
先端トピック
連続の式に関連した最新の研究ってどんなものがありますか?
質量保存は不変だが、その数値的な実現方法は今も進化し続けている。
人工圧縮性法(ACM)
非圧縮流れに人工的な圧縮性を導入し、圧力波を伝播させて定常解を求める手法だ。
ここで $\tau$ は疑似時間、$\beta$ は人工音速。圧力のポアソン方程式を解く必要がなく、GPUとの親和性が高い。ただし非定常計算では二重時間積分(dual time stepping)が必要になる。
格子ボルツマン法(LBM)での質量保存
LBMでも連続の式は成り立つんですか?
LBMは分子の速度分布関数を格子上で衝突・輸送する手法だ。Chapman-Enskog展開により、マクロな連続の式とNS方程式を漸近的に再現する。
$$ \rho = \sum_i f_i, \quad \rho\mathbf{u} = \sum_i f_i \mathbf{e}_i $$
LBMでも連続の式は成り立つんですか?
LBMは分子の速度分布関数を格子上で衝突・輸送する手法だ。Chapman-Enskog展開により、マクロな連続の式とNS方程式を漸近的に再現する。
質量保存は分布関数の総和が保存されることで自動的に満たされる。PowerFLOWやProLBはこの手法を商用化している。
発散フリー条件の射影法
高精度な非圧縮ソルバーでは、Helmholtz-Hodge分解に基づく射影法が使われる。
ここで $\nabla\cdot\mathbf{u}^{n+1} = 0$ の条件から圧力ポアソン方程式が導かれる。
このポアソン方程式の高速解法(FFT、マルチグリッド、AMG等)がCFDの計算効率を左右する。
混相流での質量保存の厳密化
Level Set法は界面の追跡精度は高いが質量保存性に欠ける。CLSVOF(Coupled Level Set + VOF)やMOF(Moment of Fluid)法は、VOFの質量保存性とLevel Setの幾何精度を組み合わせた手法だ。
「質量を保存する」という当たり前のことが、数値的にはこんなに奥深いんですね。
宇宙でも成立する連続の式
連続の式は地球上の流体だけでなく、太陽風の流れや銀河のガス雲にも適用されます。天体物理学では「質量フラックス保存」として、太陽から吹き出す荷電粒子の流れを記述するのに使われています。面白いのは、連続の式は「相対論的流体力学」でも形は変わらず成立すること(ただし4次元時空ベクトルに拡張されます)。つまり光速に近い速さで流れるブラックホール近傍のガスも、連続の式の支配下にある——スケールを超えた物理の普遍性です。
トラブルシューティング
トラブルシューティング
質量保存に関連するCFDの問題ってどういうものがありますか?
連続の式の残差が下がらない問題は、CFDで最も頻繁に遭遇するトラブルだ。
1. 連続の式の残差が下がらない
症状: continuity残差が$10^{-1}$〜$10^{-2}$で停滞。
考えられる原因と対策:
| 原因 | 診断方法 | 対策 |
|---|---|---|
| メッシュ品質不良 | Orthogonal Quality < 0.1 のセルを確認 | メッシュ修正 |
| 緩和係数が不適切 | 圧力の緩和係数が低すぎる | SIMPLE: 圧力0.3, 運動量0.7で開始 |
| 初期条件が不適切 | 速度場が非物理的 | 良好な初期値を与える |
| 境界条件の不整合 | 入口流量と出口条件の矛盾 | BCの見直し |
2. 局所的な質量漏洩
全体の質量収支は合ってるのに、局所的に変な値が出ることがあるんですけど…
症状: 壁面を通って流体が漏れているように見える。
原因: 非直交補正が不十分。非構造メッシュでは面法線ベクトルとセル中心間ベクトルがずれるため、面フラックスに補正が必要。
対策:
- Fluentなら Non-Orthogonal Correctors を増やす(デフォルト0→2〜3)
- OpenFOAMなら
nNonOrthogonalCorrectors 2;を fvSolution に設定
3. 圧縮性流れでの質量保存異常
症状: 衝撃波近傍で質量フラックスが振動。
対策: TVD(Total Variation Diminishing)スキームやリミッターを使用。Fluentなら Second Order Upwind + Gradient Limiter、OpenFOAMなら vanLeer や Minmod リミッター。
4. 非定常計算での質量蓄積
非定常計算で時間とともに質量が徐々にずれていくんですが…
原因: 各時間ステップでの収束が不十分(内部反復が足りない)。
対策:
- 各時間ステップの内部反復回数を増やす(20回以上)
- 残差が十分低下してから次の時間ステップに進む
- 時間刻みを小さくする(CFL数を下げる)
連続の式の残差は、計算がうまくいっているかの最も基本的なバロメーターですね。
その通り。他の残差がいくら下がっていても、continuityが収束していなければ結果は信頼できない。まずcontinuityの残差をチェックすることを習慣にしよう。
「質量が湧いてくる」バグの見つけ方
CFDの計算後に質量収支レポートを確認したら「入口100 kg/s、出口98 kg/s」——2 kg/sが消えている。こんな状況に出くわしたことはありませんか? 原因として多いのは①周期境界条件の設定ミス、②スリップ境界で流体が「壁を抜けている」、③パッチ接合部のメッシュ不整合です。逆に「出口が入口より多い」場合は内部でソース項が予期せず発生しています。コツは「まず面ごとに流量を書き出す」こと。どこで質量が増減しているかを地道に追うのが、このタイプのバグ潰しの王道です。
関連トピック
なった
詳しく
報告