1階微分と2階微分の差分表現

はじめに

今回は差分法で用いる,1階微分と2階微分の差分表現を導出します.今後何回も用いるので覚えてしまいましょう.

差分を求める

$${u}$$を未知数,$${x}$$を空間座標とします.空間に適当な離散点を設けます.ここでは簡単のため,$${0 \leq x \leq L}$$の領域に等間隔で$${N}$$個の点を設けます.するとノードとノードの間隔は$${\Delta x = \frac{L}{N-1}}$$となります.次に,$${i}$$番目のノードの$${x}$$座標を$${x_i}$$,そのノードにおける未知数の値を$${u_i = u(x_i)}$$とします.次に,ステンシルというものを考えます.これは,差分の計算に用いるノードの集合のことです.通常複数の点から構成されます.今回は$${i}$$を中心として,$${i-1}$$,$${i+1}$$の3点を使います.$${u_{i-1}}$$と$${u_{i+1}}$$をそれぞれ$${u_i}$$まわりでTaylor展開すると

$$
u_{i+1} = u_i + \left( \frac{du}{dx} \right)_i \Delta x + \frac{1}{2!} \left( \frac{d^2 u}{dx^2} \right)_i (\Delta x)^2 + O(\Delta x^3) \tag{1}
$$

$$
u_{i-1} = u_i - \left( \frac{du}{dx} \right)_i \Delta x + \frac{1}{2!} \left( \frac{d^2 u}{dx^2} \right)_i (\Delta x)^2 + O(\Delta x^3) \tag{2}
$$

となります.ここで,$${O}$$は高次の微小量をあらわします.

1階微分

1階微分は3通りの差分表現があります.まず,式(1)を1階微分について解くと

$$
\frac{u_{i+1} - u_i}{\Delta x} = \left( \frac{du}{dx} \right)_i + O(\Delta x^2)
$$

を得ます.これを前進差分と呼びます.1次精度です.次に,式(2)を1階微分について解くと

$$
\frac{u_i - u_{i-1}}{\Delta x} = \left( \frac{du}{dx} \right)_i + O(\Delta x^2)
$$

を得ます.これを後退差分と呼びます.1次精度です.

2階微分

今知りたいのは2階微分なので,式(1)と式(2)を足すことにより

$$
u_{i+1} + u_{i-1} = 2 u_i + \left( \frac{d^2 u}{dx^2} \right)_i (\Delta x)^2 + O(\Delta x^3)
$$

を得ます.これを2階微分について解くと

$$
\left( \frac{d^2 u}{dx^2} \right)_i = \frac{u_{i+1} -2 u_i + u_{i-1}}{(\Delta x)^2} + O(\Delta x^3)
$$

を得ます.これを2階微分の中心差分と呼びます.2次精度です.

おわりに

今回は差分法で用いる,1階微分と2階微分の差分表現を導出しました.今後何度も参照するのですぐに覚えてしまうでしょう.より高次や高階の差分も同様にして導くことができます.4階微分ぐらいまでは使うことがあるので今度やってみましょうか.

参考文献

・登坂宣好,大西和榮『偏微分方程式の数値シミュレーション 第2版』
差分法だけでなく,有限要素法と境界要素法も解説されている.1次元の場合の楕円型方程式,放物型方程式,双曲型方程式をそれぞれ差分法,有限要素法,境界要素法による離散化を説明し,次に同様のことを2次元で行うという非常にシステマティックな構成です.第5章では粘性流れのシミュレーションも扱われており,定常移流拡散方程式,Burgers方程式,Navier-Stokes方程式の差分法,有限要素法,境界要素法による離散化が説明されています.非常に素晴らしい名著なのですが,現在中古が高騰しています.安価で手に入るのは内容が少ない1版なのでご注意ください.表紙が違います.

・梶島岳夫『乱流の数値シミュレーション 改訂版』
差分法でNavier-Stokes方程式を以下に離散化すべきであるかを非常に丁寧に解説しています.差分の基礎からはじめて乱流の数値計算まで到達するすごい本です.おすすめです.


いいなと思ったら応援しよう!