VASPKITによる前処理・後処理
VASPKITは、VASP入出力(POSCAR/OUTCAR/DOSCAR/PROCAR/CHGCAR/LOCPOT/WAVECAR/vasprun.xml など)に対して、定型操作をタスク番号としてまとめた前処理・後処理ツールである。人手で行いがちなファイル生成と可視化用データ作成を、再現性のある手順へ寄せることが主目的である。
参考ドキュメント
- VASPKIT公式ドキュメント(Features, Tutorials, Installation, Changelog) https://vaspkit.com/
- Wang et al., VASPKIT: A user-friendly interface facilitating high-throughput computing and analysis using VASP code, Computer Physics Communications 267, 108033 (2021) https://doi.org/10.1016/j.cpc.2021.108033
- (日本語)HPCシステムズ Tech Blog, VASP:事前/事後処理に使うソフトウェアの紹介(VASPkitを含む) https://www.hpc.co.jp/tech-blog/2020/12/29/vasp_softwares/
1. 位置づけ
- 目的
- 入力準備:構造の整形、対称性解析、スーパーセル変換、k点メッシュやk経路の生成などを、手作業から解放する
- 出力解析:DOS/バンド/フェルミ面、電荷密度・スピン密度・差分、局所ポテンシャル、光学応答、輸送・有効質量などの“いつもの解析”を定型化する
- 利用形態
- 対話型(メニューでタスク番号を選ぶ)
- コマンドライン運用(多数系・多数条件の一括処理に向く)
2. 原理
VASPKITの基本動作は「(A) 入力ファイル群を解釈し、(B) 幾何・対称性・電子状態の派生量を計算/抽出し、(C) 可視化・外部ツール向けの形式へ再配置する」という3段で整理できる。
2.1 入力の解釈
- 構造:POSCAR/CONTCARから格子・原子種・座標を読み、標準化や変換を行う
- 電子状態:EIGENVAL/PROCAR/DOSCAR/OUTCAR/vasprun.xml などから、固有値・射影成分・DOS・フェルミ準位等を取り出す
- 実空間量:CHGCAR/LOCPOT/ELFCAR/WAVECAR などから、実空間グリッド上の密度・ポテンシャル・波動関数情報を取り出し、断面化・平均化・エクスポートを行う
2.2 代表的な演算の型
- 生成:KPOINTSや各種入力テンプレートを、対称性とユーザ指定の分解能(resolution)に基づいて生成する
- 抽出:DOSやバンドなどの既出力データを再整形し、プロットや外部可視化へ渡す
- 変換:スーパーセル化、座標系の再配向、2Dスラブのz方向整列など、同じ物理を別表現へ写す
- 平均化:面平均(planar average)や線平均(linear average)、マクロ平均(macroscopic average)により、情報を目的の次元へ縮約する
3. インストールと運用
- 配布形態は主に実行バイナリである
- 典型的な運用は以下である
- VASPKITをPATHの通る場所に置く
- 作業ディレクトリ(VASP入出力がある場所)で vaspkit を実行
- タスク番号を選び、必要なパラメータ(分解能、対象元素・原子、エネルギー範囲など)を入力
メモ:
- 解析は「ファイルが揃っていること」が前提である。たとえば射影DOSや射影バンドは、VASP側の出力設定により必要ファイルが生成されていないと成立しない。
- 出力はgnuplot向けテキストや、Xcrysden/FermiSurfer向け形式(例:フェルミ面)など、周辺ツールへ繋ぎやすい形を取ることが多い。
4. 機能マップ
以下は、日常解析で出番の多いタスク群の要約である。番号は「覚える」というより「探す索引」として使うのがよい。
| 目的 | 代表タスク例 | 得られるもの(例) | 典型入力 |
|---|---|---|---|
| DOS(全体/射影) | 111–116, 118–120 | total DOS, element/orbital PDOS, LDOS | DOSCAR, PROCAR, EIGENVAL |
| バンド(射影含む) | 211–216 | band, element/atom/orbital投影band | EIGENVAL, PROCAR |
| ハイブリッド用k点/バンド | 251–253 | SCF用kメッシュ+0-weightのk経路KPOINTS等 | POSCAR, KPATH.in等 |
| バンドアンフォールディング | 281–285 | EBS、射影EBS | WAVECAR, PROCAR等 |
| フェルミ面 | 261–267 | 可視化用フェルミ面データ | EIGENVAL等(用途依存) |
| 電荷密度・差分 | 310–318 | 断面、面平均、差分、経路上1D | CHGCAR/PARCHG |
| 局所ポテンシャル | 420, 426–427 等 | 断面、面平均、マクロ平均 | LOCPOT |
| 波動関数の実空間化 | 511–516 | 波動関数(または二乗)の実空間データ | WAVECAR |
| 磁気の派生量 | 621 など | MAEなどの補助解析 | OUTCAR等 |
| スピンテクスチャ | 651–653 | SOC計算由来のスピンテクスチャ | SOC関連出力 |
| 光学応答・JDOS | 710–717 | 誘電関数、JDOS、遷移双極子など | vasprun.xml, WAVECAR等 |
| 有効質量・フェルミ速度 | 912–917 等 | m*、フェルミ速度 | バンド近傍情報 |
5. 解析ワークフロー
5.1 緩和→静的計算→DOS/バンド
- 構造最適化(relax)
- 収束後のCONTCARを次段へ引き継ぐ
- 静的SCF(高精度)
- 磁性体は初期磁気モーメントと収束挙動を重視する
- DOS
- VASPKITでtotal DOSと元素別PDOSを整形し、元素・軌道寄与を俯瞰する
- バンド
- 対称点経路を生成し、バンドと射影バンドで状態の由来(元素・軌道)を確認する
5.2 ポテンシャル差・電荷差で“局所の変化”を見る
- 置換・欠陥・界面などで、CHGCAR差分(314など)やLOCPOTの面平均(426/427など)を比較する
- スラブ系では真空準位を基準にしたバンド端の整理(2D関連タスク)へ繋げやすい
6. 注意点
- 出力ファイル依存を意識する
- 解析したい量に対応するVASP出力が生成されているかを最初に確認する(特にPROCAR/WAVECAR/LOCPOT/vasprun.xml)
- 金属のDOSはスミアリング設定に敏感である
- DOSがギザつく場合、VASP側パラメータやk点密度を疑う(VASPKITは“整形”はしても“物理的不足”を埋めない)
- 投影の解釈は万能ではない
- 原子球・射影基底・混成の強さにより、PDOSや投影バンドの見え方は変わる。比較では条件を揃える
- タスク番号は版で増減し得る
- 同じ目的でも、最新版ではより直接的なタスクが追加されている場合があるため、機能一覧(Features)と変更履歴(Changelog)を参照する
7. 周辺ツール
- VASPKIT:入力生成と“定番解析”の省力化、外部可視化用ファイルの準備
- 可視化:VESTA, Xcrysden, FermiSurfer, gnuplot, matplotlib等
- 大規模自動化:py系列(pymatgen/ase/pyprocar等)と役割が被る部分もあるが、VASPKITは対話型・定型化の速さが強い
まとめ
- VASPKITは、VASPの入出力に対する前処理・後処理をタスク番号として整理し、計算から解析までの手順を標準化する道具である。
- 実務では、DOS/バンド/フェルミ面、電荷密度・ポテンシャルの断面化と平均化、波動関数・光学量の補助解析が特に有用である。
- 解析の成否は、VASP側の出力設定と計算条件の妥当性に強く依存するため、VASPKITは“結果の整形器”として位置づけ、物理の前提チェックと併用するのがよい。