# VASP20160613.pl Documentation

## 1. プログラムの動作

`VASP20160613.pl`は、VASP（Vienna Ab initio Simulation Package）を用いた計算に関連するファイルの生成、変換、修正を行うPerlスクリプトです。このスクリプトは、以下のような機能を提供します：

- VASPの入力ファイル（INCAR, POSCAR, KPOINTS, POTCAR）の生成と修正
- CIFファイルからVASPファイルへの変換
- VASPの出力ファイル（OUTCAR, CONTCAR）からCIFファイルやXSFファイルの生成
- EIGENVALファイルのマージと修正
- DOS（Density of States）データのCSVファイルへの変換
- POSCARファイルからの原子の削除
- RWIGSパラメータのチェックと修正

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このスクリプトは、以下の非標準Perlモジュールを使用しています：

- `Math::Matrix`
- `Math::MatrixReal`

これらのモジュールはCPANからインストールできます。インストールコマンドは以下の通りです：

```bash
cpan Math::Matrix
cpan Math::MatrixReal
```

また、スクリプト内で使用されているカスタムモジュール（`Deps`, `Utils`, `JFile`, `MyApplication`, `Sci::Algorism`, `Sci::GeneralFileFormat`, `Crystal::*`）は、スクリプトの実行環境に依存しているため、適切に配置されている必要があります。

## 3. 必要な入力ファイル

- `CIF`ファイル: 結晶構造情報を含むファイル。VASPの入力ファイルを生成する際に使用されます。
- `POSCAR`, `CONTCAR`, `OUTCAR`, `EIGENVAL`, `DOSCAR`, `PROCAR`などのVASP関連ファイル: これらはVASPの計算結果や入力ファイルであり、スクリプトの各機能で使用されます。

## 4. 実行後に生成される出力ファイル

- `INCAR`, `POSCAR`, `KPOINTS`, `POTCAR`: VASPの入力ファイル
- `CIF`ファイル: 結晶構造情報を含むファイル
- `XSF`ファイル: 結晶構造の可視化に使用されるファイル
- `CSV`ファイル: DOSデータを含むファイル
- `MergeEIGENVAL.sh`または`MergeEIGENVAL.bat`: EIGENVALファイルをマージするためのスクリプト

## 5. コマンドラインでの使用例 (Usage)

以下は、`VASP20160613.pl`の使用例です：

```bash
# CIFファイルからVASPの入力ファイルを生成
perl VASP20160613.pl --Action=MakeINCAR example.cif VASP_Dir

# VASPの出力ファイルからCIFファイルを生成
perl VASP20160613.pl --Action=MakeCIF VASP_Dir output.cif

# EIGENVALファイルをマージ
perl VASP20160613.pl --Action=MakeMergeEIGENVALSH VASP_Dir

# DOSデータをCSVファイルに変換
perl VASP20160613.pl --Action=MakeDOSCSV DOSCAR output.csv

# POSCARファイルから特定の原子を削除
perl VASP20160613.pl --Action=RemoveAtom VASP_Dir --iRemoveAtom=Fe1
```

このスクリプトは、VASPの計算に関連する多くのタスクを自動化するために設計されており、特定のアクションを指定することで、さまざまなファイル操作を行うことができます。