スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

本命 クランク-ニコルソン法 2/2

今回は、実際に広く用いられているという差分スキーム Crank-Nicolson法 を扱いました。
まとめると長くなるので記事は2分割。
この 2/2 では、この方法を使って熱伝導現象をシミュレートしました。

Tags : 数学 物理学 数値解析 伝熱工学
[ 問題 ]
 熱伝導方程式
  2u/∂t = α・∂2u/∂x2
 を以下の条件のもとで解く。

 初期条件 : u(x,0) = sin(πx)
 境界条件 : u(0,t) = u(1,t) = 0

計算に使った諸数値は次の通り
熱拡散率 : α = 1.18×10-4[m2/s]
xのサンプリング間隔 : ⊿x = 0.02[m]
xを分割する数 : M = 50
tのサンプリング数 : ⊿t = 0.1[s]

シミュレーション結果はこのようになりました。
温度差が1℃しかないのでなかなか冷めず。
30分間(18000ステップ)の温度変化をグラフにしました。
Crank-Nicolson法による熱伝導シミュレーション

ところで、この問題の厳密解は
u(x,t) = e2α t sin(πx)
です。

この真値と先ほど計算したシミュレーション値を比較して、相対誤差を計算してみました。
なお、縦軸の値は、xの各点での相対誤差を平均したものを表します。
経過時間-相対誤差グラフ
時間ステップが増えるにしたがって、線形に相対誤差が増えているのがわかりますね。
18000ステップ(⊿t=0.1[s]で30[min]だから)計算して相対誤差が0.07%以下ということなので、非常に精度よく計算できているといえます。
⊿tや⊿xをもっと小さく設定すると、この誤差はもっと小さくなることが期待できます。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

fura2

Author : fura2
数学・コンピュータを中心に、考えたこと・やったことを書いていきます。

誤植等を含め、間違いはご指摘いただければ幸いです。

FC2カウンター
検索フォーム
最新記事
最新コメント
最新トラックバック
月別アーカイブ
リンク
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。