# `vasp_correction_charge.py` Documentation

## 1. プログラムの動作

`vasp_correction_charge.py` は、VASP（Vienna Ab initio Simulation Package）を用いて計算されたデータを基に、帯電欠陥および双極子相互作用の補正を推定するプログラムです。このプログラムは、以下の手順で動作します：

- 指定されたディレクトリから VASP の出力ファイル（OUTCAR, INCAR, POSCAR, POTCAR）を読み込み、必要な情報を抽出します。
- 電子およびイオンの誘電率定数を計算し、全体の誘電率を求めます。
- 欠陥モデルと理想モデルの情報を基に、帯電欠陥のエネルギー補正を計算します。
- 計算結果をサマリーファイルに保存します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このプログラムは、以下の非標準ライブラリを使用しています：

- `numpy`
- `scipy`
- `matplotlib`
- `tklib`（カスタムライブラリ）

インストールコマンドは以下の通りです：

```bash
pip install numpy scipy matplotlib
```

`tklib` はカスタムライブラリであり、通常のパッケージマネージャーではインストールできません。ソースコードが提供されている場合は、手動でインストールする必要があります。

## 3. 必要な入力ファイル

プログラムの実行には、以下のディレクトリが必要です：

- `CAR_IDIPOL_dir`: 帯電欠陥モデルのディレクトリ（IDIPOL=4）
- `CAR_DIEL_el_dir`: 電子誘電率定数のディレクトリ
- `CAR_DIEL_ion_dir`: イオン誘電率定数のディレクトリ
- `CAR_charge_dir`: 欠陥電荷のディレクトリ

各ディレクトリには、VASP の出力ファイル（OUTCAR, INCAR, POSCAR, POTCAR）が含まれている必要があります。

## 4. 実行後に生成される出力ファイル

プログラムの実行後、以下のファイルが生成されます：

- `charge_correction-out.txt`: ログファイル
- `charge_correction-summary.prm`: 計算結果のサマリーファイル

これらのファイルは、`CAR_IDIPOL_dir` に保存されます。

## 5. コマンドラインでの使用例 (Usage)

プログラムは以下のように実行します：

```bash
python vasp_correction_charge.py CAR_IDIPOL_dir CAR_DIEL_el_dir CAR_DIEL_ion_dir CAR_charge_dir
```

例：

```bash
python vasp_correction_charge.py ./idipol_dir ./diel_el_dir ./diel_ion_dir ./charge_dir
```

このコマンドは、指定されたディレクトリから必要なファイルを読み込み、帯電欠陥の補正を計算します。