偏微分方程式の解法(陽的差分法,陰的差分法,クランク=ニコルソン法)
概要
・偏微分方程式を 陽的差分法,陰的差分方,クランク=ニコルソン法 で解きます。
陽的差分法と陰的差分法は時間方向に関して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年度応用数学のページに戻る