pw1d プログラム仕様

このスクリプトは、一次元の周期ポテンシャルにおける電子のバンド構造や波動関数を平面波基底を用いて計算します。

概要:

フーリエ変換されたポテンシャルを利用してハミルトニアン行列を構築し、固有方程式を解くことで エネルギーバンドや波動関数係数を求めます。

詳細説明:
  1. 周期ポテンシャル(長方形またはガウス型)を空間領域で構築します。

  2. FFTを用いてポテンシャルを逆格子空間へ変換します。

  3. 指定された数の平面波基底(G点)を用いて、各波数 k におけるハミルトニアン行列を構築します。

  4. 対角化により固有エネルギー(バンド)と固有ベクトル(波動関数係数)を算出します。

  5. 得られた係数を用いて、実空間での波動関数および電荷密度を合成・可視化します。

関連リンク: pw1d.py 技術ドキュメント

jsap_crystal.pw1d.build_potential(xmin, xstep, n, pottype, a, bwidth, bpot)[ソース]

指定された範囲でポテンシャルプロファイルを構築します。

jsap_crystal.pw1d.cal_fft(na, a, ypot)[ソース]

ポテンシャルのフーリエ変換を計算し、逆格子空間の形式に整理します。

jsap_crystal.pw1d.find_Vft(dij, iGlist, yft0)[ソース]

指定された逆格子座標 dij に対応するフーリエ成分を返します。

jsap_crystal.pw1d.getarg(position, defval=None)[ソース]

コマンドライン引数を安全に取得します。

jsap_crystal.pw1d.main()[ソース]
jsap_crystal.pw1d.pfloat(s)[ソース]

文字列を浮動小数点数に安全に変換します。

jsap_crystal.pw1d.pint(s)[ソース]

文字列を整数に安全に変換します。

jsap_crystal.pw1d.pot_func(x, pottype, a, bwidth, bpot)[ソース]

一次元周期ポテンシャルを計算します。 :param x: 位置 [A] :param pottype: 'rect' または 'gauss' :param a: 格子定数 [A]

jsap_crystal.pw1d.reduce_range(x, x0)[ソース]

実数値 x を周期 x0 の範囲 [0, x0) に収めます。

jsap_crystal.pw1d.run_band(config)[ソース]

バンド構造の計算とプロット

jsap_crystal.pw1d.solve_pw(Glist, yft0, nG, k, a)[ソース]

平面波基底を用いたハミルトニアンの対角化。