スポンサーサイト

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

2次元熱伝導方程式の数値解析(簡単な場合)

2次元の熱伝導方程式
∂u/∂t = α・( ∂2u/∂x2 + ∂2u/∂y2 )
を差分法で解いてみました。

2010/02/17

Tags : 数学 物理学 数値解析 伝熱工学
安定条件に気を配ること以外、数値はでたらめ。
連続関数uを離散化したものをudと書くことにします。

[諸数値]
温度伝導率 α=0.5
時間間隔 ⊿t=0.1
x方向の位置間隔 ⊿x=0.5
y方向の位置間隔 ⊿y=0.5
x方向のサンプリング数 M=64
x方向のサンプリング数 N=64

[FTCSスキームによる差分方程式(陽的解法)]
ud(xi,yj,tn+1)
= (1-2p-2q)・u(xi,yj,tn)
 + p・{ ud(xi+1,yj,tn) + ud(xi-1,yj,tn) }
 + q・{ ud(xi,yj+1,tn) + ud(xi,yj-1,tn) }
p := α・⊿t/(⊿x^2)
q := α・⊿t/(⊿y^2)


[安定条件]
⊿x=⊿yのときは p=q≦1/4
そうでないときは知らない。

[計算領域]
矩形(正方形)
0≦x≦(M-1)⊿x
0≦y≦(N-1)⊿y
[初期条件]
u(x,y,0)=1 (境界以外)
u(x,y,0)=0 (境界上)

[境界条件]
u(x,0,t)=0
u(0,y,t)=0
u((M-1)⊿x,0,t)=0
u(0,(N-1)⊿y,t)=0
つまり、矩形の縁では常に0。


以上の条件でシミュレーションしました。プログラムは自前。
x,y,tと変数が3つあるので、結果を可視化するにはアニメーションで表示するしかないけれども、アニメーションを作るのが手間なので、t=50 の場合(⊿t=0.1だから500step目)だけ載せます。z軸がudの値。
ちなみに、画像出力はScilab先生にお任せ。

スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

fura2

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

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

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