# `vasp_ef.py` プログラムドキュメント

## 1. プログラムの動作

`vasp_ef.py` は、VASP (Vienna Ab initio Simulation Package) の出力ファイル `DOSCAR` を基に、半導体のキャリア密度とフェルミレベルを計算するプログラムです。このプログラムは、与えられた温度範囲またはフェルミレベル範囲におけるキャリア密度の変化を解析し、結果をグラフとして表示します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このプログラムは以下の非標準ライブラリを使用しています：

- `numpy`
- `scipy`
- `matplotlib`
- `tklib` (カスタムライブラリ)

これらのライブラリは、以下のコマンドでインストールできます：

```bash
pip install numpy scipy matplotlib
```

`tklib` はカスタムライブラリであり、通常のパッケージマネージャーではインストールできません。`tklib` のインストール方法は、提供元のドキュメントを参照してください。

## 3. 必要な入力ファイル

- `DOSCAR` または `TotalDOS-SnSe.dat`: VASP によって生成された DOS (Density of States) データファイル。
- `POSCAR`: VASP の構造情報ファイル。

## 4. 実行後に生成される出力ファイル

プログラムは直接ファイルを生成しませんが、計算結果をグラフとして表示します。必要に応じて、グラフを保存することができます。

## 5. コマンドラインでの使用例 (Usage)

プログラムはコマンドライン引数を使用して実行されます。以下に使用例を示します：

### 温度依存性の解析

```bash
python vasp_ef.py T <CAR_path> <DOSCAR_path> <Tmin> <Tmax> <nT>
```

例:

```bash
python vasp_ef.py T . TotalDOS-SnSe.dat 300 600 11
```

### フェルミレベル依存性の解析

```bash
python vasp_ef.py EF <CAR_path> <DOSCAR_path> <nEF> <EF0> <T0>
```

例:

```bash
python vasp_ef.py EF . TotalDOS-SnSe.dat 50 0.2 300
```

引数の詳細は以下の通りです：

- `<CAR_path>`: VASP の計算ディレクトリパス。
- `<DOSCAR_path>`: DOS データファイルのパス。
- `<Tmin>`, `<Tmax>`: 温度範囲 (K)。
- `<nT>`: 温度ステップ数。
- `<nEF>`: フェルミレベルステップ数。
- `<EF0>`: 初期フェルミレベル (eV)。
- `<T0>`: 初期温度 (K)。