規則的なグリッド上で値が定義されている場合と、不規則なグリッドの場合
で違いますが、規則的な場合について。
幅DXのグリッドで空間が分割されているとすると、
Δf(x,y,z) = (6f(x,y,z)-f(x-1,y,z)-f(x+1,y,z)-f(x,y-1,z)-f(x,y+1,z)-f(x,y,z-1)-f(x,y,z+1))/DX^2
と差分で表されます。Δf(x,y,z) =A(x,y,z) を解く場合、グリッドの数をNとするとN変数の連立一次
方程式になります。Lf=A。この行列LとベクトルAを一次方程式を解くルーチンにぶっこんでfを求めます。
三次元のグリッドに1からNまで番号を付け、その順にA(x,y,z)を並べたものがベクトルA,行列Lは対角要素Lii
は点iに隣接する点の数(普通は6,境界だと少ない)/DX^2, 非対角要素Lijは点iと点jが隣接していれば-1/Dx^2、
それ以外は0です。ほとんどの要素が0の疎行列なので、それをうまく格納するフォーマットを選びます。
ほとんどの一次方程式を解くルーチンはそういうフォーマットに対応しています。
不規則なグリッドの場合はガラーキン法などを使います(詳しくは書きません)
http://d.hatena.ne.jp/keyword/%A5%E9%A5%D7%A5%E9%A5%B7%A5%A2%A5%...
ご回答有難うございます。
ご回答有難うございます。