らんだむな記憶

blogというものを体験してみようか!的なー

熱方程式の数値解析(1)

あー - らんだむな記憶以来、熱方程式の初期値問題を解かせたかったが、色々やっているうちに後回しになっていた。

ということで、差分方程式で熱方程式を書きたい。Laplacianの差分化については、Taylorの定理により、$\mathbb{R}^1$上のそこそこ滑らかな函数$u$に対しては、
\begin{align}
u(x + h) &= u(x) + u^\prime (x) h + \frac{1}{2} u^{\prime\prime} (x) h^2 + O(h^3) \\
u(x - h) &= u(x) - u^\prime (x) h + \frac{1}{2} u^{\prime\prime} (x) h^2 + O(h^3) \\
\end{align}

が成立することを利用する。よって両辺を足し合わせて、
\begin{equation}
u^{\prime\prime} (x) = \frac{u(x + h) + u(x - h) - 2 u(x)}{h^2} + \frac{O(h^3)}{h^2}
\end{equation}

を得る。よって、$h$が十分に小さければ、
\begin{equation}
u^{\prime\prime} (x) \approx \frac{u(x + h) + u(x - h) - 2 u(x)}{h^2}
\end{equation}

となる。これを1次元のLaplacianとして用いれば良い。

よって、
\begin{equation}
\frac{u(t + \Delta t, x) - u(t, x)}{\Delta t} = \frac{u(t, x + \Delta x) + u(t, x - \Delta x) - 2 u(t, x)}{(\Delta x)^2}
\end{equation}

を解かせてみよう。なんか見落とし(特に$(\Delta x)^2 / \Delta t$の比とか)がある気もしないではないが、ちょっとこの辺、素朴にやって様子を見てみたい。

―――――・・・

やっぱり見落としがあった。というか気になっていたことそのものだったが。
偏微分方程式的な、というか物理的なアプローチではFourierの法則というやつを用いて熱方程式を導出する。
それとは別に確率論的なアプローチでランダムウォークを用いた導出がある。この場合、
\begin{equation}
\frac{(\Delta x)^2}{\Delta t} = D > 0 \hspace{5em} (1)
\end{equation}

という設定のもとで極限をとることで熱方程式を導く。
この場合、導かれる式は
\begin{equation}
\frac{\partial}{\partial t}u(t, x) = D \frac{\partial^2}{\partial x^2} u(t, x)
\end{equation}

の形になる。(※後日訂正したが、右辺の係数として更に$\frac{1}{2}$をかけないと対応した差分方程式にならない)
この仮定(1)を置かずに数値解を求めてみたりしたら、解がどんどん増幅したりしてしまいうまくいかないのだ。

簡単のため$D = 1$として、

\begin{equation}
u(t + \Delta t, x) - u(t, x) = u(t, x + \Delta x) + u(t, x - \Delta x) - 2 u(t, x)
\end{equation}

を差分方程式として、これについて数値解析を行えば良いことになる。(※こちらも右辺を$\frac{1}{2}$倍する必要がある)

なお、確率論的な熱方程式の導出については手元の本であまり細かく書いているのもなく、以下のpdfを参考にした。数値解析の方面のもののようだ。有限要素法についても書いてあるから、そのうちゆっくり読んでみるかな。
http://www2.kaiyodai.ac.jp/~takenawa/app-analysis/app-analysis.pdf