壁関数 — 数値解法と実装

カテゴリ: 流体解析(CFD) | 2026-01-20
wall-function-method
数値解法の舞台裏

壁関数の数値実装

🧑‍🎓

壁関数って、ソルバーの中では具体的にどう実装されてるんですか?


🎓

壁関数は壁面境界条件として実装される。壁に隣接するセルの中心(セントロイド)の値から、壁面でのせん断応力・熱流束・乱流量を算出する。FVM(有限体積法)ベースのCFDソルバーでは、壁面フラックスの計算に壁関数を介在させる形になる。


運動量の壁関数

🧑‍🎓

速度場に対する壁関数はどう計算するんですか?


🎓

壁隣接セル中心の速度 $U_P$ と壁面せん断応力 $\tau_w$ の関係を、対数則から逆算する。


$$ \frac{U_P}{u_\tau} = \frac{1}{\kappa}\ln(E\, y_P^+) $$

これを $\tau_w$ について解くと、


$$ \tau_w = \frac{\rho\, \kappa\, U_P\, u_\tau}{\ln(E\, y_P^+)} $$

🎓

ただし $u_\tau = \sqrt{\tau_w/\rho}$ なので、$\tau_w$ は陰的に含まれている。実装ではニュートン法や簡易代入法で反復的に解くか、等価な渦粘性を定義する方法が使われる。


$$ \mu_{t,\text{wall}} = \frac{\rho\, \kappa\, u_\tau\, y_P}{\ln(E\, y_P^+)} - \mu $$

k と epsilon の壁境界条件

🧑‍🎓

乱流量 $k$ と $\varepsilon$ にはどんな境界条件を課すんですか?


🎓

壁隣接セルでの $k$ と $\varepsilon$ は以下のように設定される。


$$ k_P = \frac{u_\tau^2}{\sqrt{C_\mu}}, \quad \varepsilon_P = \frac{u_\tau^3}{\kappa\, y_P} $$

ここで $C_\mu = 0.09$ だ。$\varepsilon$ はセル中心の値として直接代入(固定値)する場合が多い。$k$ については輸送方程式を壁隣接セルまで解くソルバーもあれば、上式で固定するソルバーもある。


🧑‍🎓

ソルバーによって扱いが違うんですね。


🎓

その通り。Ansys Fluentでは $k$ は輸送方程式を解きつつ壁面での生成項を壁関数で修正し、$\varepsilon$ は壁隣接セルで上式の値を強制する。OpenFOAMの epsilonWallFunction も同様の実装だ。


温度の壁関数

🧑‍🎓

熱の壁関数もあるんですか?


🎓

もちろん。温度場に対しても対数則に類似した壁関数がある。Jayatilleke (1969) のP関数を用いた形式が標準的だ。


$$ T^+ = \text{Pr}_t \left[ \frac{1}{\kappa}\ln(E\, y^+) + P(\text{Pr})\right] $$

$$ P(\text{Pr}) = 9.24 \left[ \left(\frac{\text{Pr}}{\text{Pr}_t}\right)^{3/4} - 1\right]\left[1 + 0.28\, e^{-0.007\text{Pr}/\text{Pr}_t}\right] $$

🎓

ここで $\text{Pr}_t \approx 0.85$(乱流プラントル数)、$\text{Pr}$ は分子プラントル数だ。空気($\text{Pr} \approx 0.71$)ではP関数の補正は小さいが、オイル($\text{Pr} > 100$)など高プラントル数流体では大きな影響が出る。


y+ の事前見積もり

🧑‍🎓

メッシュを作る前に $y^+$ を見積もる方法ってありますか?


🎓

平板境界層の経験式を使って推定するのが定石だ。


$$ C_f \approx 0.058\, Re_L^{-0.2} $$
$$ \tau_w = \frac{1}{2} C_f \rho U_\infty^2 $$
$$ u_\tau = \sqrt{\tau_w / \rho} $$
$$ y = \frac{y^+ \nu}{u_\tau} $$

🧑‍🎓

つまり目標 $y^+$ と代表レイノルズ数から第1層の厚さ $y$ を逆算できるんですね。これでインフレーションレイヤーの設定ができる。

Coffee Break よもやま話

F1と空力の戦い

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

離散化手法の詳細解説

空間離散化における手法選択が数値精度・安定性・計算コストに与える影響を詳述する。

風上差分(Upwind)

1次風上: 数値拡散が大きいが安定。2次風上: 精度向上するが振動のリスク。高レイノルズ数流れでは必須。

中心差分(Central Differencing)

2次精度だが、Pe数 > 2で数値振動が発生。低レイノルズ数の拡散支配流れに適する。

TVDスキーム(MUSCL、QUICK等)

リミッタ関数により数値振動を抑制しつつ高精度を維持。衝撃波や急勾配の捕捉に有効。

有限体積法 vs 有限要素法

FVM: 保存則を自然に満足。CFDの主流。FEM: 複雑形状・マルチフィジックスに有利。SPH等のメッシュフリー法も発展中。

マトリクスソルバーの選定指針

問題規模と特性に応じた最適なソルバー選択のガイドライン。

ソルバー種別詳細・推奨条件
圧力-速度連成(SIMPLE系)SIMPLE: 標準的だが収束が遅い。SIMPLEC: 圧力補正の緩和が改善。PISO: 非定常問題に適する。
連立系ソルバーAMG(代数的マルチグリッド): 大規模問題の標準。ILU前処理: メモリ効率良好。ブロックGauss-Seidel: 連成系に有効。
DOF別推奨〜10⁵セル: SIMPLE+AMG、10⁵〜10⁷セル: SIMPLEC+AMG+並列、10⁷セル〜: 結合型ソルバー(Coupled Solver)を検討

時間積分法と収束判定

ソルバー内部の制御パラメータと収束判定基準について記述する。

CFL条件(クーラン数)

陽解法: CFL ≤ 1が安定条件。陰解法: CFL > 1でも安定だが、精度と反復回数に影響。LES: CFL ≈ 1を推奨。物理的意味: 1タイムステップで情報が1セル以上進まないこと。

残差モニタリング

連続の式・運動量・エネルギーの各残差が3〜4桁低下で収束と判断。質量保存の残差は特に重要。

緩和係数

圧力: 0.2〜0.3、速度: 0.5〜0.7が一般的な初期値。発散する場合は緩和係数を下げる。収束後は上げて加速。

非定常計算の内部反復

各タイムステップ内で定常解に収束するまで反復。内部反復数: 5〜20回が目安。残差がタイムステップ間で変動する場合は時間刻みを見直す。

数値解法の直感的理解

FVMのイメージ

有限体積法は「会計帳簿」に似ている。各セル(口座)について「入ってくる量」と「出ていく量」の収支を厳密に管理する。隣のセルに流れ出た量は、そのセルに流れ込む量と完全に一致する——これが「保存性」であり、流体解析で質量やエネルギーが勝手に増減しないことを保証する。

SIMPLE法のたとえ

SIMPLE法は「交互に調整する」手法。まず速度を仮に求め(予測ステップ)、その速度で質量保存が満たされるよう圧力を補正し(補正ステップ)、補正された圧力で速度を修正する——このキャッチボールを繰り返して正解に近づく。2人で棚を水平にする作業に似ている:片方が高さを合わせ、もう片方がバランスを取り、これを交互に繰り返す。

風上差分のたとえ

風上差分は「川の流れに立って上流の情報を重視する」手法。川の中にいる人が下流を見ても水の出所は分からない——上流の情報が下流を決めるという物理を反映した離散化手法。精度は1次だが、流れの方向を正しく捕捉するため安定性が高い。

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

壁関数の実務で感じる課題を教えてください

Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。

実務課題アンケートに回答する →