# `vasp_defect.py` Documentation

## 1. プログラムの動作

`vasp_defect.py`は、VASP（Vienna Ab initio Simulation Package）によって生成されたデータを使用して、半導体のキャリア密度とフェルミレベルを計算するプログラムです。具体的には、VASPの出力ファイル（DOSCAR、EIGENVALなど）を解析し、欠陥の形成エネルギーやキャリア密度の温度依存性、フェルミレベルの変化を計算します。プログラムは、与えられた温度範囲やフェルミレベル範囲におけるキャリア密度や欠陥密度を計算し、結果をExcelファイルやグラフとして出力します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このプログラムは、以下の非標準ライブラリを使用しています：

- `tklib`：カスタムライブラリで、VASPデータの解析や数値計算、グラフ描画に使用されます。
- `numpy`：数値計算ライブラリ。
- `scipy`：科学技術計算ライブラリ。
- `matplotlib`：グラフ描画ライブラリ。
- `tkinter`：GUIライブラリ。

インストールコマンド（`tklib`はカスタムライブラリのため、インストール方法は不明）：

```bash
pip install numpy scipy matplotlib
```

## 3. 必要な入力ファイル

プログラムの実行には、以下の入力ファイルが必要です：

- `INCAR`：VASPの入力ファイル。
- `POSCAR`：VASPの構造ファイル。
- `POTCAR`：VASPのポテンシャルファイル。
- `OUTCAR`：VASPの出力ファイル。
- `DOSCAR`：VASPの密度状態ファイル。
- `EIGENVAL`：VASPの固有値ファイル。
- `input.xlsx`：欠陥の形成エネルギーを含むExcelファイル。

## 4. 実行後に生成される出力ファイル

プログラムの実行後、以下の出力ファイルが生成されます：

- `-out-<point>.txt`：計算結果のログファイル。
- `-N-EF-<point>.xlsx`：フェルミレベルに対するキャリア密度のExcelファイル。
- `-dH-EF-all-<point>.xlsx`：全ての遷移レベルのExcelファイル。
- `-dH-EF-min-<point>.xlsx`：最小遷移レベルのExcelファイル。
- `-T-<point>.xlsx`：温度に対するキャリア密度のExcelファイル。

## 5. コマンドラインでの使用例 (Usage)

プログラムはコマンドラインから以下のように実行します：

### フェルミレベル依存性の計算

```bash
python vasp_defect.py EF [min|all] <dH_path> <CAR_path> <CAR_path_defect> <iPoint> <T(electron)> <T(defect)> <EF(defect)> <EFmin> <EFmax> <nEF>
```

例：

```bash
python vasp_defect.py EF min input.xlsx . . 0 300 300 eq -0.2 0.2 101
```

### 温度依存性の計算

```bash
python vasp_defect.py T <dH_path> <CAR_path> <CAR_path_defect> <iPoint> <T(defect)> <EF(defect)> <Tmin> <Tmax> <nT>
```

例：

```bash
python vasp_defect.py T input.xlsx . . 0 300 eq 300 600 11
```

このプログラムは、VASPの出力を解析し、半導体のキャリア密度やフェルミレベルの変化を計算するための強力なツールです。