vasp_correction_VBM プログラム仕様

VASP.vasp_correction_VBM.VBM_correction(mode, CAR_path1, CAR_path2, Emin, Emax, Rmin_vacancy, Rmin_potential)[ソース]

VASP計算結果に基づきVBM補正量を計算し、DOSプロットを調整します。

理想結晶と欠陥結晶のVASP計算結果(POSCAR, OUTCAR, DOSCAR, EIGENVAL)を読み込みます。 スーパーセル倍率の推定、欠陥サイトの特定、各原子サイトのコアポテンシャル差分(Vdiff)の計算を行います。 mode`('mode'または'average')に応じて、コアポテンシャル差分の分布の最頻値または平均値を `dEVBM`として決定します。この際、`dVth`(コアポテンシャル差分の閾値)を考慮して対象サイトを選別します。 計算された`dEVBM、バンドエッジ情報、欠陥情報などをサマリーファイルに保存します。 DOSカーブをガウス関数でスムージングし、欠陥モデルのDOSを`dEVBM`でエネルギーシフトして、 理想モデルと比較プロットします。また、コアポテンシャルとコアポテンシャル差分 vs 欠陥からの距離のグラフもプロットします。

パラメータ:
  • mode -- str: VBM補正量決定アルゴリズム ('mode'または'average')。'mode'は最頻値を、'average'は平均値を使用します。

  • CAR_path1 -- str: 理想結晶モデルのVASP計算ディレクトリパス。

  • CAR_path2 -- str: 欠陥結晶モデルのVASP計算ディレクトリパス。

  • Emin -- float: プロットの最小エネルギー (eV)。

  • Emax -- float: プロットの最大エネルギー (eV)。

  • Rmin_vacancy -- float: 空孔と判断するための最小原子間距離 (Å)。この距離よりも離れている場合、空孔と見なされます。

  • Rmin_potential -- float: サイトポテンシャル計算で考慮する、欠陥からの最小距離 (Å)。この距離よりも近いサイトは、 コアポテンシャル差分(dVBM)の計算から除外されます。

戻り値:

None: 計算結果をファイルに出力し、グラフ表示を行います。

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

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

updatevars()`を呼び出してグローバル変数を初期化・更新します。 ログファイルとサマリーファイルのパスを決定し、標準出力をログファイルにもリダイレクトします。 指定されたモード (`mode) に応じて VBM_correction 関数を呼び出し、VBM補正計算を実行します。 不正なモードが指定された場合はエラーで終了します。

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

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

sys.argv`を解析し、`mode, CAR_dir1, CAR_dir2, dVth, Wg, Rmin_vacancy, Rmin_potential, Emin, Emax, defect_position, `WG_DOS`などのグローバル設定値を更新します。 不正な`mode`が指定された場合はエラーで終了します。

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

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

コマンドライン引数の形式と、各引数の意味について説明します。