はじめに
Quantum ESPRESSOパッケージにprojected (partial) density of states (PDOS)を計算するprojwfc.x
というプログラムがあります。
うまく実行できないことがあったのですが、その原因は些細なことでした。些細なことなので忘れてしまって同じことを繰り返しそうなので、ここに記載しておきます。機会があればtipsの一つとしてまとめたいと思います。
問題
- 計算を実行すると終了はするが、PDOSがすべてNaNになる
- 出力ファイルに計算された重みなどは出力されるが、PDOSが出力されずに計算がstuckしてしまう(qsubファイルに指定した実行時間が来て異常終了してしまう)。
解決策
- 並列計算を行わない(新しいバージョンのQEであればSCF/NSCF計算と異なるプロセス数でPDOSの計算は実行可能です。古いバージョンであれば
wf_collect=.true.
とする必要があるでしょう。PDOSの計算は単純なので1プロセスでもほぼ問題無く計算は実行できるようです)
ただtrickyなのはSmearingを用いた計算の場合には並列計算をしても問題無かったのにtetrahedron法を用いるとstuckしてしまったことです。ISSPのohtakaの場合、thread並列でもstuckしてしまいました。このあたりは詳しく調べる必要があります。
おわりに
実はこの問題のおかけで論文にまで発展したかもしれない計算/プロジェクトがお蔵入りしてしまいました。そのようなことを繰り返さないように、ちょっとした間違いは記録して検索を可能にしておくのが良いようです。