カテゴリー: 第1回 非定常拡散方程式
第1-3回では非定常拡散方程式を解き、結果を表示するプログラムを書きました。 見る分にはそれで構いませんが、その結果を保存したい場合、次の2文を加えると保存ができます。 この文はコードの先頭につけ足します。 この文は「ani = animation.ArtistAnimation(fig, ims, interval=10)」の次に書き加えます。xxx には保存したいファイル名を書いてください。 これでgifファイルが作成されます。 by hide
今回は境界条件が少し違う場合を行います。今回の条件は下記になります。 $$\left(\frac{\partial u}{\partial x}\right)_{wall} = \alpha$$ つまり境界における勾配を\(\alpha\)にするというわけです。この勾配\(\alpha\) を用いると、次のような問題を解くことに相当します。 “長さ1.0 mの物体があり、その中心部で100 Kとなる分布を持っています。両端で断熱壁とします。その時の温度分布は時間とともにどのようになっていくでしょうか。” 断熱壁とは温度の出入りがない壁のことです。つまり断熱壁では温度勾配が常に生まれません。そのため、境界条件は次の通りになります。 $$.....
数値解析において用いる行列は対角行列に近いです。対角成分とその前後の対角部分でできています。 今回の目標は非定常拡散方程式における境界条件も加味した下記の様なn行×n列の行列を作ることとします。 $$ \left[\begin{array}{cccccc}1&0& & &&\\ c&1-2c&c && &\\ & \ddots &\ddots &\ddots &&\\ && \ddots &\ddots& \ddots &\\ && &c&1-2c&c \\ &.....
$$\frac{\partial u(t,x)}{\partial t}=D\frac{\partial^2 u}{\partial x^2}$$ 前回は具体的な5個の点を用いて離散化し、下記の行列に変形しました。 $$\left[\begin{array}{r}u_0^{n+1} \\ u_1 ^{n+1} \\u_2 ^{n+1} \\u_3 ^{n+1} \\u_4 ^{n+1} \end{array}\right]=\left[\begin{array}{ccccc}1-2c&c&0&0&0 \\ c&1-2c&c&0&0 \\ 0&c&1-2c&c&0 .....
$$\frac{\partial u(t,x)}{\partial t}=D\frac{\partial^2 u}{\partial x^2}$$ 前回の離散化の方法を上記の非定常拡散方程式に当てはめます。 $$\left(\frac{\partial u}{\partial t} \right)_i\approx\frac{u^{n+1}_i-u^n_i}{\Delta t}$$ $$ \left( D\frac{\partial^2 u}{\partial x^2} \right)_i\approx D\frac{u^n_{i+1}-2u^n_i+u^n_{i-1}}{\Delta x^2}$$ ここで、nは時間ステップ、iは空間ステップです。つまり、\.....