5. 物質のインプットファイルを新たに作成する

構造が分かっている物質について新たにインプットファイルを作成し、scf 計算するまでの過程を紹介します。

5.1. pseudopotential ファイルの用意

まず、物質に含まれる元素のpseudopotentialファイルを用意します。 pseudopotentialは作成することも可能ですが、適切なpseudopotentialを作成することはかなり難しい作業なので ここでは用意されているpseudopotentialを選択することにします。

注釈

quantum ESPRESSO がオリジナルで用意している pseudopotential を作成するためのプログラムは ld1.x です。 他にも、ultrasoft の pseudopotential をつくるなら uspp を利用し、それを ESPRESSO 用に変換することもできます。 また、abinit など他のプログラム用の pseudopotential を ESPRESSO 用に変換するコードも用意されています。

ESPRESSO の pseudopotential ダウンロード用のページ http://www.quantum-espresso.org/pseudopotentials/ に行くとほとんどの元素に対して pseudopotential が用意されていることがわかります。

また、ESPRESSO の公式ページ以外にもあらゆる元素に対するpseudopotentialを用意するプロジェクトとして GBRVpslibray などがあります。 いろいろなpseudopotentialの比較をしている SSSP のページなども参考になるでしょう。

まず、最初に交換相関汎関数のタイプを何にするか決めます。これは物質中の全ての元素に対して共通のものを選ばなければいけません。 典型的なものとしては

  • LDA: Perdew-Zunger (PZ)

  • GGA: Perdew-Burke-Ernzerhof (PBE)

などがあります。

他には Pseudopotential type として Norm 保存か、Ultrasoft か、PAW かなどを選択します。 計算する内容によっては PAW はサポートされていないということもあるので注意して下さい。 一般に Norm 保存より Ultrasoft や PAW の方が cutoff エネルギーが小さくてすみます。

重い元素の場合は相対論効果をどう扱うかも重要になります。 全く考慮しない(non relativistic)、相対論的な補正を入れる(スピン軌道相互作用を含まない)(scalar relativistic)、スピン軌道相互作用まで含めた相対論効果を取り込む(full relativistic) の3つのオプションがあります。

また、Nonlinear core correction を入れるかどうか、内核の電子を価電子として扱うかどうか、などのオプションもあります。

置いてあるファイルが対象としている物質のバンド構造をうまく再現する pseudopotential である保証はどこにもありません。 非磁性の場合にしかうまくいかない pseudopotential ファイルなどもありますので、利用に際しては細心の注意を払って下さい。 単原子結晶での物性を再現するかどうか確認する、全電子コード(Wien2k, elkなど)の結果と比較する、などの検証方法があります。

5.2. 結晶構造の入力

ibrav でブラベ格子を選択し、celldm(1)-celldm(6)で必要なパラメータを入力します。

次に、原子位置をATOMIC_POSITIONSの後に入力します。原子位置の座標の取り方は4種類あり、INPUT_PW.html から抜粋すると

  • alat : atomic positions are in cartesian coordinates, in units of the lattice parameter "a" (default)

  • bohr : atomic positions are in cartesian coordinate, in atomic units (i.e. Bohr)

  • angstrom: atomic positions are in cartesian coordinates, in Angstrom

  • crystal : atomic positions are in crystal coordinates, i.e. in relative coordinates of the primitive lattice vectors

となります。 例えばCIFファイルからインプットをつくる場合は crystal を使うとCIFファイルの値をそのまま利用することができます。

この結晶構造の入力は一番間違えやすいところの一つですので、充分にチェックする必要があります。 チェック方法としては、計算結果の出力から

  • stress, force の出力が異常に大きな値になっていないか

  • scf 計算が異常に遅くなっていないか

などを確認するとよいでしょう。実際、構造を間違えると scf 計算が収束しない、ということがしばしば起こります。

また、目で見て確認する方法として、 XCrysden というソフトで ESPRESSO のインプットを直接可視化することができます。 インプットファイル名が material.scf.in だとすると

xcrysden --pwi material.scf.in

で可視化できます。

cif ファイルがある場合、 cif2cell のような cif ファイルを自動的にespresso のインプットに変換するプログラムを利用することもできます。

5.3. その他のパラメータの調整

収束のチェックの章でも議論したように、カットオフエネルギーやk 点メッシュ、smearing などを調整し、計算時間と必要な計算精度に合わせたパラメータを決定して下さい。