vasp_plot_band プログラム仕様

VASP計算によるバンド構造をプロットするスクリプト。

概要:

VASPの計算結果(OUTCAR, EIGENVAL, KPOINTSなど)からバンド構造を読み込み、 matplotlibを使用してプロットし、関連するバンドデータをCSV/Excelファイルに保存します。

詳細説明:

本スクリプトは、指定されたVASP計算ディレクトリから必要な出力ファイルを解析し、 バンドエネルギー、K点情報、フェルミ準位、バンドギャップなどを抽出します。 抽出された情報に基づいて、バンド構造のグラフを作成し、 選択されたモード('band', 'bandline', 'bandocc')に応じて描画方法を調整します。 プロットされたグラフはPNGファイルとして保存でき、バンドデータはCSVまたはExcel形式で出力されます。

関連リンク:

vasp_plot_band.py 技術ドキュメント

VASP.vasp_plot_band.main()[ソース]

スクリプトのメイン処理を実行します。

詳細説明:

コマンドライン引数に基づいてグローバル変数を更新し、 指定されたプロットモード (mode) に応じてバンド構造のプロット関数を呼び出します。 無効なモードが指定された場合はエラーで終了します。

パラメータ:

なし

戻り値:

なし

VASP.vasp_plot_band.plot_band_structure(mode, CAR_dir, Emin, Emax)[ソース]

VASPの計算結果からバンド構造をプロットし、関連データを保存します。

詳細説明:

指定されたVASP計算ディレクトリ (CAR_dir) から、INCAR, POSCAR, KPOINTS, CONTCAR, OUTCAR, EIGENVAL, DOSCAR などのファイルを読み込み、 結晶構造情報、計算パラメータ、K点情報、バンドエネルギー、占有率、フェルミ準位、 バンドエッジ(HOMO/LUMO/価電子帯最大値/伝導帯最小値)を抽出します。 これらの情報を用いてmatplotlibでバンド構造のグラフを描画し、 指定されたモード ('band', 'bandline', 'bandocc') に応じてマーカーや線種を調整します。 プロット後、バンド構造データを`band_path`で指定されたファイルに保存し、 `save_figure`が`True`の場合はPNG画像としてグラフを保存します。 `plot_figure`が`True`の場合はグラフウィンドウを表示します。

:param : param mode: str - プロットモード ('band', 'bandline', 'bandocc')。 :param : param CAR_dir: str - VASPの計算結果が格納されているディレクトリのパス。 :param : param Emin: float - プロットするエネルギー範囲の下限 (eV)。 :param : param Emax: float - プロットするエネルギー範囲の上限 (eV)。

戻り値:

なし

VASP.vasp_plot_band.save_bandstructure(band_path, ISPIN, kvec, Eup, Edn)[ソース]

バンド構造データをCSVまたはExcelファイルに保存します。

詳細説明:

K点情報 (kvec) と各バンドのエネルギー情報 (Eup, Edn) を整理し、 指定されたパス (band_path) にCSVまたはExcel形式で出力します。 ISPINが2(スピン偏極計算)の場合、スピンダウンのエネルギーも保存します。

:param : param band_path: str - 出力ファイルのパス (例: 'band.xlsx', 'band.csv')。 :param : param ISPIN: int - スピン偏極計算の有無 (1: スピン非偏極, 2: スピン偏極)。 :param : param kvec: list - 各k点の座標と距離情報を含むリスト。各要素は [kx, ky, kz, dk, ktot]。 :param : param Eup: list - 各k点におけるスピンアップ電子のバンドエネルギーのリスト。

Eup[ik][iL]ik 番目のk点の iL 番目のバンドエネルギー。

:paramparam Edn: list - 各k点におけるスピンダウン電子のバンドエネルギーのリスト。

Edn[ik][iL]ik 番目のk点の iL 番目のバンドエネルギー。 ISPIN=1の場合は空のリスト。

戻り値:

returns: bool - ファイル保存が成功した場合は True

VASP.vasp_plot_band.updatevars()[ソース]

コマンドライン引数からグローバル変数を更新します。

詳細説明:

sys.argvから引数を読み込み、modeCAR_dirEF0EminEmaxocc_thsave_figure`plot_figure`といったグローバル変数を更新します。 無効なモードが指定された場合は、エラーメッセージを表示してスクリプトを終了します。

パラメータ:

なし (sys.argvから引数を読み込む)

戻り値:

なし

VASP.vasp_plot_band.usage()[ソース]

スクリプトの使用方法を表示します。

詳細説明:

コマンドライン引数として指定可能なモードと引数の例を出力します。 無効なモードが選択されている場合は、デフォルトのモードに設定されます。

パラメータ:

なし

戻り値:

なし