Peclet数 — CAE用語解説
Peclet数
Peclet数の意味と役割
CFDの教科書にPeclet数って出てくるんですが、レイノルズ数とは何が違うんですか?
理論と物理
Peclet数の定義と物理的意味
Peclet数って、教科書に「移流と拡散の比」と書いてあるんですけど、具体的に何を表しているんですか?
流体中を熱や物質が運ばれるとき、流れによる運搬(移流)と、分子のランダム運動による広がり(拡散)のどちらが支配的かを示す無次元数です。具体的には、
「支配的」というのは、計算結果にどう影響するんですか?
Peが非常に大きい(例えば>100)場合、物理的には「拡散の影響がほとんど無視できる」状態です。しかし、数値計算上はこれが重大な問題を引き起こします。支配方程式の移流項が拡散項に比べて極端に大きくなるため、通常の中心差分スキームでは数値振動(オーバーシュート/アンダーシュート)が発生し、非物理的な解が得られます。これが、CAEで「移流優勢問題」と呼ばれる難しさの根源です。
熱と物質輸送でPeclet数は同じように使えるんですか?
概念は同じですが、拡散率の定義が異なります。熱輸送では先ほどの熱拡散率αを使い「熱Peclet数」と呼びます。物質輸送では、拡散係数Dを使い
数値解法と実装
高Peclet数問題への数値的対処法
移流優勢だと中心差分がダメなら、実際のCAEソフトではどんな計算方法を使っているんですか?
主に「風上差分法」と「高次精度風上差分法」が使われます。風上差分は、流れの上流側の情報を使って差分を構成するため、数値的に安定です。しかし、1次精度なので「数値拡散」という誤差が生じ、解がなまってしまいます。これを防ぐために、QUICKスキーム(3次精度)や、MUSCL法といった高次精度の風上差分が開発されました。Ansys Fluentでは「Second Order Upwind」がデフォルト推奨されることが多いです。
「数値拡散」の大きさはPeclet数と関係あるんですか?
直接的に関係します。1次風上差分を移流拡散方程式に適用すると、実質的に
メッシュを細かくしすぎると計算コストがかかります。バランスの取れた判断基準はありますか?
一つの指標が「セルPeclet数」です。実務では、重要な領域(例えば温度勾配が急峻な境界層)で、セルPeclet数をある値以下に抑えるようにメッシュ設計します。一般的なガイドラインとして、移流優勢領域でもセルPeを2〜5以下に抑えると、1次風上差分でも許容できる精度が得られることが多いです。Ansys CFXのドキュメントでは、このセルPeに基づいたメッシュ品質チェックが言及されています。
実践ガイド
シミュレーション前のPeclet数見積もり
実際に解析を始める前に、Peclet数の大きさを見積もるには、どのパラメータを集めればいいですか?
最低限、以下の3つが必要です。
代表長さの選び方で迷います。例えば、自動車のエンジンルーム内の熱流体解析では?
関心対象によって変わります。ラジエータフィンの冷却性能を見るのであれば、フィン間隔(数mm)がLです。ルーム全体の熱だまりを見るのであれば、ルームの代表寸法(0.5〜1 m)がLになります。重要なのは、Peは「その現象スケールにおいて」の相対的な指標だということです。したがって、一つのモデル内でも、領域ごとに支配的なPeが異なります。これが、局所的にメッシュを細かくする「適応メッシュ」の必要性につながります。
解析結果の後処理で、Peclet数の分布を確認するのは有効ですか?
非常に有効です。多くのCAEソフト(OpenFOAM, COMSOL等)では、計算された流速場と物性値からセルごとのPeclet数をユーザ定義変数として計算・可視化できます。これにより、「数値拡散の影響が大きい領域(セルPeが大きい領域)」や、「移流と拡散が拮抗している領域(Pe~1)」を特定できます。後者が、化学反応や相変化が起こりやすい領域と一致することも多く、現象理解の重要な手がかりになります。
ソフトウェア比較
各ソルバーにおけるPeclet数関連の設定
Ansys FluentとSiemens Star-CCM+では、高Peclet数問題へのアプローチに違いはありますか?
基本的な考え方は同じですが、設定の仕方とデフォルトの挙動に違いがあります。Fluentでは、離散化スキーム(Discretization Scheme)を「First Order Upwind」から「Second Order Upwind」や「QUICK」に変更するのが主な対応です。一方、Star-CCM+では、スキーム選択に加え、「高次項リラクゼーション」といった収束を助けるためのパラメータ調整が可能です。また、Star-CCM+の「Segregated Flow」ソルバーは、デフォルトで移流項に2次精度風上差分を使用しており、初期設定の段階で高Pe問題への一定の配慮がなされています。
無償ソフトのOpenFOAMではどうでしょうか?
OpenFOAMはスキームの選択肢が非常に豊富で、ユーザが細かく制御できます。移流項の離散化スキームは、`fvSchemes`ファイル内の`div`項で設定します。`upwind`(1次風上)、`linearUpwind`(2次精度風上)、`QUICK`、`MUSCL`などから選択可能です。また、`limitedLinear`のような、セルPeに応じて中心差分と風上差分をブレンドする「高分解能スキーム」も用意されています。その代わり、適切なスキームを選択するための知識がユーザに要求されます。
構造解析ソフト(Abaqusなど)で熱伝導解析をする時は、Peclet数を気にしなくていいんですか?
純粋な熱伝導(固体中での熱の拡散)では流速U=0なので、Pe=0です。つまり移流項が存在せず、拡散(伝導)のみの問題です。しかし、Abaqus/StandardやAbaqus/Explicitで「熱-応力連成解析」を行う際、材料が変形・移動すると(例えば鍛造シミュレーション)、材料の移動に伴う熱の輸送、すなわち移流が発生します。この「任意ラグランジュ・オイラー(ALE)法」を用いた解析では、変形速度と要素サイズから定義されるPeが無視できず、数値安定性のために「アドベクション制御」といった特別な設定が必要になる場合があります。
トラブルシューティング
Peclet数に起因する計算エラーと対策
温度や濃度の計算結果が、局所的にマイナス値や極端に大きな値(発散)になってしまいます。これはPeclet数が原因ですか?
その可能性が高いです。これは「数値振動」の典型的な症状で、高Peclet数条件下で不適切な離散化スキーム(特に中心差分)を使用した時に発生します。第一の対策は、離散化スキームを風上差分系(FluentならSecond Order Upwind)に変更することです。それでも改善しない場合は、問題が発生している局所領域のメッシュを細かくして、その領域のセルPeclet数を下げる必要があります。
風上差分に変えたら収束が悪くなり、計算が進まなくなりました。
高次精度の風上差分は、数値的により「硬い」方程式系を作るため、収束が遅くなる傾向があります。対策はいくつかあります。
メッシュを極端に細かくしたのに、なぜか解がメッシュ依存してしまいます。これもPeに関係ありますか?
はい、関係しています。これは「数値拡散」が原因です。1次風上差分を使い続けている限り、数値拡散係数α_num = UΔx/2 が存在します。メッシュを細かく(Δxを小さく)すればα_numは減りますが、完全にはゼロになりません。したがって、メッシュサイズが変われば数値拡散の量も変わり、解が依存して見えるのです。真のメッシュ独立解を得るには、メッシュを細かくすることに加えて、離散化スキーム自体の精度を上げる(2次以上にする)ことが必須です。最終的には、複数のメッシュとスキームで解の変化が無視できることを確認する「メッシュ感度解析」が推奨されます。
関連トピック
なった
詳しく
報告