Spalart-Allmarasモデル — 数値解法と実装
FVMでの離散化
SAモデルをCFDソルバーでどう離散化するんですか?
有限体積法(FVM)での離散化は、他のスカラー輸送方程式と同じ枠組みだ。対流項と拡散項を面フラックスに変換して離散化する。
ただしSAモデル特有の注意点がある。非線形拡散項 $c_{b2}(\nabla\tilde{\nu})^2$ は標準的な拡散項の形式に収まらないため、ソース項として処理するか、保存形に書き直す工夫が必要だ。
壁面距離 $d$ の計算
壁面距離ってどうやって計算するんですか?全セルから最近壁面までの距離が必要ですよね?
そうだ。壁面距離の計算には主に2つの方法がある。
| 手法 | 計算量 | 精度 | 並列化 |
|---|---|---|---|
| 幾何学的探索(Brute Force) | $O(N_{cell} \times N_{wall})$ | 正確 | 通信コスト大 |
| ポアソン方程式法 | $O(N_{cell})$ | 近似 | 容易 |
ポアソン方程式法では $\nabla^2 \phi = -1$ を解いて $d \approx |\nabla\phi| + \sqrt{|\nabla\phi|^2 + 2\phi}$ で推定する。Fluentはデフォルトでこちらを使っている。大規模並列計算では幾何学的探索より効率的だ。
境界条件
壁面と遠方場でどんな境界条件を設定するんですか?
| 境界 | 条件 | 備考 |
|---|---|---|
| 壁面 | $\tilde{\nu} = 0$ | 完全な粘着条件 |
| 入口 | $\tilde{\nu}_{\text{in}} = 3\nu$ 〜 $5\nu$ | 低乱流度の外部流 |
| 遠方場 | $\tilde{\nu}_{\infty} / \nu = 3$ 〜 $5$ | NASA推奨値 |
入口の $\tilde{\nu}$ 設定は結果に影響する。NASA Turbulence Modeling Resourceでは $\tilde{\nu}/\nu = 3$ を推奨しているが、風洞実験との比較では乱流強度に応じて調整が必要だ。
数値安定性のテクニック
SAモデルで計算が不安定になることはありますか?
$\tilde{\nu}$ が負値になると物理的に無意味だ。対策として以下が使われる。
- Negativity clipping: $\tilde{\nu} < 0$ の場合にゼロにクリップ
- SA-neg variant: Allmaras et al. (2012) が提案した負値許容版。$\tilde{\nu} < 0$ でも安定に計算できるよう生成項・破壊項を修正
- ソース項の陰的線形化: $S_{\tilde{\nu}} = S_c + S_p \cdot \tilde{\nu}$ の形に分解し、$S_p < 0$ 部分を係数行列に組み込む
SA-negバリアントはOpenFOAMにも実装されてますか?
OpenFOAMのv2306以降では SpalartAllmaras クラスに負値処理が含まれている。FluentでもSA-negは対応済みだ。
レイノルズの実験(1883年)——乱流発見の瞬間
オズボーン・レイノルズは、管内の水にインクを流す実験で「層流から乱流への遷移」を発見しました。流速を上げていくと、インクの線がある瞬間にグチャグチャに乱れる。この劇的な瞬間を、レイノルズは数学的に $Re = \rho uD/\mu$ という無次元数で表現した。100年以上経った今も、CFDエンジニアが最初に確認するのはこのレイノルズ数です。
離散化手法の詳細解説
空間離散化における手法選択が数値精度・安定性・計算コストに与える影響を詳述する。
風上差分(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はそんな実務者の声から生まれました。
Spalart-Allmarasモデルの実務で感じる課題を教えてください
Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。
実務課題アンケートに回答する →