偏微分方程式の解法(陽的差分法,陰的差分法,クランク=ニコルソン法)

 概要

 ・偏微分方程式を 陽的差分法,陰的差分方,クランク=ニコルソン法 で解きます。
  陽的差分法と陰的差分法は時間方向に関して1次精度,空間方向に関しては2次精度です。
  クランク=ニコルソン法は時間方向,空間方向双方に関して2次精度です。
 
 使い方

 ・左側のボックス(Method=)から、陽的差分法・陰的差分方・クランク=ニコルソン法を選択します。
 ・真ん中のボックス(M=)は、空間方向の分割数です。
 ・右側のボックス(N=)は、時間方向の分割数です。
 ・"step="の時間ステップ間隔でグラフを表示します。
 ・"Start"ボタンは次のような仕様になっています。
   "Start"ボタンを押す 1回目   ・・・ 初期状態が青色の曲線で描かれます。
   "Start"ボタンを押す 2回目   ・・・ 解法を適用します。このときの解は赤色の曲線で描かれ,
                          状態の時間発展が見られます。
   "Start"ボタンを押す 3回目   ・・・ リセットされます。
 例題(偏微分方程式)

   放物型偏微分方程式の中で,最も基本的である熱伝導方程式
          ∂u/∂t = κ∂^2u/∂x^2  (-5 <= x <= 5 , 0 <= t <= T)
   を解きます。ここでは κ=1 , T=1 となっています。





 捕捉:  一般に陽的差分法の場合,安定条件:
         "κk/h^2 <= 1/2"  (k=T/N,h=1/M)
      を満たすようにM,Nを選ばなければ解に振動が生じてしまいます。
      これに対し,陰的差分法,クランク=ニコルソン法は無条件安定です。

 Javaソースコード

 ・ソースコードは Copyright 表示を消さない限り,自由に使ってくださって構いません。
 ・面白い例題,あるいはコードの改良案などがありましたら,メールで山本まで教えて頂けると
  幸いです。


2004年度応用数学のページに戻る