# `vasp_plot_epsilon.py` Documentation

## 1. プログラムの動作
`vasp_plot_epsilon.py`は、VASP（Vienna Ab initio Simulation Package）によって生成された`OUTCAR`ファイルから光学誘電関数をプロットするPythonスクリプトです。このプログラムは、指定されたエネルギー範囲内での実部および虚部の誘電関数を読み取り、プロットします。プロットされたデータは、`epsilon.xlsx`というExcelファイルに保存されます。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法
このプログラムは、以下の非標準ライブラリを使用しています。

- `numpy`
- `scipy`
- `matplotlib`
- `tklib`（カスタムライブラリ）

これらのライブラリは、以下のコマンドでインストールできます。

```bash
pip install numpy scipy matplotlib
```

`tklib`はカスタムライブラリであり、通常のパッケージマネージャーではインストールできません。`tklib`のインストール方法は、ライブラリの提供元の指示に従ってください。

## 3. 必要な入力ファイル
- `OUTCAR`: VASPによって生成された出力ファイルで、誘電関数のデータが含まれています。

## 4. 実行後に生成される出力ファイル
- `epsilon.xlsx`: 誘電関数のデータが保存されたExcelファイル。

## 5. コマンドラインでの使用例 (Usage)
プログラムは以下の形式で実行します。

```bash
python vasp_plot_epsilon.py mode CAR_dir Emin Emax
```

- `mode`: 誘電関数の計算モードを指定します。`density`または`current`のいずれかを指定します。
- `CAR_dir`: `OUTCAR`ファイルが存在するディレクトリを指定します。
- `Emin`: プロットするエネルギーの最小値（eV）。
- `Emax`: プロットするエネルギーの最大値（eV）。

### 使用例
```bash
python vasp_plot_epsilon.py density . 0.0 8.0
```

この例では、現在のディレクトリにある`OUTCAR`ファイルを使用して、エネルギー範囲0.0 eVから8.0 eVの間で`density`モードの誘電関数をプロットします。