# Phonopy.pl Documentation

## 1. プログラムの動作

`Phonopy.pl`は、VASP（Vienna Ab initio Simulation Package）とPhonopyを使用したフォノン計算のための設定ファイルを生成するPerlスクリプトです。このスクリプトは、以下のアクションを実行するためのコマンドラインオプションを提供します：

- `MakePhonopyINCAR`: Phonopy用のVASPのINCARファイルを生成します。
- `MakeGOnlyKPOINTS`: G点のみの計算用のVASP KPOINTSファイルを生成します。
- `MakeKPOINTSforSPOSCAR`: Phonopyによって生成されたSPOSCAR用のVASP KPOINTSファイルを生成します。
- `MakeMeshConf`: Phonopy用のmesh.confファイルを生成します。
- `MakePDOSConf`: Phonopy用のpdos.confファイルを生成します。
- `MakeBandConf`: Phonopy用のband.confファイルを生成します。
- `MakeBORN`: Phonopyの非解析項補正のためのBORNファイルを生成します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このスクリプトは、以下の非標準Perlモジュールを使用しています：

- `MyApplication`
- `Utils`
- `Crystal::VASP`

これらのモジュールは、Perlの標準ライブラリには含まれていないため、手動でインストールする必要があります。これらのモジュールは、特定のディレクトリに配置されている可能性があるため、スクリプトの`BEGIN`ブロックで`@INC`に追加されています。これらのモジュールのインストール方法は、モジュールの提供元に依存します。

## 3. 必要な入力ファイル

- `OUTCAR`: VASPの出力ファイルで、BORNファイル生成時に使用されます。
- `phonopy-verbose.out.txt`: Phonopyの詳細出力ファイルで、BORNファイル生成時に使用されます。
- `CAR`ファイル: 構造情報を含むファイルで、様々な設定ファイル生成時に使用されます。

## 4. 実行後に生成される出力ファイル

- `INCAR`: VASPの入力ファイル。
- `KPOINTS`: VASPのK点情報を含むファイル。
- `mesh.conf`: Phonopy用のメッシュ設定ファイル。
- `pdos.conf`: Phonopy用のPDOS設定ファイル。
- `band.conf`: Phonopy用のバンド設定ファイル。
- `BORN`: Phonopyの非解析項補正用のファイル。

## 5. コマンドラインでの使用例 (Usage)

以下は、`Phonopy.pl`の使用例です：

```bash
perl Phonopy.pl --Action=MakePhonopyINCAR --PhonopyTarget=VASP --ENCUT=520 --EDIFF=1.0e-8 --ISMEAR=0 --SIGMA=0.01 --CARDir=./
```

このコマンドは、Phonopy用のVASPのINCARファイルを生成します。その他のアクションについても、`--Action`オプションを変更することで実行できます。各アクションには、必要に応じて追加のオプションを指定することができます。