free_electron_band プログラム仕様
- Quantum.free_electron_band.cal_E(k, Ghkl)
- 概要:
k点座標と逆格子ベクトルから自由電子のエネルギーを計算する(単位: eV)。
- 詳細説明:
kおよびGhklは内部座標系で与える。
- 引数:
- param k:
k点の内部座標 [kx, ky, kz]
- type k:
list
- param Ghkl:
逆格子ベクトル [h, k, l]
- type Ghkl:
list
- 戻り値:
- returns:
計算されたエネルギー値 (eV)
- rtype:
float
- Quantum.free_electron_band.cal_kdistance(rg, k0, k1)
- 概要:
逆格子の計量テンソルを用いて、2つのk点間の距離を計算する。
- 引数:
- param rg:
逆格子の計量テンソル(3x3行列)
- type rg:
list or numpy.ndarray
- param k0:
始点のk点座標 [kx, ky, kz]
- type k0:
list
- param k1:
終点のk点座標 [kx, ky, kz]
- type k1:
list
- 戻り値:
- returns:
2点間の距離
- rtype:
float
- Quantum.free_electron_band.get_cal_Elist(xkvec, hrange, krange, lrange)
- 概要:
計算用k点リストと逆格子ベクトルの範囲から、各k点でのエネルギーリストを計算する。
- 引数:
- param xkvec:
計算を行うk点座標 [kx, ky, kz] のリスト
- type xkvec:
list
- param hrange:
逆格子ベクトルhの計算範囲 [最小値, 最大値]
- type hrange:
list
- param krange:
逆格子ベクトルkの計算範囲 [最小値, 最大値]
- type krange:
list
- param lrange:
逆格子ベクトルlの計算範囲 [最小値, 最大値]
- type lrange:
list
- 戻り値:
- returns:
各k点におけるエネルギー群が格納された入れ子リスト
- rtype:
list
- Quantum.free_electron_band.get_cal_klist(klist, nk)
- 概要:
指定されたk点軌跡から、等間隔になるように計算用のk点リストを生成する。
- 詳細説明:
プロットに必要な累積距離リストやk点名称などのデータもあわせて作成する。
- 引数:
- param klist:
バンド構造をプロットするk点の軌跡リスト
- type klist:
list
- param nk:
プロットするk点数の概数
- type nk:
int
- 戻り値:
- returns:
xk, xkvec, ktotallist, ktotal_namelist, res のタプル。 xkは各計算k点の累積距離リスト。 xkvecは各計算k点の座標リスト。 ktotallistは区切りとなるk点の累積距離リスト。 ktotal_namelistは区切りとなるk点の名称リスト。 resは距離情報や分割数情報を持つ辞書。
- rtype:
tuple
- Quantum.free_electron_band.get_dklist(klist, nk)
- 概要:
プロットするk点軌跡の各距離と、最初のk点からの累積距離リストを計算する。
- 詳細説明:
バンド構造プロット用に、k点の名称リストも合わせて生成する。
- 引数:
- param klist:
[kx, ky, kz, 名称] の形式を持つk点の軌跡リスト
- type klist:
list
- param nk:
プロットするk点の概算数
- type nk:
int
- 戻り値:
- returns:
dklist, ktotal_list, ktotal_namelist, ktotal のタプル。 dklistは各k点間の距離リスト。 ktotal_listは最初のk点からの累積距離リスト。 ktotal_namelistはk点の名称リスト。 ktotalは累積距離の合計。
- rtype:
tuple
- Quantum.free_electron_band.getarg(position, defval=None)
- 概要:
起動時のコマンドライン引数を安全に取得する。
- 詳細説明:
sys.argvに対して範囲外のインデックスを指定してもエラー終了せず、デフォルト値を返す。
- 引数:
- param position:
取得したい引数のインデックス
- type position:
int
- param defval:
範囲外アクセス時に返すデフォルト値
- type defval:
Any
- 戻り値:
- returns:
取得した引数の文字列、またはデフォルト値
- rtype:
str or Any
- Quantum.free_electron_band.getfloatarg(position, defval=None)
- 概要:
起動時引数を取得し、実数に変換して返す。
- 引数:
- param position:
取得したい引数のインデックス
- type position:
int
- param defval:
範囲外アクセス時や変換失敗時に返すデフォルト値
- type defval:
Any
- 戻り値:
- returns:
変換された実数値、またはデフォルト値
- rtype:
float or Any
- Quantum.free_electron_band.getintarg(position, defval=None)
- 概要:
起動時引数を取得し、整数値に変換して返す。
- 引数:
- param position:
取得したい引数のインデックス
- type position:
int
- param defval:
範囲外アクセス時や変換失敗時に返すデフォルト値
- type defval:
Any
- 戻り値:
- returns:
変換された整数値、またはデフォルト値
- rtype:
int or Any
- Quantum.free_electron_band.main()
- 概要:
自由電子バンド計算のメインルーチン。
- 詳細説明:
格子定数やプロットパラメータを設定し、k点のリストとエネルギーを計算して matplotlibを用いてバンド図を描画する。
- 戻り値:
- returns:
なし
- rtype:
None
- Quantum.free_electron_band.pfloat(str)
- 概要:
文字列を実数値に変換する。
- 詳細説明:
実数値に変換できない文字列をfloat()で変換するとエラーになってプログラムが終了するため、 この関数は変換できなかったらNoneを返すが、プログラムは終了させない。
- 引数:
- param str:
変換元の文字列
- type str:
str
- 戻り値:
- returns:
変換された実数値、変換できない場合はNone
- rtype:
float or None
- Quantum.free_electron_band.pint(str)
- 概要:
文字列を整数値に変換する。
- 詳細説明:
pfloat()と同様に、変換できない文字列が渡されてもエラー終了させずNoneを返す。
- 引数:
- param str:
変換元の文字列
- type str:
str
- 戻り値:
- returns:
変換された整数値、変換できない場合はNone
- rtype:
int or None
- Quantum.free_electron_band.plot_band(axis, xk, yE, Erange, ktotallist, ktotal_namelist)
- 概要:
計算した自由電子のバンド構造をグラフにプロットする。
- 引数:
- param axis:
matplotlibのAxesオブジェクト
- type axis:
matplotlib.axes.Axes
- param xk:
プロットするk点の累積距離のリスト
- type xk:
list
- param yE:
各k点に対応するエネルギーのリスト(入れ子でも可)
- type yE:
list
- param Erange:
プロットするエネルギーの表示範囲 [最小値, 最大値]
- type Erange:
list
- param ktotallist:
k点境界における、最初のk点からの距離の和のリスト
- type ktotallist:
list
- param ktotal_namelist:
k点境界における、k点の名称のリスト
- type ktotal_namelist:
list
- 戻り値:
- returns:
なし
- rtype:
None
- Quantum.free_electron_band.terminate(message=None)
- 概要:
メッセージを表示し、プログラムを安全に終了する。
- 詳細説明:
任意のメッセージと使用方法を表示した上で exit() を呼び出す。
- 引数:
- param message:
終了前に表示する文字列(Noneの場合は表示しない)
- type message:
str or None
- 戻り値:
- returns:
なし
- rtype:
None
- Quantum.free_electron_band.usage()
- 概要:
プログラムの使用方法を表示する。
- 詳細説明:
コンソール上に使い方のメッセージを出力する。
- 戻り値:
- returns:
なし
- rtype:
None