差分スキーム — CAE用語解説
差分スキーム
先生、OpenFOAMのfvSchemesファイルでスキームを設定しますが、選び方が難しくて…どう考えればいいですか?
離散化スキームは「微分方程式の連続的な量を格子点の値で近似する方法」で、精度・安定性・計算コストのトレードオフがある。OpenFOAMでよく出るのは——①ddtSchemes(時間微分):EulerE(1次精度・安定)かCrankNicolson(2次精度・精密)、②gradSchemes(勾配):GaussLinear(2次精度)が標準、③divSchemes(発散、つまり移流項):LinearUpwind(2次精度・移流支配に強い)かGaussLinear(2次精度・中心差分)、④laplacianSchemes(拡散項):Gauss linear correctedが標準——この組み合わせが基本設定だ。
定義
1次精度と2次精度ってどのくらい差がありますか?
格子幅hを半分にしたとき、1次精度はh^1(誤差が半分に)、2次精度はh^2(誤差が1/4に)減少する。同じ精度を1次精度で達成しようとすると、2次精度より格子を細かくする必要がある。LES・DNS解析や高精度空力解析では2次精度以上は必須だ。一方で超音速のショック波を含む問題では2次精度中心差分がOscillation(数値振動)を起こすから、1次精度のUpwind(Godunov法系)が使われる——精度を意図的に下げて安定性を取るわけだ。
実務でのスキーム選択
乱流シミュレーションではどのスキームが推奨されますか?
RANSは安定性重視でLinearUpwindかGaussLinear+limitedが多い。LESは精度が命だからdivSchemes: GaussLinear(純粋な中心差分、2次精度)が推奨されているが、境界条件設定が悪いとOscillationが起きやすい。OpenFOAMのpisoFoam tutorialのLES設定ではlimitedLinear(中心差分に制限を加えたもの)が使われることが多い。DES/DDESでは「RANSとLES領域でスキームを切り替える」という高度な設定も可能だ。スキーム選択は「安定か精度か」と「物理的に正しい解が出ているか」を確認しながら決めるのが実践的だよ。
TVDスキームって離散化スキームと関係しますか?
TVDはTotal Variation Diminishing——数値振動を防ぎながら高精度を維持する制限付きスキームだ。1次精度Upwindの安定性と2次精度中心差分の精度を組み合わせる「フラックスリミター」がキモで、Venkatakrishnan、Barth-Jespersen、Van Leer、minmod、SUPERBEEなど多数のリミターが提案されている。OpenFOAMでlimitedLinear、vanLeerなどがこれに対応する。圧縮性流れのショック捕捉、反応性流れの温度/濃度の急勾配を安定に解くには欠かせない技術だ。論文で「高精度スキームを用いた」と書かれているときはほぼTVD系かENO/WENOスキームが使われている。
関連用語
精度と安定性のトレードオフがスキーム選択の核心なんですね。TVDリミターの存在意義がよくわかりました!
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
差分スキームの実務で感じる課題を教えてください
Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告