2008-12

目次

◆Date:2008年12月
≪ Prev. ALL

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

シュレディンガー方程式の数値計算 その4

2007年9月13日の記事「シュレディンガー方程式の数値計算 その3」で考えた事を確認する時間が持てたのでその報告をしておこうと思う。 要点は二つ

(1)励起状態のエネルギーが精度良く求まらないのは波動関数を評価するxの値が小さすぎる事が原因であった。 前回のプログラムではx=3(プログラム中ではmpoint=3という箇所)で波動関数を求めてその振舞いからエネルギー固有値を決定していたが、今回はx=10で評価することにした。 その結果エネルギー固有値の誤差が小さくなった。

(2)原点で初期条件を与えてx>0での波動関数を求める際のNDSolveの精度に関して。
マスマティカのデェフォルトの設定ではあまり精度が良くないが、AccuracyGoalとPrecisionGoalをいじればこの問題は解決する。その際、エラーメッセージがでてWorkingPrecisionも同時に上げることを要求される場合もある。 ところがあまり精度を上げると、私の書いたschrodinger codeでは計算時間がかかり過ぎる。 ルンゲ・クッタによる波動関数の解法はエネルギー固有値を一定を刻み幅で変えながら何度も繰り返すために、一回のルンゲ・クッタに時間がかかりすぎると辛い。 
結果的にルンゲ・クッタの精度は本質じゃなかったのでAccuracyGoal->10,PrecisionGoal->10で設定しておけば十分なようだ。

この2点を改善し、調和振動子の数値計算のやり直してみた。 出力が以下。

全文を表示 »

スポンサーサイト

«  | HOME |  »

CATEGORIES

RECENT ENTRIES

RECENT COMMENTS

RECENT TRACKBACKS

APPENDIX

アトム 

アトム 

趣味   近所散策と物理

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。