5 1次元熱方程式を試す

(2017/12/4加筆: この節のプログラムは、作った当時は*もちろん*全部動いてい たのだけど、今では動かなくなったものが多い。 Python3 バージョンの方のプログラム http://nalab.mind.meiji.ac.jp/~mk/labo/text/python/はこれより新しくて今でも動くようだ。 次を参照: https://stackoverflow.com/questions/11874767/real-time-plotting-in-while-loop-with-matplotlib)


桂田研では毎度おなじみの,熱伝導方程式の初期値境界値問題

(1)   $\displaystyle u_{t}(x,t)=u_{xx}(x,t)$   ( $ (x,t)\in(0,1)\times(0,\infty)$ )$\displaystyle ,$
(2)   $\displaystyle u(0,t)=u(1,t)=0$   ( $ t\in(0,\infty)$ )$\displaystyle ,$
(3)   $\displaystyle u(x,0)=f(x)$   ($ x\in[0,1]$ )

を差分法で解け,というプログラム。$ f$ は与えられた関数で, 以下のプログラムでは,次のように決め打ち。

$\displaystyle f(x):=\min\{x,1-x\}
=\left\{
\begin{array}{ll}
x & \texttt{($x\in[0,1/2]$)}\\
1-x & \texttt{($x\in(1/2,1]$)}.
\end{array} \right.
$

数値計算環境の個人的な評価をするために便利だと思っている。 差分方程式,連立1次方程式,グラフィックスをその環境でどう実現するか, 自分の頭を働かせることになるので。

事前の考えでは

叩き台はこれまで書いた C プログラム (「どこでも1次元熱方程式の差分法シミュレーション」)。 今回作る Python プログラムもそのうちそちらに書き足すのだろう。



Subsections
桂田 祐史
2017-12-10