Help us understand the problem. What is going on with this article?

Quantum ESPRESSO入力ファイル作成手順 17.SCF計算の入力ファイルの実例

クロスアビリティ 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" と設定すれば、これを実現できます。


ご意見、ご要望ありましたら、コメントください。

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計算の入力ファイルの実例

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away