Courant数 — CAE用語解説
Courant数
先生、Courant数(CFL数)ってCFDで必ずチェックするって聞きましたが、何を意味するんですか?
Courant-Friedrichs-Lewy数(CFL数)は Co = u×Δt/Δx で定義される無次元数だ(u:流速、Δt:時間ステップ、Δx:セルサイズ)。物理的な意味は「1ステップで流体が何セル分進むか」で、Co > 1 だと「情報がスキップされる」状態になって陽解法では数値不安定が起きる。これがCFL条件で、陽解法CFDでは Co ≤ 1(安全を見て0.5程度)を守る必要がある。OpenFOAMでは自動タイムステップ調整でCourant数を制御できる。
定義
陰解法を使えばCourant数の制約がないと聞きましたが本当ですか?
条件的に正しい。陰解法は無条件安定(Co > 1でも発散しない)だけど、Courant数が大きすぎると精度が落ちるんだ。時間微分の離散化誤差がO(Δt)だから、Δtを大きくするほど結果が鈍る。定常問題を素早く収束させるためにCo = 10〜100という設定で回すこともあるが、過渡現象(熱の立ち上がりや渦の通過)を正確に捉えるにはCo ≈ 1が必要だ。「安定するか」と「精度が出るか」は別問題として理解しておこう。
実務での管理とトラブルシュート
OpenFOAMで急にCourant数が爆発して計算が止まることがあります。対処法は?
まず「どこでCo最大値が出ているか」をポスト処理で確認する。典型的な原因は①メッシュに極端に小さいセルが混在(バッドメッシュ)、②壁面近傍の速度勾配が急峻、③初期条件が非物理的(速度ゼロで突然高速流が入るなど)だ。対処は①最小セルサイズをcheckMeshで確認して再メッシュ、②maxCo設定を小さくしてΔtを自動調整、③初期場をsimpleFoamで定常解として得てからtransientの初期値にする——この3ステップが鉄板だ。
LES(大渦シミュレーション)では特にCourant数に気を遣うと聞きました。
LESは本質的に過渡解析だからCo ≤ 0.5程度に抑えないと渦の時間発展を追えない。さらにLESはサブグリッドスケール(SGS)モデルで渦粘性を計算するが、Courant数が大きいとSGSの散逸が物理的でなくなる。自動車の風切り音(aeroacoustics)解析やガスタービン燃焼器の非定常挙動など精度が重要な問題では、Δtをアコースティックタイムスケール(Δx/c :音速基準)まで小さくする必要があってCPU時間が膨大になる——だからLESはクラスター計算機が前提だ。
関連用語
Courant数の管理ひとつで解析の安定性と精度が決まるんですね!
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
Project NovaSolver — CAE実務の課題に向き合う研究開発
「Courant数をもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。
進捗通知を受け取る →関連トピック
なった
詳しく
報告