# `vasp_defect20240425.py` Documentation

## 1. プログラムの動作

`vasp_defect20240425.py`は、VASP（Vienna Ab initio Simulation Package）によって生成されたデータを使用して、半導体のキャリア密度とフェルミレベルを計算するプログラムです。このプログラムは、特に欠陥の影響を考慮したキャリア密度の計算に焦点を当てています。主な機能は以下の通りです：

- VASPの出力ファイル（DOSCAR、EIGENVAL、OUTCARなど）を読み込み、バンドエッジやフェルミレベルを計算します。
- 欠陥の形成エネルギーをExcelファイルから読み込み、欠陥の影響を考慮したキャリア密度を計算します。
- フェルミレベルの変化に対するキャリア密度の変化を計算し、プロットします。
- 温度変化に対するキャリア密度の変化を計算し、プロットします。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このプログラムは以下の非標準ライブラリを使用しています：

- `numpy`
- `scipy`
- `matplotlib`
- `tklib`（カスタムライブラリ）

インストールコマンドは以下の通りです：

```bash
pip install numpy scipy matplotlib
```

`tklib`はカスタムライブラリであり、通常のパッケージマネージャーではインストールできません。`tklib`のソースコードが必要であり、適切なディレクトリに配置する必要があります。

## 3. 必要な入力ファイル

プログラムの実行には以下の入力ファイルが必要です：

- `INCAR`, `POSCAR`, `POTCAR`, `OUTCAR`, `DOSCAR`, `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ファイル。

## 5. コマンドラインでの使用例 (Usage)

プログラムはコマンドラインから以下のように実行します：

### フェルミレベル依存性の計算

```bash
python vasp_defect20240425.py EF [min|all] <dH_path> <CAR_path> <CAR_path_defect> <iPoint> <T(electron)> <T(defect)> <EF(defect)> <EFmin> <EFmax> <nEF>
```

例：

```bash
python vasp_defect20240425.py EF min input.xlsx . . 0 300 300 eq -0.2 0.2 101
```

### 温度依存性の計算

```bash
python vasp_defect20240425.py T <dH_path> <CAR_path> <CAR_path_defect> <iPoint> <T(defect)> <Tmin> <Tmax> <nT>
```

例：

```bash
python vasp_defect20240425.py T input.xlsx . . 0 300 300 600 11
```

このプログラムは、VASPの出力を解析し、欠陥の影響を考慮したキャリア密度の計算を行うための強力なツールです。