• 締切済み

熱伝導方程式を差分法で解くプログラム

前回熱伝導方程式の差分法の解き方について質問させて頂いたものです。 https://sp.okwave.jp/qa/q9363032.html 回答ありがとうございました。おかげさまで差分法で解くプログラムを書くことができました。 書けたのは良いのですが、間違っている可能性が大きいです。 私の考えでは、安定性条件を満たしていれば dt,dxを小さくすればするほど、収束温度は変わらず計算精度が高くなっていくと思ったのですが、 私の書いたプログラムではdxdtの値を変えると収束温度まで変わってしまいます。 プログラムに関しても初心者なので説明が難しいのですが、やはり収束温度が値によって変わるということはプログラムがどこか間違っているということでしょうか。 度々すみませんが、回答いただけるとありがたいです。よろしくお願いいたします。

みんなの回答

  • f272
  • ベストアンサー率46% (8468/18130)
回答No.1

同じ時刻で同じ場所を比較しているのなら,計算誤差はあるかもしれないが,同じ解になるはずです。 でも本当に同じ時刻で同じ場所を比較しているのですか?例えばdt=1のときの1000ステップ目はdt=0.1のときの10000ステップ目ですよ。

aaa776
質問者

補足

回答ありがとうございます。 比較していたのはdt,dxを変化させた時の i=1(T[1][j])の温度変化です。 dt=1、dx=0.1にすると1000度に収束し、 dt=0.1、dx=0.01にすると100度に収束しました。 比較の仕方が間違っているのでしょうか…これが謎で… 理想では1000度に収束したままでdt,dxを小さくするほど温度の上がり方が変わるといいなと思っていました。 ちなみにプログラムはmathematicaで作ったのですが、もう一度比較方法を確認してみます!

関連するQ&A