SSブログ

ネムネコ脳内の仮想会議 [ひとこと言わねば]

ネムネコ脳内の仮想会議

 

「ネムネコ、お前、FTCSで計算するとき、計算領域の一番後ろ、どうやって計算したんだ?」

u(一番後ろ,t)=0として計算したが何か問題があるケロか?」

「そのように計算していいのか?」

「スプレッドシートの方は、表をあまり大きくしたくなかったので、計算領域の一番後ろの点をx=10としている。速度c=0.2t=50まで計算しているので、ここまで計算すると、この仮定に問題があるのは事実。

しかし、物理なんかで使う

という条件を課すと、微分方程式は

だから、

となるので、u(一番後ろ,t)=u(一番後ろ,0)=0となる。

だから、こう解いて問題はないと思うケロ。

それに、公開したスプレッドシート、あくまで、こういうふうに解けるという、計算の仕組みを説明するための、お試し版だにゃ。

記事の最後に載せたFTCSによる計算結果のグラフは、スプレッドシートのものとは異なり、計算領域をx=20まで拡大して解いたものだにゃ。ct=0.2×50=10の倍をとって計算しているから、u(20,t)=0としても、0≦x≦10の解u(x,t)に及ぼす影響はそれほど大きくないと思うケロ。それでも不安ならば、計算領域を0≦x≦100まで拡大し、このとき、この条件が計算結果にどのような影響を及ぼすか調べればいい。そして、影響を及ぼさない範囲で計算しなおせばいいだけの話だケロ。

それに、FTCSはすぐに激しく振動する数値解を出すケロ。この解はそもそも信用できないのだから、そんなに神経質になる必要はないと思うにゃ。」

――スプレッドシートではなく、プログラムを作って、x=20まで拡大して計算した結果はコチラ↓40ステップくらいまでu(20,t)=0という仮定を満たしていることがわかる。まったく影響はないとはいわないけれど、今日、公開したスプレッドシートの計算結果は概ね正しいはずだ!!現に、x=4、t=50のときのスプレッドシートによる計算値はおよそ0.86で下のグラフから読み取った値は約0.85でよく一致している。――

FTCS-002.png

 

という条件を課すのならば、

とすべきだったんじゃないか。」

「それも考えたけれども、空間微分で2次精度の中心差分と1次精度の前進差分が混在することになり、解法として一貫していないから、採用しなかったケロ。」

・・・・・・・

 



ネムネコは重箱の隅つつきが得意だから、こうした議論もおろそかにしないケロ。細心の注意を払っているにゃ(^^ゞ


数値計算をするときには、常にこうした検討を加えないといけないにゃ。他人の批判に耐えられるように備えておかないと、こういうことを質問された時に痛い目を見るケロよ。そうしておかないと、その場で火だるま、血だるまになるにゃ(^^)



nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。