CFL条件

CFL条件（シーエフエルじょうけん、）またはクーラン条件とは、数値解析によるコンピュータシミュレーションにおいて、「情報が伝播する速さ」は「実際の現象で波や物理量が伝播する速さ」よりも速くなければならないという必要条件のことである。1928年に、リヒャルト・クーラント、Kurt Friedrichs、ハンス・レヴィーによって提唱された。
概要.
例えば、離散格子系において波動を扱う場合に、その運動方程式の数値解を求める際に用いる時間ステップΔ"t" の値は、実際の波動が隣り合う格子に伝達するまでの時間よりも小さくなければならない。もしΔ"t" の値がその時間の上限を超えると、計算上の情報伝達速度が実現象の速さに追従できずに数値発散が生じてしまい、物理的に意味の無い解を得てしまう。意味のある計算をするためには空間格子の間隔Δ"x" を小さくするなら、時間ステップΔ"t" の上限値もそれに伴って減らさなければならない。
CFL条件は陽解法の時間進展を行う際に用いられる条件であり、この条件を回避するためには陰解法がしばしば用いられる。陰解法を用いることでCFL条件の回避や緩和ができる理由としては様々な説明が存在するが、最も簡潔に説明すると、陽解法は1ステップ前の自分の周りのごくわずかな格子点のみから情報を得て次の時間の値を決めるのに対して、陰解法は1ステップ前の(ほぼ)全ての格子点の情報を処理して次の時間の値が決まるため、CFL条件におけるΔ"x" が実質的に巨大になるためである。
数式による説明.
実際の現象を速さ（特性速度）の大きさが "C" の波動であるとする。この現象は次の移流方程式で記述される：
この方程式を時間ステップ幅Δ"t" 、格子幅Δ"x" として、時間微分に1次精度陽解法、空間微分に1次精度風上差分を用いて離散化すると、
すなわち
となる。このとき、情報が伝播する速さはΔ"x" /Δ"t"、実際の波の速さの大きさは"C"であるから
がCFL条件となる。この式を無次元数であるクーラン数 "C" Δ"t" /Δ"x" を使って、「クーラン数は1より小さくなければならない」と表現することもある。