クロスアビリティ Winmostarサポートチームです。
WinmostarはQuautum ESPRESSOを簡単かつ高度に利用するための統合GUI環境となっています。学生は無料で利用でき、学生以外も無料トライアルを入手することができますので、是非 WinmostarのWebサイト をご覧ください。
#0. はじめに
第一原理計算ソフトQuantunm ESPRESSO https://www.quantum-espresso.org の入力ファイルの書き方について、複数回にわたって解説していきます。今回は第6回目です。状態密度の計算方法について解説したいと思います。
この記事では、初歩的な内容しか紹介しません。
入力ファイルの詳細について知りたい方は、マニュアル http://www.quantum-espresso.org/Doc/INPUT_PW.html をご参照下さい。
#1. 計算手順
材料の電子物性を評価するうえで、状態密度は重要な指標となります。そのため、多くの第一原理計算ソフトウェアでは状態密度を計算する機能が実装されており、Quantum ESPRESSOでは以下の3段階の手順にて計算できます。
- SCF計算
- Non-SCF計算
- 状態密度データの生成
一つ目の手順「SCF計算」は、以前の記事で紹介した通りの内容にて計算します。詳細は、https://qiita.com/xa_member/items/a098e94d633a1d29f1c0をご覧ください。SCF計算にて電子密度を決定した後、二つ目の手順として「Non-SCF計算」を実施します。Non-SCF計算では、電子密度を固定しつつ波動関数とその固有値たるバンドエネルギーを計算します。三つ目の手順では、先に計算したバンドエネルギーを用いて状態密度のデータを生成します。以降の章にて、Non-SCF計算 および 状態密度データの生成 の手順について解説します。
#2. Non-SCF計算
Non-SCF計算の実行には、SCF計算と同様に実行モジュール"pw.x"を使用します。また、入力ファイルについても、SCF計算とほぼ同様のものを用います。ただし、SCF計算の入力ファイルから、以下の 2-1. ~ 2-4. の内容を修正する必要があります。
##2-1. 基本設定
先ずは、calculationという変数に"nscf"と設定します。これを設定すると、Non-SCF計算が実施されます。必須の内容ですので、忘れずに設定して下さい。
&CONTROL
calculation = "nscf"
/
##2-2. k点サンプリング
状態密度を精度よく計算するためには、SCF計算よりも多くのk点数を考慮する必要があります。具体的には、SCF計算で使用したk点サンプリングの2倍程度の数を使用するのが望ましいです。例えば、SCF計算にて4x4x4のk点サンプリングであった場合、Non-SCF計算では8x8x8のk点サンプリングを使用します。
K_POINTS {automatic}
8 8 8 0 0 0
##2-3. バンド数
SCF計算では電子密度の最適化が目的であるため、占有バンドのみが必要となります。一方、状態密度の計算では非占有バンドの情報も重要な意味を持ちます。そこで、Non-SCF計算では非占有バンドのエネルギーを取得すべく、バンド数を多目に設定する必要があります。バンド数は、入力ファイルのnbndという変数にて設定します。SCF計算の時に使用したバンド数の1.5~2.0倍程度の値を設定すると良いです。
&SYSTEM
nbnd = 8
/
SCF計算にて使用したバンド数は、SCF計算時の出力ファイルに記載されています。以下が出力ファイルの該当箇所です。
number of atoms/cell = 2
number of atomic types = 1
number of electrons = 8.00
number of Kohn-Sham states= 4 ← SCF計算で使用したバンド数
kinetic-energy cutoff = 40.0000 Ry
charge density cutoff = 160.0000 Ry
##2-4. バンド占有数
状態密度からバンドギャップなどの値を定量的に評価するためには、バンド占有数の制御も重要になります。バンド占有数は、入力ファイルのoccupationsという変数にて設定します。Non-SCF計算の際に occupationsに設定可能な値は、"smearing"と"tetrahedra"です。
&SYSTEM
occupations = "tetrahedra"
/
"smearing"の場合には、SCF計算のときと同様に、バンドエネルギーをガウス関数などでなめします。"tetrahedra"の場合には、Tetrahedron法にて占有数を決定します。Tetrahedron法は変分原理を満たさないためSCF計算には適用できないものの、Non-SCF計算ではバンドギャップを定量的に精度よく計算できるというメリットがあります。
#3. 状態密度データの生成
Non-SCF計算が完了したら、状態密度データの生成を行います。当該の処理には、実行モジュール"dos.x"を使用します。dos.xの実行には、以下のような入力ファイルを用います。
&DOS
emax = 50.0
emin = -50.0
deltae = 0.01
/
emaxおよびeminは、それぞれ、状態密度データのエネルギー範囲の上限および下限値です。単位はeVです。上記の例では、-50eV ~ 50eV の範囲にて状態密度を生成することを意味します。deltaeは状態密度データのエネルギー刻み幅です。単位はeVです。一般に、状態密度のエネルギー範囲や刻み幅は、実際に状態密度データをプロットしてみなければ妥当な値を把握することは困難です。そのため、emax, emin, deltae については、これらの値を少しずつ変更しつつ dos.xを何度も実行し直して、トライアンドエラーにて妥当な値を模索するしかありません。しかしながら、SCFおよびNon-SCF計算に比べると状態密度データの生成処理は計算コストが極めて低いので、このトライアンドエラーにはそれほど時間は掛かりません。
dos.xの実行が完了すると、状態密度のデータは pwscf.dos というファイルに出力されます。当該ファイルには、以下のようなデータが記されます。
# E (eV) dos(E) Int dos(E)
-50.000 0.0000E+00 0.0000E+00
-49.990 0.0000E+00 0.0000E+00
-49.980 0.0000E+00 0.0000E+00
-49.970 0.0000E+00 0.0000E+00
一列目がエネルギー、二列目が状態密度の値です。三列目は、状態密度の積分値です。
今回紹介したのは、いわゆる全状態密度の計算方法です。全状態密度は、系全体の電子状態を表すものです。
次回は、全状態密度を各原子または軌道について分割した局所状態密度の計算について解説したいと思います。
なお、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計算の入力ファイルの実例