らんだむな記憶

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

波動方程式の数値解析

金子先生の本数値計算講義 (ライブラリ数理・情報系の数学講義) | 金子 晃 | 本 | Amazon.co.jpをちょっと見てみたら波動方程式について載っていた。これは図書館で借りるとかするしかないな!金子先生の守備範囲は広いので著書を見ると色んな方面のがある。

\begin{equation}
\frac{\partial^2}{\partial t^2} u(t,x) = \frac{\partial^2}{\partial x^2} u(t,x)
\end{equation}

を1次元の波動方程式としよう。なんだかLaplacianにとらわれていたが、2階微分の差分化は空間変数だろうと時間変数だろうと関係ないので、

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

としてしまえば良い。これを移項すると、

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

となる。$\lambda = \frac{\Delta t}{\Delta x}$とでも置くと、

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

となる。時間と空間の解像度を同じくらいにすれば、こんな感じの漸化式になるので、いつものノリで数値解析すれば良いようだ。(これはこれで、何で時間と空間の解像度を低数倍くらいで保持させるのかよく分からんところはあるが...)

そう言えば、熱方程式の場合、$\frac{(\Delta x)^2}{2 \Delta t} = D^\prime (= \frac{D}{2})$を適当な値で保たせたままで解析を行わせた。熱方程式の数値解析(2) - らんだむな記憶ではミスって$D^\prime = 1$相当の数値解析をしてしまって、解が振動してしまったが、そういうものらしい。要するに正しく発散してしまったのだ。$D^\prime \le \frac{1}{2}$では解が安定するが、$D^\prime > \frac{1}{2}$では不安定となり発散するそうだ。不思議なもんだ。
熱方程式の数値解析(3) - らんだむな記憶での解析ではまさに境界値の$D^\prime = \frac{1}{2}$を使ったことになる。

数値解析は難しいなぁ...。