CFL条件

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

CFL条件(シーエフエルじょうけん、Courant-Friedrichs-Lewy Condition)またはクーラン条件とは、コンピュータシミュレーションの計算(数値解析)において、「情報が伝播する速さ」を「実際の現象で波や物理量が伝播する速さ」よりも早くしなければならないという必要条件のことである。1928年にRichard Courant, Kurt Friedrichs, Hans Lewyによって提唱された[1]

概要[編集]

例えば、離散格子系において波動を扱う場合に、その運動方程式の数値解を求める際に用いる時間ステップΔt の値は、実際の波動が隣り合う格子に伝達するまでの時間よりも小さくなければならない。もしΔt の値がその時間の上限を超えると、計算上の情報伝達速度が実現象の速さに追従できずに数値発散が生じてしまい、物理的に意味の無い解を得てしまう。格子の間隔Δx が小さくなると、時間ステップΔt の上限値も減少する。

CFL条件は陽解法の時間進展を行う際に用いられる条件であり、この条件を回避するためにしばしば陰解法が用いられる場合がある。陰解法を用いることでCFL条件を回避したり緩和できる理由としては様々な説明が存在するが、最も簡潔に説明すると、陽解法は1ステップ前の自分の周りのごくわずかな格子点のみから情報を得て次の時間の値を決めるのに対して、陰解法は1ステップ前の(ほぼ)全ての格子点の情報を処理して次の時間の値を決めるためであり、CFL条件におけるΔx が実質的に巨大になるためである。

数式による説明[編集]

実際の現象を速さ(特性速度)が C の波動であるとする。この現象は次の移流方程式で記述される:

\frac{\partial u}{\partial t}+C\frac{\partial u}{\partial x}=0

この方程式を時間ステップ幅Δt 、格子幅Δx として、時間微分に1次精度陽解法、空間微分に1次精度風上差分を用いて離散化すると、

\frac{u^{n+1}_i-u^n_i}{\Delta t}+C\frac{u^n_i-u^n_{i-1}}{\Delta x}=0

すなわち

u^{n+1}=u^n_i-\frac{C\Delta t}{\Delta x}(u^n_i-u^n_{i-1})

となる。このとき、情報が伝播する速さはΔxt、実際の波の速さはCであるから

\frac{\Delta x}{\Delta t}>C

がCFL条件となる。この式を無次元数であるクーラン数 C Δtx を使って、「クーラン数は1より小さくなければならない」と表現することもある。

参考文献[編集]

  1. ^ 藤井孝藏 『流体力学の数値計算法』 東京大学出版会、1994年、16頁。ISBN 4-13-062802-X 

関連項目[編集]