壁関数
理論と物理
概要
先生、壁関数ってよく「y+を30以上にしろ」って言われるんですけど、そもそもなんでそんな条件が必要なんですか?
壁面近傍の乱流境界層には、粘性底層・バッファ層・対数層という明確な構造がある。壁関数はこのうち対数層の速度分布を利用して、壁面近傍のセルを粗いまま計算するための手法だ。粘性底層を直接解かなくて済むから、メッシュ数を大幅に削減できる。
粘性底層を飛ばしちゃうってことですか?
正確には「飛ばす」のではなく、壁面近傍の速度・温度・乱流量を半経験的な関数で近似するんだ。これが壁関数の本質だよ。
壁面境界層の構造
まず境界層の構造を教えてください。
壁面に近い順に3つの領域がある。
| 領域 | $y^+$ の範囲 | 支配的な効果 | 速度分布 |
|---|---|---|---|
| 粘性底層 | $y^+ < 5$ | 分子粘性が支配 | $u^+ = y^+$(線形) |
| バッファ層 | $5 < y^+ < 30$ | 粘性と乱流が混在 | 遷移領域(明確な公式なし) |
| 対数層 | $30 < y^+ < 300$ | 乱流応力が支配 | $u^+ = \frac{1}{\kappa}\ln(y^+) + B$ |
ここで無次元量の定義は以下の通りだ。
$u_\tau$ は摩擦速度、$\tau_w$ は壁面せん断応力、$\nu$ は動粘性係数だ。
対数則(Law of the Wall)
対数則の式を詳しく教えてください。
対数層における速度分布は次の式で表される。
$$ u^+ = \frac{1}{\kappa}\ln(E\, y^+) $$
対数則の式を詳しく教えてください。
対数層における速度分布は次の式で表される。
ここで $\kappa \approx 0.41$(von Karman定数)、$E \approx 9.793$(滑面に対する積分定数)だ。これを書き換えると、
粗い壁面の場合はどうなるんですか?
粗面では粗さ高さ $k_s$ に応じて定数が修正される。
ここで $k_s^+ = k_s u_\tau / \nu$ が粗さレイノルズ数だ。$k_s^+ < 2.25$ なら水力学的滑面、$k_s^+ > 90$ なら完全粗面に分類される。
壁関数の種類
壁関数にも種類があるんですか?
大きく分けて3種類ある。
| 壁関数の種類 | 特徴 | $y^+$ 要件 |
|---|---|---|
| Standard Wall Function | 対数則を厳密に適用。Launder-Spalding (1974) | $30 < y^+ < 300$ |
| Scalable Wall Function | $y^+ < 11.225$ の場合に粘性底層の式に切替 | 制限なし(内部で補正) |
| Enhanced Wall Treatment | Low-Re damping + 壁関数をブレンド | $y^+ \approx 1$ が理想 |
Standard Wall Functionが最も古典的で、第1セルの $y^+$ が30〜300の範囲に入っていることが前提だ。この範囲外では精度が著しく劣化する。
なるほど、だから「$y^+$ を30以上にしろ」って言われるわけですね。逆に低レイノルズ数モデルなら $y^+ \approx 1$ が必要になると。
対数則の発見——Prandtlと弟子たちの地道な実験
壁関数の根拠となる「対数法則(log-law)」の発見は、Ludwig Prandtlとその弟子たちが20世紀初頭に行った丹念な管内乱流実験に端を発します。壁面から離れた乱流領域では速度分布が対数関数に従うという事実は、当時のデータ解析から経験的に見出されたもので、理論的な導出は後付けです。この対数則が今日の壁関数の基礎として、数百万のCFD計算で毎日使われているというのは、100年前の実験データの驚くべき生命力と言えます。
各項の物理的意味
- 時間項 $\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$。時間刻みの安定性に直結 |
数値解法と実装
壁関数の数値実装
壁関数って、ソルバーの中では具体的にどう実装されてるんですか?
運動量の壁関数
速度場に対する壁関数はどう計算するんですか?
壁隣接セル中心の速度 $U_P$ と壁面せん断応力 $\tau_w$ の関係を、対数則から逆算する。
これを $\tau_w$ について解くと、
ただし $u_\tau = \sqrt{\tau_w/\rho}$ なので、$\tau_w$ は陰的に含まれている。実装ではニュートン法や簡易代入法で反復的に解くか、等価な渦粘性を定義する方法が使われる。
k と epsilon の壁境界条件
乱流量 $k$ と $\varepsilon$ にはどんな境界条件を課すんですか?
壁隣接セルでの $k$ と $\varepsilon$ は以下のように設定される。
ここで $C_\mu = 0.09$ だ。$\varepsilon$ はセル中心の値として直接代入(固定値)する場合が多い。$k$ については輸送方程式を壁隣接セルまで解くソルバーもあれば、上式で固定するソルバーもある。
ソルバーによって扱いが違うんですね。
その通り。Ansys Fluentでは $k$ は輸送方程式を解きつつ壁面での生成項を壁関数で修正し、$\varepsilon$ は壁隣接セルで上式の値を強制する。OpenFOAMの epsilonWallFunction も同様の実装だ。
温度の壁関数
熱の壁関数もあるんですか?
もちろん。温度場に対しても対数則に類似した壁関数がある。Jayatilleke (1969) のP関数を用いた形式が標準的だ。
ここで $\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 よもやま話
y+計算ツールの真の価値——「事前見積もり」の文化
今では「y+ calculator」と検索すれば無数のオンラインツールが出てきますが、これらが普及したのは2010年代以降です。それ以前のCFDエンジニアは境界層の解析解(Blasius式など)を手計算か表計算で使い、第1層の厚さを見積もっていました。「試しにメッシュを切って計算してからy+を確認する」ではなく「y+を計算してからメッシュを設計する」という事前見積もりの文化が定着したのは、このツールの普及と切り離せません。今も最初の解析では必ずy+の事前推算を行う習慣を持つエンジニアが、結果に困ることは少ない。
風上差分(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次だが、流れの方向を正しく捕捉するため安定性が高い。
メッシュを作る前に $y^+$ を見積もる方法ってありますか?
平板境界層の経験式を使って推定するのが定石だ。
つまり目標 $y^+$ と代表レイノルズ数から第1層の厚さ $y$ を逆算できるんですね。これでインフレーションレイヤーの設定ができる。
y+計算ツールの真の価値——「事前見積もり」の文化
今では「y+ calculator」と検索すれば無数のオンラインツールが出てきますが、これらが普及したのは2010年代以降です。それ以前のCFDエンジニアは境界層の解析解(Blasius式など)を手計算か表計算で使い、第1層の厚さを見積もっていました。「試しにメッシュを切って計算してからy+を確認する」ではなく「y+を計算してからメッシュを設計する」という事前見積もりの文化が定着したのは、このツールの普及と切り離せません。今も最初の解析では必ずy+の事前推算を行う習慣を持つエンジニアが、結果に困ることは少ない。
風上差分(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次だが、流れの方向を正しく捕捉するため安定性が高い。
実践ガイド
実務での壁関数選択フロー
実際のプロジェクトで壁関数をどう選べばいいですか?
判断の基本フローはこうだ。
1. 壁面現象が結果に重要か? -- 剥離・遷移・熱伝達が主題なら壁関数ではなくLow-Re解析($y^+ \approx 1$)を選ぶ
2. 計算コストの制約は? -- 数千万セル超の産業問題では壁関数が現実的
3. レイノルズ数は? -- $Re > 10^6$ の高Re流れでは壁関数が安定しやすい
メッシュ設計の実務指針
壁関数を使うとき、メッシュで気をつけるポイントは?
最重要は第1層セルの $y^+$ を対数層に収めることだ。
| 壁関数タイプ | 目標 $y^+$ | 第1層の成長率 | 境界層内の推奨層数 |
|---|---|---|---|
| Standard WF | 30〜100 | 1.2〜1.3 | 8〜15層 |
| Scalable WF | 30〜300(自動補正) | 1.2〜1.3 | 8〜15層 |
| Enhanced WT | 1〜5 | 1.1〜1.2 | 15〜25層 |
実務上よくある失敗は、$y^+$ がバッファ層(5〜30)に落ちるケースだ。Standard Wall Functionはこの領域の速度分布を正しく表現できないため、壁面摩擦係数や熱伝達係数が大きく誤る。
メッシュ生成後に $y^+$ を確認する方法は?
各ソルバーで壁面 $y^+$ のコンター図を出力できる。
- Fluent: Report > Surface Integrals > Wall Yplus、またはコンター表示
- STAR-CCM+: Wall Y+ フィールド関数
- OpenFOAM:
yPlusユーティリティを実行
壁関数が破綻するケース
壁関数が使えない場面ってどういうときですか?
以下のケースでは壁関数の前提(定常・平衡境界層・対数層の成立)が崩れる。
| ケース | 理由 | 推奨アプローチ |
|---|---|---|
| 大規模剥離(鈍頭物体後方) | 対数層が存在しない | Low-Re モデルまたはLES |
| 強い圧力勾配(ディフューザ) | 対数則からのずれが大きい | Non-equilibrium WF または Enhanced WT |
| 遷移流(翼型の層流領域) | 層流仮定と矛盾 | 遷移モデル ($\gamma$-$Re_\theta$) |
| 浮力駆動流(自然対流) | 速度分布が対数則と異なる | Low-Re モデル |
| 高マッハ数圧縮性流 | 圧縮性効果で壁面法則が変化 | 圧縮性壁関数 |
産業用途の実績ベースだと、どの壁関数が多いですか?
自動車や建築物の外部空力ではScalable Wall Functionが多い。ターボ機械ではSST k-omegaのAutomatic Wall Treatmentが事実上の標準だ。これはSST k-omegaモデルの内部で $y^+$ に応じて壁関数と低Re解析を自動切替するもので、メッシュ品質にロバストな点が高く評価されている。
熱流束計算での壁関数——温度と速度で別のy+が必要な理由
熱伝達を伴う解析では、速度場と温度場で壁関数を別々に適用します。速度の対数則は乱流プラントル数が0.7〜0.9の流体では比較的ロバストですが、液体金属(プラントル数<<1)や高粘度流体では温度の対数則が成立しない場合があります。ある電子機器冷却のCFD解析で、速度のy+は35と良好なのに熱流束が実験値の2倍になった原因を調べると、水のプラントル数が低い領域での熱壁関数の不適用が原因だったという例があります。「熱が絡むと壁関数はより注意が必要」は実務の重要な経験則です。
解析フローのたとえ
CFDの解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?
初心者が陥りやすい落とし穴
「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。
境界条件の考え方
入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。
ソフトウェア比較
ソルバー別の壁関数実装
壁関数の実装って、ソルバーごとに結構違うんですか?
考え方は同じだが、具体的な実装名や自動切替ロジックに差がある。比較してみよう。
| ソルバー | Standard WF | Scalable / 自動切替 | Low-Re / Enhanced |
|---|---|---|---|
| Ansys Fluent | Standard Wall Functions | Scalable Wall Functions | Enhanced Wall Treatment |
| Ansys CFX | -- | Automatic Wall Treatment(標準) | -- |
| STAR-CCM+ | Standard Wall Function | All y+ Wall Treatment | Low y+ Wall Treatment |
| OpenFOAM | nutUWallFunction + kqRWallFunction | nutUSpaldingWallFunction | nutLowReWallFunction |
CFXには Standard がないんですか?
CFXのAutomatic Wall TreatmentはSST k-omegaモデルと一体設計されていて、$y^+$ に応じて粘性底層解析と対数則を自動でブレンドする。だからStandardを別途選ぶ必要がない。これがCFXの大きな特徴だ。
OpenFOAMの壁関数境界条件
OpenFOAMでの設定方法を教えてください。
代表的な壁関数BCの組み合わせを示す。
| 変数 | Standard WF | Spalding WF(全 $y^+$ 対応) |
|---|---|---|
nut | nutUWallFunction | nutUSpaldingWallFunction |
k | kqRWallFunction | kqRWallFunction |
epsilon | epsilonWallFunction | epsilonWallFunction |
omega | omegaWallFunction | omegaWallFunction |
Spalding壁関数は Spalding (1961) の式 $y^+ = u^+ + e^{-\kappa B}\left[e^{\kappa u^+} - 1 - \kappa u^+ - \frac{(\kappa u^+)^2}{2} - \frac{(\kappa u^+)^3}{6}\right]$ を用いて、全 $y^+$ 範囲をカバーする。$y^+ < 5$ の粘性底層でも $y^+ > 30$ の対数層でも連続的に接続されるため、メッシュ品質にロバストだ。
ソルバー選定の指針
壁関数の観点でソルバーを選ぶなら、どう考えればいいですか?
判断基準をまとめよう。
| 判断基準 | Fluent | CFX | STAR-CCM+ | OpenFOAM |
|---|---|---|---|---|
| 壁関数の選択肢 | 多い(3種+非平衡WF) | 少ない(自動のみ) | 3種(Low/High/All y+) | 多い(カスタマイズ容易) |
| 自動 $y^+$ 対応 | Enhanced WTで対応 | 標準で対応 | All y+ で対応 | Spalding WFで対応 |
| 粗面モデル | Cebeci-Chang式対応 | Sand-grain対応 | Sand-grain対応 | nutURoughWallFunction |
| 温度壁関数 | Jayatilleke P関数 | 自動 | 3種 | alphatWallFunction系 |
実務ではどれを推奨しますか?
メッシュ品質のばらつきが大きい産業問題では、All $y^+$ 対応の壁関数を使うのが安全だ。Fluentなら Enhanced Wall Treatment、STAR-CCM+ なら All y+ Wall Treatment、OpenFOAMなら nutUSpaldingWallFunction だ。CFXはデフォルトで自動切替なので特に意識する必要がない。
OpenFOAMの壁関数メニュー——選択肢が多すぎる問題
OpenFOAMのnutWallFunction辞書には、kqRWallFunction、nutKWallFunction、nutUSpaldingWallFunctionなど多数の選択肢が存在します。初心者が「どれを選べばいい?」と迷うのは当然で、OpenFOAMユーザーフォーラムでは毎月のように同じ質問が上がります。答えは「使う乱流モデルとy+範囲の組み合わせで決まる」ですが、Spalding則を使うnutUSpaldingWallFunctionはy+の広い範囲に対応しており、迷ったときの無難な出発点として多くのユーザーが選んでいます。
選定で最も重要な3つの問い
- 「何を解くか」:壁関数に必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
非平衡壁関数
圧力勾配がある流れでは標準壁関数が使えないって話でしたけど、代替手段はあるんですか?
Kim-Choudhury (1995) やCraft et al. (2002) が提案した非平衡壁関数がある。壁隣接セル内で圧力勾配や対流の効果を考慮した速度分布を解析的に積分する手法だ。
Fluent の Non-Equilibrium Wall Function はこの考え方に基づいている。壁隣接セルの $k$ に関する予算式を考慮し、圧力勾配の影響を以下のように取り込む。
ここで $g(y^+)$ は圧力勾配の効果を表す補正関数だ。
Adaptive Wall Function
最近のトレンドはありますか?
Adaptive Wall Function(Popovac-Hanjalic, 2007)が注目されている。これは壁隣接セル内で1次元の簡易RANS方程式を解いて、壁面フラックスを高精度に推定する手法だ。
壁隣接セル内に仮想的なサブグリッドを導入し、セル内の速度分布 $U(y)$ を以下の方程式で解く。
この方法なら、対数則が成立しない領域でも正確な壁面せん断応力が得られる。OpenFOAMではカスタム実装が可能で、研究用途で使われている。
LES/DES向け壁モデル(WMLES)
LESでも壁関数的なアプローチがあるんですか?
ある。Wall-Modeled LES(WMLES)だ。LESでは壁面近傍の渦スケールが非常に小さく、直接解像するとメッシュ数が $Re^{13/7}$ に比例して爆発する。そこで壁面近傍だけRANS的な壁モデルを適用し、外層はLESで解く。
代表的なWMLES壁モデルとして、
- Equilibrium stress model: 対数則ベース。最も簡単
- ODE equilibrium model: 壁面近傍でTBL方程式を解く
- Integral wall model (Kawai-Larsson, 2012): 壁面近傍の運動量方程式を積分
WMLESはどのソルバーで使えますか?
機械学習による壁モデル
AIで壁関数を改良する研究もあるんですか?
DNSデータを教師データとして、ニューラルネットワークで壁面フラックスを予測する研究が盛んだ。Yang et al. (2019) やLozano-Duran et al. (2020) の研究では、圧力勾配や曲率の効果を含む壁モデルをMLで構築し、従来の対数則ベースのモデルより高精度な結果を報告している。
壁関数の世界もどんどん進化してるんですね。対数則が万能じゃないことを認識しつつ、場面に応じて最適な壁モデルを選ぶのが大事だと分かりました。
Coffee Break よもやま話
All y+ 壁関数の登場——「y+を気にしなくてよい」時代の幕開け
STAR-CCM+が導入した「All y+ Wall Treatment」(後にANSYS CFXも同様のAutomatic Wall Treatmentを採用)は、y+=1でも300でも自動的に適切な壁処理を選択するという画期的な機能です。低y+では低Reynolds数モデル的な扱いに、高y+では対数則壁関数的な扱いに内部で切り替わります。「y+の管理から解放される」という設計者への恩恵は大きく、メッシュ品質管理の一項目を省けるという生産性向上に直結しました。ただし「y+が何でもいい」ではなく「All y+の信頼範囲を理解して使う」のが正しいスタンスです。
LESでも壁関数的なアプローチがあるんですか?
ある。Wall-Modeled LES(WMLES)だ。LESでは壁面近傍の渦スケールが非常に小さく、直接解像するとメッシュ数が $Re^{13/7}$ に比例して爆発する。そこで壁面近傍だけRANS的な壁モデルを適用し、外層はLESで解く。
代表的なWMLES壁モデルとして、
WMLESはどのソルバーで使えますか?
AIで壁関数を改良する研究もあるんですか?
DNSデータを教師データとして、ニューラルネットワークで壁面フラックスを予測する研究が盛んだ。Yang et al. (2019) やLozano-Duran et al. (2020) の研究では、圧力勾配や曲率の効果を含む壁モデルをMLで構築し、従来の対数則ベースのモデルより高精度な結果を報告している。
壁関数の世界もどんどん進化してるんですね。対数則が万能じゃないことを認識しつつ、場面に応じて最適な壁モデルを選ぶのが大事だと分かりました。
All y+ 壁関数の登場——「y+を気にしなくてよい」時代の幕開け
STAR-CCM+が導入した「All y+ Wall Treatment」(後にANSYS CFXも同様のAutomatic Wall Treatmentを採用)は、y+=1でも300でも自動的に適切な壁処理を選択するという画期的な機能です。低y+では低Reynolds数モデル的な扱いに、高y+では対数則壁関数的な扱いに内部で切り替わります。「y+の管理から解放される」という設計者への恩恵は大きく、メッシュ品質管理の一項目を省けるという生産性向上に直結しました。ただし「y+が何でもいい」ではなく「All y+の信頼範囲を理解して使う」のが正しいスタンスです。
トラブルシューティング
よくあるトラブルと対策
壁関数がらみでよくあるトラブルって何ですか?
現場で最も多い問題をまとめよう。
1. y+ がバッファ層に落ちる
症状: 壁面 $y^+$ が5〜30の範囲になっている
原因: メッシュの第1層が薄すぎる(壁関数用なのにLow-Re用の厚さにしてしまった)
対策:
- 第1層厚さを増やして $y^+ > 30$ にする
- あるいは逆に $y^+ < 5$ にしてEnhanced Wall Treatment に切り替える
- Scalable Wall Function(Fluent)やAll y+ Treatment(STAR-CCM+)を使えば、$y^+$ がバッファ層でもある程度補正される
2. 壁面摩擦係数が実験値と合わない
$C_f$ が実験と20%以上ずれることがあるんですが。
考えられる原因:
- $y^+$ が対数層の範囲外
- 強い逆圧力勾配で対数則が崩れている
- 粗面モデルの粗さパラメータ $k_s$ が不適切
- メッシュが壁に沿って粗すぎ(流れ方向の解像度不足)
対策:
- $y^+$ のコンター図を確認し、全壁面で30〜100に収まっているか検証
- 圧力勾配が強い領域ではNon-Equilibrium WFを検討
- 実験の粗さデータを $k_s$ に正しく変換する(等価砂粒粗さ)
3. 壁面熱伝達係数が過大/過小
Nu数が実験の半分くらいしか出ないことがあるんですけど。
温度の壁関数は速度の壁関数以上にメッシュ感度が高い。
原因: 高Pr数流体(オイル等)で $y^+$ が大きすぎると、温度境界層(速度境界層より薄い)が第1セル内に完全に埋もれてしまう
対策:
- Pr > 1 の流体では $y^+$ を小さめに設定する(目安: $y^+ < 50 / \text{Pr}^{0.5}$)
- Enhanced Wall Treatmentに切り替える
- STAR-CCM+ではTwo-Layer All y+ Wall Treatment が有効
4. 局所的な逆流で発散する
症状: 壁隣接セルに逆流があり、壁関数の計算が不安定化
対策:
- 剥離領域の $y^+$ を確認。剥離点近傍では対数則が成立しないため壁関数が適さない
- Enhanced WTやAll y+ Treatmentに変更
- Under-relaxation factor を下げる(Fluentでは Momentum を 0.5 → 0.3)
デバッグの手順
壁関数の問題を効率よく診断する手順を教えてください。
1. まず壁面 $y^+$ のコンター図を出す。全壁面が適切な範囲にあるか確認
2. 壁面 $C_f$ 分布を理論値や実験と比較。ずれが大きい箇所を特定
3. 疑わしい壁面近傍の速度プロファイルを $u^+$ vs $y^+$ でプロットし、対数則と比較
4. メッシュ感度チェック: 第1層を1/2と2倍にして結果の変化を確認
$u^+$ vs $y^+$ のプロットって、ソルバーの標準機能で出せますか?
Fluentでは壁面に垂直なラインプローブで $U$ と $y$ を取得し、$u_\tau$(壁面摩擦速度)で無次元化する。ParaViewでも同様に計算可能だ。対数則 $u^+ = 2.44 \ln(y^+) + 5.5$ と比較して、解が対数層を正しく再現しているかが一目瞭然になる。
y+=11.25という「魔法の数字」が生む悲劇
壁関数の適用限界として有名な「y+=11.25」は、粘性底層と対数層の交差点に対応する値です。この値付近のメッシュは「粘性底層を解像するには粗すぎ、対数層に合わせるには細かすぎ」という最悪のゾーンに入ります。大型モデルを一括でメッシュ生成すると、一部の局所的な高速域でy+がちょうどこの値に入ってしまうことがあり、その部分だけ壁面せん断応力がおかしな値になります。「圧力損失が特定の流量条件だけ大きくズレる」という症状はy+=11付近の壁面セルが原因である場合があり、y+コンターの確認が重要です。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——壁関数の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告