# VASP2BoltzTraP.pl Documentation

## 1. プログラムの動作

`VASP2BoltzTraP.pl`は、VASP（Vienna Ab initio Simulation Package）から出力されたデータをBoltzTraP（Boltzmann Transport Properties）形式に変換するためのPerlスクリプトです。このスクリプトは、VASPの出力ファイルからバンド構造情報を読み取り、WIEN2k形式のエネルギーデータを生成します。また、BoltzTraPで使用するための入力ファイルを作成します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このスクリプトは、以下の非標準Perlモジュールを使用しています。これらのモジュールは、スクリプトの冒頭で`use`文を通じてインポートされています。

- `Utils`
- `MyApplication`
- `Crystal::VASP`
- `Crystal::WIEN2k`
- `Sci`

これらのモジュールは、Perlの標準ライブラリには含まれていないため、手動でインストールする必要があります。インストール方法は、通常、CPAN（Comprehensive Perl Archive Network）を使用しますが、これらのモジュールがCPANに存在しない場合は、ソースコードを手動で取得してインストールする必要があります。

```bash
# CPANを使用してインストールする場合
cpan install Utils
cpan install MyApplication
cpan install Crystal::VASP
cpan install Crystal::WIEN2k
cpan install Sci
```

## 3. 必要な入力ファイル

このスクリプトは、以下のVASP出力ファイルを入力として使用します。

- `INCAR`: VASPの入力ファイル
- `EIGENVAL`: バンド構造情報を含むVASPの出力ファイル
- `OUTCAR`: VASPの計算結果を含む出力ファイル

## 4. 実行後に生成される出力ファイル

スクリプトの実行後、以下の出力ファイルが生成されます。

- `<Title>.struct`: WIEN2k形式の構造ファイル
- `<Title>.energy`: WIEN2k形式のエネルギーファイル
- `<Title>.intrans`: BoltzTraP用の入力ファイル
- `<Title>.bxsf`: バンド構造情報を含むファイル

ここで、`<Title>`は入力ディレクトリ名に基づいて決定されます。

## 5. コマンドラインでの使用例 (Usage)

以下は、このスクリプトをコマンドラインから実行する際の使用例です。

```bash
perl VASP2BoltzTraP.pl --Action=all /path/to/vasp/output
```

- `--Action`: 実行するアクションを指定します。オプションは`all`、`MakeKPOINTS`、`CalBands`、`MakeBXSF`、`ViewFS`です。
- `/path/to/vasp/output`: VASPの出力ファイルが格納されているディレクトリのパスを指定します。

このスクリプトは、指定されたディレクトリ内のVASP出力ファイルを処理し、BoltzTraPで使用するためのファイルを生成します。