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補正計算を実行します。 不正なモードが指定された場合はエラーで終了します。