のらりくらり

物理化学分野のポスドクです。プログラミング、読書、自転車などが好きです。

VASPで計算したバンド構造の可視化のためのスクリプト

固体のバンド構造計算をこれまでは主にQuantum Espressoというフリーのコードを使って行っていたのですが、最近、少々vaspを利用した計算を行っていました。

vaspでバンド構造を計算すると、EIGENVALというファイルが作成されて、そこに各k点での固有値が記録されます。 このファイルを何らかのツールを使って可視化する必要があるわけですが、検索してみると主に出てくるのはp4vaspというプログラムを利用する、というもののようです。

しかし、p4vaspはなんだかバンド図の見た目がイケてない上に、磁性を考慮した場合にどうもupとdownのスピンのバンドを別々にカラーリングする方法がわからず、バンド図の可視化には使いづらいように思えました。 そこで、gnuplotによる可視化向けにEIGENVALSファイルを読み込んで整形するスクリプトRubyで作成しました。

github.com

本当はここに結果を載せたいのですが、一応vaspはライセンスの縛りがあるので、ここに結果のグラフを載せるのは避けておきます。

使い方は、EIGENVALSのあるディレクトリで、

ruby read_eigenvals.rb -n (各kpathの点の数)

とするだけです。オプションを適当に渡せば、スピンを考慮した計算結果のファイルや、gnuplot用のスクリプトも一緒に作成します。