クロスアビリティ Winmostarサポートチームです。
WinmostarはQuautum ESPRESSOを簡単かつ高度に利用するための統合GUI環境となっています。学生は無料で利用でき、学生以外も無料トライアルを入手することができますので、是非 WinmostarのWebサイト をご覧ください。
#0. はじめに
第一原理計算ソフトQuantunm ESPRESSO https://www.quantum-espresso.org の入力ファイルの書き方について、複数回にわたって解説していきます。今回は第7回目です。局所状態密度の計算方法について解説したいと思います。
この記事では、初歩的な内容しか紹介しません。
入力ファイルの詳細について知りたい方は、マニュアル http://www.quantum-espresso.org/Doc/INPUT_PW.html をご参照下さい。
#1. 計算手順
局所状態密度の計算手順は、基本的には全状態密度の計算手順 https://qiita.com/xa_member/items/7aa75304b2ce7f90c8d4 と同じです。「SCF計算」および「Non-SCF計算」を完了した後、「状態密度データの生成」を行います。全の状態密度の計算では、状態密度データの生成に実行モジュール"dos.x"を用います。一方、局所状態密度の場合には、dos.xの代わりに"projwfc.x"を使用します。
#2. Non-SCF計算における注意事項
##2-1. Tetrahedron法の使用不可
全状態密度の計算では、Tetrahedron法が利用可能でした。Non-SCF計算の入力ファイルにおける occupations = "tetrahedra" という設定が、これに該当します。残念ながら、局所状態密度の計算においては、Tetrahedron法は利用できません。Non-SCF計算の入力ファイルでは、
&SYSTEM
occupations = "smearing"
/
と設定する必要がるので、留意してください。
##2-2. 波動関数データの集約
また、全状態密度データの生成(dos.x)には、バンドエネルギーのみが入力情報となります。一方、局所状態密度データの生成(projwfc.x)では、バンドエネルギーに加えて波動関数の情報も必要となります。Quantum ESPRESSO(Ver.6.2以前)のデフォルト設定では、波動関数の情報は MPI並列のプロセス毎に入出力されます。したがって、デフォルト設定では、Non-SCF計算におけるMPI並列数をprojwfc.xにおける並列数に合致させる必要があります。これでは少々不便ですよね。そこで、全プロセスに分散された波動関数データを一か所に集約して入出力することで、この問題を回避します。具体的には、Non-
SCF計算における入力ファイルにて、
&CONTROL
wf_collect = .TRUE.
/
と設定することで、波動関数データを集約できます。Quantum ESPRESSOのVer.6.3以降では、デフォルトで wf_collect = .TRUE. なので当該の設定は不要です。
#3. 状態密度データの生成
Non-SCF計算が完了したら、実行モジュール"projwfc.x"を用いて局所状態密度のデータを生成します。projwfc.xの実行には、以下のような入力ファイルを用います。
&PROJWFC
emax = 50.0
emin = -50.0
deltae = 0.01
/
dos.x(全状態密度のデータ生成)の場合と同様の設定内容になります。emaxおよびeminは、それぞれ、状態密度データのエネルギー範囲の上限および下限値です。deltaeは状態密度データのエネルギー刻み幅です。
projwfc.xを実行すると、各原子・各軌道に対して局所状態密度のデータが生成されます。当該データは、原子および軌道の組み合わせ毎に個別のファイルに出力されます。ファイル名は、pwscf.pdos_atm#原子番号(原子名)_wfc#軌道番号(軌道名) です。例えば、1番目のSi原子のp軌道の場合、ファイル名は pwscf.pdos_atm#1(Si)_wfc2(p) となります。ここで、原子番号は、SCFおよびNon-SCF計算における入力ファイルのATOMIC_POSITIONSで指定した順番を意味します。当該ファイルには、以下のようなデータが記されます。
# E (eV) ldos(E) pdos(E) pdos(E) pdos(E)
-6.331 0.348E-10 0.293E-10 0.273E-11 0.273E-11
-6.321 0.580E-10 0.474E-10 0.529E-11 0.529E-11
-6.311 0.967E-10 0.764E-10 0.102E-10 0.102E-10
-6.301 0.161E-09 0.123E-09 0.193E-10 0.193E-10
-6.291 0.270E-09 0.197E-09 0.363E-10 0.363E-10
-6.281 0.451E-09 0.316E-09 0.676E-10 0.676E-10
一列目が、エネルギーです。三列目以降が、軌道毎の状態密度です。p軌道の場合には、pz, px, py の3つデータがそれぞれ、三列目、四列目、五列目に出力されます。二列目は、全軌道の状態密度の総和です。この例では、三列目と四列目と五列目の値の和が、二列目に出力されます。p, d, f軌道について、球面調和関数の出力順番は下表の通りです。
軌道 | 出力順番 |
---|---|
p | z, x, y |
d | z2, xz, yz, x2-y2, xy |
f | z3, xz2, yz2, zx2-zy2, xyz, x3-3xy2, 3yx2-y3 |
また、スピン分極DFTの場合には、同ファイル内に上向きスピンと下向きスピンのデータが別々に出力されます。
次回は、結晶のバンド構造計算について解説したいと思います。
なお、Winmostarを利用するとQuautum ESPRESSOをGUI上から簡単かつ高度に活用することができます。学生は無料で利用でき、学生以外も無料トライアルを入手することができますので、是非 WinmostarのWebサイト をご覧ください。
Quantum ESPRESSO入力ファイル作成手順シリーズ
1.結晶構造の作成
2.SCF計算の設定
3.擬ポテンシャルファイルの選択方法
4.原子座標のみの最適化
5.格子ベクトル及び格子内部の原子座標の最適化
6.状態密度の計算
7.局所状態密度の計算
8.バンド構造の計算
9.バンド数の設定
10.van der Waals相互作用
11.LDA+U法
12.NEB法
13.Phonon計算(特定q点)
14.Phonon計算(バンド構造)
15.擬ポテンシャルの作成
16.擬ポテンシャルのテスト
17.SCF計算の入力ファイルの実例