```markdown
# make_md_history.py Documentation

## 1. プログラムの動作
`make_md_history.py`は、VASP（Vienna Ab initio Simulation Package）のMD（分子動力学）出力ファイルを解析し、XCrySDen AXSFファイル形式に変換するプログラムです。このプログラムは、VASPの出力ファイルから結晶構造情報を読み取り、初期および最終の結晶構造をCIFファイルとして出力し、履歴データをCSVファイルに記録します。さらに、平均二乗変位（MSD）または積分MSD（iMSD）を計算し、出力します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法
このプログラムは、`tklib`という非標準ライブラリに依存しています。このライブラリは、Pythonの標準パッケージインデックス（PyPI）には存在しないため、ソースコードからインストールする必要があります。`tklib`のソースコードを入手し、以下の手順でインストールしてください。

```bash
# tklibのソースコードをダウンロードし、解凍したディレクトリに移動してから
python setup.py install
```

## 3. 必要な入力ファイル
- `OUTCAR`: VASPの出力ファイルで、MDシミュレーションの結果が含まれています。
- `INCAR`, `POSCAR`, `CONTCAR`: VASPの入力および出力ファイルで、シミュレーションの設定や結晶構造情報が含まれています。

## 4. 実行後に生成される出力ファイル
- `<sample_name>-initial.cif`: 初期結晶構造を記録したCIFファイル。
- `<sample_name>-final.cif`: 最終結晶構造を記録したCIFファイル。
- `<sample_name>-history.csv`: シミュレーション履歴を記録したCSVファイル。各ステップの時間、温度、エネルギー、格子パラメータ、体積、MSD/iMSDが含まれます。

## 5. コマンドラインでの使用例 (Usage)
プログラムはコマンドラインから以下のように実行します。

```bash
python make_md_history.py <mode> <outcar_path>
```

- `<mode>`: `msd`または`imsd`を指定します。`msd`は標準の平均二乗変位を計算し、`imsd`は積分MSDを計算します。
- `<outcar_path>`: VASPの`OUTCAR`ファイルのパスを指定します。

### 使用例
```bash
python make_md_history.py msd OUTCAR
```

このコマンドは、`OUTCAR`ファイルを解析し、MSDを計算して結果を出力します。
```