クロスアビリティ Winmostarサポートチームです。
WinmostarはQuautum ESPRESSOを簡単かつ高度に利用するための統合GUI環境となっています。学生は無料で利用でき、学生以外も無料トライアルを入手することができますので、是非 WinmostarのWebサイト をご覧ください。
#0. はじめに
第一原理計算ソフトQuantunm ESPRESSO https://www.quantum-espresso.org の入力ファイルの書き方について、全16回にわたって解説してきました。今回は最終回(第17回目)です。総括として、SCF計算の入力ファイルの実例を紹介したいと思います。この記事さえ見えれば、基本的な入力ファイルは作れるという内容です。金属材料の実例としてNi3Al合金、半導体材料の実例としてGaNを紹介したいと思います。
この記事では、初歩的な内容しか紹介しません。
入力ファイルの詳細について知りたい方は、マニュアル http://www.quantum-espresso.org/Doc/INPUT_PW.html をご参照下さい。
#1. Ni3Al合金
Ni3Al合金は立方晶のユニットセルに、3つのNi原子と1つのAl原子を含んでいます(https://materialsproject.org/materials/mp-2593)。SCF計算の入力ファイルは、以下のようなものになります。
&CONTROL
calculation = "scf"
/
&SYSTEM
ibrav = 0
ntyp = 2
nat = 4
ecutwfc = 25.0
ecutrho = 225.0
occupations = "smearing"
smearing = "gaussian"
degauss = 0.01
nspin = 2
starting_magnetization(1) = 0.0
starting_magnetization(2) = 0.2
/
&ELECTRONS
conv_thr = 1.0E-6
mixing_beta = 0.4
/
K_POINTS {automatic}
3 3 3 0 0 0
CELL_PARAMETERS {angstrom}
3.55877754 0.00000000 0.00000000
0.00000000 3.55877754 0.00000000
0.00000000 0.00000000 3.55877754
ATOMIC_SPECIES
Al -1.0 Al.pbe-rrkj.UPF
Ni -1.0 Ni.pbe-nd-rrkjus.UPF
ATOMIC_POSITIONS {angstrom}
Al 0.000000 0.000000 0.000000
Ni 0.000000 1.779389 1.779389
Ni 1.779389 0.000000 1.779389
Ni 1.779389 1.779389 0.000000
入力ファイルの各項目について、解説します。
##1-1. 基本設定
まず、SCF計算を実施することを明示するために、以下の設定を行います。
&CONTROL
calculation = "scf"
/
calculationには、計算の種類を設定します。今回の場合は、"scf"です。原子座標の最適化では"relax"、ユニットセルを最適化する場合には"vc-relax"を設定すればよいです。
##1-2. ユニットセル
第一原理計算では、先ずユニットセルを定義する必要があります。ユニットセルの定義の仕方には2種類のものがあります。一つは、Bravais格子を用いる方法です。ibravに 1 ~ 14 を設定することで、指定の番号に応じたBravais格子が利用可能です。もう一つの定義法は、格子ベクトルを直接入力する方法です。ibrav = 0 と設定して、CELL_PARAMETERSにて格子ベクトルを入力します。以下の通りです。
&SYSTEM
ibrav = 0
/
CELL_PARAMETERS {angstrom}
3.55877754 0.00000000 0.00000000
0.00000000 3.55877754 0.00000000
0.00000000 0.00000000 3.55877754
この例では、一辺の長さ3.55877754Åの立方体(立方晶)がユニットセルです。
##1-3. 元素
ユニットセルに含まれる元素の種類を定義します。まず、ntypにて元素の数を設定します。今回の例では、NiとAlの2元素が含まれるので、ntyp = 2 となります。各元素の詳細は、ATOMIC_SPECIESにて定義します。以下の通りです。
&SYSTEM
ntyp = 2
/
ATOMIC_SPECIES
Al -1.0 Al.pbe-rrkj.UPF
Ni -1.0 Ni.pbe-nd-rrkjus.UPF
ATOMIC_SPECIES以下の各行が、元素ごとのデータです。一列目が元素名です。二列名は元素の質量です。負の値を設定すると、標準的な質量が自動的に使用されます。三列目は、擬ポテンシャルファイルの名前です。擬ポテンシャルファイルは事前に、Quantum ESPRESSOのウェブページなどから取得しておく必要があります。
#1-4. 原子
ユニットセルの中における原子の座標を定義します。まず、natにて原子の数を設定します。今回の例では、3つのNi原子と1つのAl原子が含まれるので、原子数は合計で4になり、nat = 4 となります。各原子の座標は、ATOMIC_POSITIONSにて定義します。以下の通りです。
&SYSTEM
nat = 4
/
ATOMIC_POSITIONS {angstrom}
Al 0.000000 0.000000 0.000000
Ni 0.000000 1.779389 1.779389
Ni 1.779389 0.000000 1.779389
Ni 1.779389 1.779389 0.000000
##1-5. カットオフエネルギー
波動関数および電荷密度のカットオフエネルギーを設定します。カットオフエネルギーの値は、使用する擬ポテンシャルファイルに依存します。擬ポテンシャルファイルの中に推奨値が記載されている場合には、この値を使ってください。記載がない場合には、波動関数のカットオフエネルギー(ecutwfc)を25Ryくらい、電荷密度のカットオフエネルギー(ecutrho)を225Ryくらいに設定すると良いです。その後、必要に応じて、カットオフエネルギーの値を調整して最適なものを探索してください。
&SYSTEM
ecutwfc = 25.0
ecutrho = 225.0
/
##1-6. k点サンプリング
Brillouinゾーンにおけるk点のサンプリング数を設定します。K_POINTSにて設定します。今回の例では、3 x 3 x 3 のサンプリングとなっています。
K_POINTS {automatic}
3 3 3 0 0 0
1~3列目が、x y z方向のサンプリング数です。4~6列目は波数ベクトルの原点をシフトするか否かのフラグですが、基本的には 0 0 0 と設定していれば問題ありません。サンプリング数は、ユニットセルの形状に依存しています。概ね、サンプリング数 x 格子定数 の値が10Å以上となっていれば、十分な精度が得られます。今回の例では、3 x 3.55877754Å となります。
##1-7. 電子占有数のスメアリング
金属の場合、フェルミ面上にバンドが存在します。このとき、有限個のk点メッシュでBrillouinゾーンを表現しているため、電子占有数を0,1で表現するとフェルミ面がガタガタになってしまいます。このガタガタを解消するためのアンチエイリアス処理として、電子占有数のスメアリングを行います。具体的には、ガウス関数を用いてフェルミ面近傍の電子占有数を0~1の非整数とします。ガウス関数の幅は、0.01Ry程度にしておけば問題ありません。当該設定は、以下の通りです。
&SYSTEM
occupations = "smearing"
smearing = "gaussian"
degauss = 0.01
/
##1-8. スピン状態
強磁性体や反強磁性体などでは、スピン分極計算を行う必要があります。nspin = 2 と設定すると、スピン分極計算が実施されます。また、各元素について、スピン分極率の初期値を設定する必要があります。starting_magnetization(元素の番号)にて設定します。当該設定は、以下の通りです。
&SYSTEM
nspin = 2
starting_magnetization(1) = 0.0
starting_magnetization(2) = 0.2
/
#2. GaN結晶
2H構造のGaN結晶(https://materialsproject.org/materials/mp-804)の入力ファイルを紹介します。
&CONTROL
calculation = "scf"
/
&SYSTEM
ibrav = 4
a = 3.21629013
c = 5.23996246
ntyp = 2
nat = 4
ecutwfc = 25.0
ecutrho = 225.0
occupations = "fixed"
/
&ELECTRONS
conv_thr = 1.0E-6
/
K_POINTS {automatic}
4 4 2 0 0 0
ATOMIC_SPECIES
Ga 69.72300 Ga.pbe-n-van.UPF
N 14.00674 N.pbe-rrkjus.UPF
ATOMIC_POSITIONS {angstrom}
Ga 1.608147 0.928462 2.615370
Ga -0.000002 1.856927 5.235351
N 1.608147 0.928462 4.589578
N -0.000002 1.856927 1.969597
基本的な内容は、先に紹介したNi3Al合金と同じです。ユニットセルの定義 と 電子占有数 の設定が異なるので、これらを以下で説明します。
##2-1. ユニットセル
GaN結晶の構造は、六方晶の対称性を持っています。Quantum ESPRESSOでは、ibrav = 4 と設定すると、六方晶のユニットセルになります。ibrav = 1~4 は、比較的によく使うので下表に詳細を記します。
ibrav | Bravais格子 |
---|---|
1 | 単純立方格子(SC) |
2 | 面心立方格子(FCC) |
3 | 体心立方格子(BCC) |
4 | 六方晶格子(HCP) |
六方晶の場合、格子定数aおよびcを定義する必要があります。以下の通りです。
&SYSTEM
ibrav = 4
a = 3.21629013
c = 5.23996246
/
##2-2. 電子占有数
半導体または絶縁体の場合、バンドギャップが存在するため、各バンドに対する電子占有数は0または1の値を明確に定義できます。このため、金属のようなスメアリングは不要となります。また、SCFにおいては占有軌道さえあれば、計算は遂行可能です。そこで、計算コストを削減して効率的に計算するために、占有軌道(電子占有数が1のバンド)のみを使用します。occupations = "fixed" と設定すれば、これを実現できます。
なお、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計算の入力ファイルの実例