next up previous
Next: 8.7 中村圭佑『2次元発展問題の可視化』 Up: 8 2007年度卒研 Previous: 8.5 木村茂晴『Javaによる円盤領域での熱方程式の可視化』


8.6 久保田祥史『S-W近似によって様々な領域の熱方程式を解く』

2006年度の金子君は、 参考に出来るものがほとんどない状態で一定の成果をあげたが、 見通しのよいものでなかったので、 久保田君はまずはそこを整理するところから始める必要があった。 決して大きな一歩とは言えないが、着実な前進が出来たと評価したい。

問題とする領域 $ \Omega$ に対して、

$\displaystyle \Omega\subset D:=[$xmin$\displaystyle ,$xmax$\displaystyle ]
\times[$ymin$\displaystyle ,$ymax$\displaystyle ]
$

と仮定し、$ D$ を等間隔格子で分割する。

条件

$\displaystyle F(x,y)
\left\{
\begin{array}{ll}
>0 & \mbox{($(x,y)\in\Omega$)...
...\\
<0 & \mbox{($(x,y)\in D\setminus\overline{\Omega}$)}
\end{array} \right.
$

を満たす関数 $ F\colon D\to\R$ を用意し、 これをプログラム中に組み込むことによって、領域 $ \Omega$ を指定する。

また 4つの関数 $ E\colon \Omega\to\R$ , $ W\colon \Omega\to\R$ , $ S\colon \Omega\to\R$ , $ N\colon \Omega\to\R$ を次のように定義する (東西南北 (east-west-south-north) から命名したのだろう)。

(数学的には、条件を満たす $ F$ が1つ与えられれば、 $ E$ , $ W$ , $ S$ , $ N$ は決まってしまうわけだが、 具体的にどう計算するかは決して自明でないので、 プログラム中で別途与えることにしたわけである。)

-- こうして、ほぼ F(), E(), W(), S(), N() と いう5つの関数を用意するだけで、 新しい問題が解けるようになるのは非常に面白いのみならず、 実用面でも大きな期待が持てるものである。 特にトポロジーが長方形領域と異なる領域の問題を解くプログラムがすいすい書 けるのは、正直新鮮な驚きであった。

レポートは http://nalab.mind.meiji.ac.jp/~mk/labo/report/open/2007-kubota.pdfで、プログラムも http://nalab.mind.meiji.ac.jp/~mk/labo/report/open/2007-kubota-prog.lzhで公開中である。


next up previous
Next: 8.7 中村圭佑『2次元発展問題の可視化』 Up: 8 2007年度卒研 Previous: 8.5 木村茂晴『Javaによる円盤領域での熱方程式の可視化』
桂田 祐史
2015-12-24