拡散方程式

・拡散方程式

 

 

 拡散方程式は、ある場所に集中した密度や温度がランダムな運動をした場合に、どのように拡散していくかを表す方程式です。ある関数の1階時間微分が、その関数の2階空間微分に比例するという式で表されます。解析的に(ある数式で表すことができる) 解けることがわかっていますが、微分方程式を離散化して数値的に解くこともできます。今回は数値解析を学ぶために微分方程式を離散化して、数値的に解きました。

 

 格子は正方形のレギュラー格子を使い、時間進行は前進差分、空間的な変化には中心差分を用いました。境界条件はノイマン境界条件(考えている領域の端に勾配を設けないように数値を与える)を適用します。このようにすることで断熱効果を持たせることができるのです。ちなみに境界が常にある一定の数値、例えば常に0にするという条件を与えた場合、端が無限に長い場合の拡散方程式を考えることができます。この条件をディリクレ境界条件と呼びます。この条件でシミュレーションを行うと、考えている領域に与えた数値が最終的に全て0になるように拡散していきます。

 

 時間間隔は2×(10の-5乗)として、時間ステップ数t = 100 , 500 , 1000 , 5000,10000とした場合の計算結果の画像を以下に示します。

 

 なおx , y座標は0 ~ 1の範囲で0.01刻みの格子を割振り、初期値は(x , y) ともに0.3~0.7の領域に1.0の数値を与えています。

 

(1) t = 100

(2) t = 500

(3) t = 1000

(4) t = 5000

 

次へ