« RFワールドNo.11を買った。 | トップページ | SMAPの新曲「This is love」はあまりにもマイケルジャクソンの「Black Or White」に似すぎじゃないのか? »

2010年8月 8日 (日)

拡散方程式をDormand-Prince(ルンゲクッタ8次)で計算(Excel VBAソース付き)

久々に偏微分方程式をExcel VBAで計算するシリーズ。まずは拡散方程式

∂u/∂t = D ∂^2u / ∂x^2

だ。

まずは空間部分を差分化して、

du(n, t)/dt = D * (u(n+1,t) + u(n-1,t) - 2*u(n,t)) / (Δx*Δx)

のような常微分方程式をそのままDormand&Prince(14段8次ルンゲクッタ法)で計算してみた。

さて、こういう常微分方程式をオイラー法で解くと、

D * Δt /(Δx*Δx) < 0.5

が必要で、結構刻み幅に気を使う。しかし、このDormand-Princeならば

1.2くらいにまで大きくしても全然安定。こりゃすごいな。

計算結果はこんな感じ。

Diffusion8th

ソースはこんな感じ(実用性はないけど)。

「Diffusion-8th.txt」をダウンロード

« RFワールドNo.11を買った。 | トップページ | SMAPの新曲「This is love」はあまりにもマイケルジャクソンの「Black Or White」に似すぎじゃないのか? »

学問・資格」カテゴリの記事

コメント

こんにちは。数値計算を興味深く読んでいます。
Dormand-Prince8次と書かれていますが、Fehlberg7(8)次と思っていいのでしょうか?

おっとそこに気付く人がいらっしゃるとは、、、
正式なDormand/Prince8次の係数はいわゆるdop853に記載されていますので
そちらをご参照ください。リンクはこちらです。
http://www.unige.ch/~hairer/prog/nonstiff/dop853.f

うちのは、、、途中で出典が違うことに気がついたけどめんどくさくなって
そのまま放置しているという、、、

こんばんは。早速のコメントありがとうございます。
次数の違いが気になってコメントさせて頂きました。
今後の数値計算も楽しみにしています。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/512682/48797722

この記事へのトラックバック一覧です: 拡散方程式をDormand-Prince(ルンゲクッタ8次)で計算(Excel VBAソース付き):

« RFワールドNo.11を買った。 | トップページ | SMAPの新曲「This is love」はあまりにもマイケルジャクソンの「Black Or White」に似すぎじゃないのか? »

最近のコメント

2018年11月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
フォト
無料ブログはココログ