有限差分法では,微分を差分商で近似することで微分方程式を数値的に解く.
ここでは,1階と2階微分の近似としての各種差分商の導出と,それを利用した微分方程式の離散化の例を
ポアソン方程式を用いて示す.
離散化の手法¶
離散化とは連続な関数を数値的に扱うために,有限で非連続(離散)な値に分割することをいう.
離散化の方法は様々だが,目的や条件をにより使い分ける.
例えば,空間方向の離散化には
などがある.
これらは空間的に連続関数の離散化に用いられる手法であり,時間的に連続な関数の離散化には差分法が用いられる.
ここでは有限差分法について解説する.
有限差分法 finite difference method¶
有限差分法(FDM)は,物体を格子点の集まりとみなし,テーラー展開に基づき
微分を差分商で近似して,差分方程式を作り,微分方程式を解く.
差分 difference¶
関数が2つの変数値に対してとる値の有限な差を差分(difference)という.
この差分を変数値の差(刻み幅)で割ったものを差分商(difference quotient)という.
ある2次元空間上の関数u(x,y)の離散化を考える.
2次元空間を格子で区切り,各格子点の座標を(xi,yj),格子間隔はそれぞれΔx,Δyとする.
格子番号を用いて,ui,j=u(xi,yj)とすれば,ui+1,j,ui−1,jは(xi,yj)のまわりで
ui+1,j=u(xi+Δx,yj)=ui,j+(∂x∂u)iΔx+2!1(∂x2∂2u)iΔx2+3!1(∂x3∂3u)iΔx3+… ui−1,j=u(xi−Δx,yj)=ui,j−(∂x∂u)iΔx+2!1(∂x2∂2u)iΔx2−3!1(∂x3∂3u)iΔx3+… とそれぞれテイラー展開できる.
それぞれ2次以上の項を無視すれば,
ui+1,j=ui,j+(∂x∂u)iΔx+O(Δx2)≈ui,j+(∂x∂u)iΔxui−1,j=ui,j−(∂x∂u)iΔx+O(Δx2)≈ui,j−(∂x∂u)iΔx なので,
ui+1,j−ui,j=(∂x∂u)iΔxui,j−ui−1,j=(∂x∂u)iΔx これを,それぞれ前進差分(forward difference),後退差分(backward difference)と呼ぶ.
これを用いれば,
(∂x∂u)i(∂x∂u)i==Δxui+1,j−ui,jΔxui,j−ui−1,j と微分を差分商によりΔxについて1次の精度で近似できる.
また,(1) − (2)より,
ui+1,j−ui−1,j=2(∂x∂u)iΔx+O(Δx3)≈2(∂x∂u)iΔx (∂x∂u)i=2Δxui+1,j−ui−1,j と中心(中央)差分(central difference)及びその差分商によるΔxについて2次の精度での近似が求まる.
さらに,(1) + (2)より,
ui+1,j+ui−1,j=2ui,j+(∂x2∂2u)iΔx2+O(Δx4)≈2ui,j+(∂x2∂2u)iΔx2 (∂x2∂2u)i=Δx2ui+1,j−2ui,j+ui−1,j と2階(中心)差分(2nd difference)が求まり,2階微分の係数をΔxについて2次の精度で近似できる.
ここではx方向についてのみ考えたが,y方向についても同様の議論が成り立つ.
ポアソン方程式 Poisson’s equation¶
ポアソン方程式とは
△u∇2u∂x12∂2u+∂x22∂2u+⋯+∂xn2∂2u=f=f=f(x1,x2,⋯,xn) と表現される,2階の楕円型偏微分方程式.
境界値問題となる.
例えば,静電ポテンシャルϕは電荷の分布ρに対し,
真空での誘電率をϵ0とすれば
△ϕ=−ϵ0ρ となり,ポアソン方程式になる.
ポアソン方程式を例に有限差分法を使ってみる.
今回は2次元だけを考える.
とすれば,
∂x2∂2u+∂y2∂2u=f(x,y) 空間を格子で区切り各格子点を(xi,yj),格子幅をx,y両方向ともhとしよう.
すると,
uxxuyyuxx+uyy=h2ui+1,j−2ui,j+ui−1,j+O(h2)=h2ui,j+1−2ui,j+ui,j−1+O(h2)=−h24ui,j−ui−1,j−ui,j+1−ui+1,j−ui,j−1+O(h2) よって
∂x2∂2u+∂y2∂2u=−h24ui,j−ui−1,j−ui,j+1−ui+1,j−ui,j−1+O(h2) なのでhが十分小さければh2の以上の項は無視できるので,
h24ui,j−ui−1,j−ui,j+1−ui+1,j−ui,j−1=−fi,j と離散化される.
fi,jは既知量である.よって,得られたi×j個の連立一次方程式をとけば良い.
ただし,境界領域での近似の仕方を考える必要がある.