MateriApps
物質科学シミュレーションのポータルサイト

現在アプリ掲載数307件

お問合せ / アプリ掲載依頼
    • JP
    • EN
  • MateriApps について
  • レビュー募集
もっと詳しく探す
  • NEWS / 講習会・イベント
  • アプリ一覧
  • アプリ詳細検索
  • キーワード解説
  • レビュー
  • 事例
  • アプリコンシェルジュ
  • インストールしないでアプリを
    試せる「MateriApps LIVE!」

    詳細はこちら
  • MateriApps について
  • レビュー募集
  • プライバシーポリシー
  • お問合せ / アプリ掲載依頼
  • アプリ一覧
  • QUANTUM ESPRESSO
QE logo

QUANTUM ESPRESSO

  • 公開度:3 ★★★
  • ドキュメント充実度:3 ★★★

擬ポテンシャル法と平面波基底を用いた第一原理計算ライブラリ。広範な物理系に対して、密度汎関数法に基づく電子状態計算を高精度で行うことができる。基本プログラムのほかに多数のコアパッケージ・プラグインが含まれ、無償ながら研究・開発に利用できる多くの充実した機能を持つ。MPIによる並列計算にも対応している。

Quantum EspressoでGaAsの誘電率を計算する
Last Update:2022/02/12
あなたはすでに投票済みです!

はじめに

MateriApps LIVE!にプレインストールされたQuantum Espressoで誘電率を計算してみます。環境はVirtualbox上で動かしているMateriApps LIVE! 3.3です。VirtualboxにはCPUを4つ割り当ててみました。

誘電率やフォノン計算については、2014年のQuantum Espressoに関するSummer Schoolのページ:
http://www.iiserpune.ac.in/~smr2626/talks-presentations.html
のHands on: Phononsが参考になりそうです。

計算の手順は2ステップあるようです。まず、Quantum Espressoパッケージに含まれているpw.xというプログラムを使い、自己無撞着計算によって基底状態の電子密度やエネルギー、構造を求めます。その結果を使って、ph.xというプログラムで、密度汎関数摂動論(DFPT)に基づいてフォノンモードやボルン有効電荷、誘電率を求めます。

pw.xによる格子定数および内部座標の最適化と電子状態計算

ターミナルを開いて(スタートメニューから”System Tools” > “LXTerminal”)作業ディレクトリを作ります。

$ mkdir qe-GaAs 
$ cd qe-GaAs

次に、計算する元素に対応する擬ポテンシャルの定義ファイルを用意します。Quantum Espressoのホームページでほとんどの元素に対応したファイルが公開されています(http://www.quantum-espresso.org/pseudopotentials)。周期表でGaをクリックすると、様々な方法で作成された擬ポテンシャルファイルの一覧が現れます。今回は一番上の、Ga.pbe-dn-kjpaw_psl.1.0.0.UPFをとりあえず使ってみます。同様に、Asも、一覧の一番上の、As.pbe-n-kjpaw_psl.1.0.0.UPFを使います。ターミナルからは、wgetコマンドでURLを指定してダウンロードすることができます。

$ wget https://pseudopotentials.quantum-espresso.org/upf_files/Ga.pbe-dn-kjpaw_psl.1.0.0.UPF
$ wget https://pseudopotentials.quantum-espresso.org/upf_files/As.pbe-n-kjpaw_psl.1.0.0.UPF

次に、pw.xの入力ファイルを用意します。入力内容についてはreference manualに網羅されており(こちら)、別のレビュー記事でも簡単な解説がなされています。calculation=’vc-relax’を指定して、格子定数と内部座標の同時最適化を行います。

&control
calculation = 'vc-relax' 
restart_mode='from_scratch'
prefix = 'GaAs'
pseudo_dir = './'
wf_collect = .true.
outdir = 'tmp'
/
&system
ibrav = 2
celldm(1) = 10.869
nat = 2
ntyp = 2
ecutwfc = 100
ecutrho = 400
occupations='fixed'
/
&electrons
mixing_mode = 'plain'
mixing_beta = 0.5
conv_thr = 1.0d-10
/
&ions
/
&cell
press_conv_thr = 0.1
/
ATOMIC_SPECIES
Ga 69.723 Ga.pbe-dn-kjpaw_psl.1.0.0.UPF
As 74.921595 As.pbe-n-kjpaw_psl.1.0.0.UPF
ATOMIC_POSITIONS
Ga 0.00 0.00 0.00
As 0.25 0.25 0.25
K_POINTS {automatic}
6 6 6 1 1 1

Linux操作に慣れていましたらemacsなどで入力ファイルを作成します。GUIを好む場合は、

$ mousepad GaAs.scf.in

というコマンドで、GUIエディターのMousepadが立ち上がります。上記の入力ファイル内容をコピー&ペーストし、File=>Saveで保存できます。これを実行してみます。今回は4CPUをVirtualboxに割り当てているので、mpirunを使って並列計算させてみます。

$ mpirun -np 4 -x OMP_NUM_THREADS=1 pw.x < GaAs.scf.in | tee GaAs.scf.out
....(中略)....
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

5分ほどかかりました。1 CPUしか割り当てなかった場合は、

$ pw.x < GaAs.scf.in | tee GaAs.scf.out

で実行できますが、数十分かかってしまいます。平面波基底のカットオフ(ecutwfc)を小さくするなどで計算時間を節約できますが、計算精度とのトレードオフになります。

ph.xを使った密度汎関数摂動論(DFPT)法による誘電率の計算

さて、計算が完了すると、tmpというディレクトリ(GaAs.scf.inの中のoutdirで指定している)ができており、その中に電子密度などの計算結果が出力されています。これをph.xで読み込んでDFPT計算を行います。ph.x用に入力ファイルを別途用意します:

&inputph
outdir='./tmp/',
prefix='GaAs',
fildyn='GaAs.dynmat_G',
tr2_ph=1.0d-14,
amass(1)=69.723,
amass(2)=74.921595,
epsil=.true.
/
0.0 0.0 0.0

ファイル名はGaAs.ph.inにしましょう。mousepadを使う場合は

$ mousepad GaAs.ph.in

でエディターを立ち上げて、上記の内容をコピー&ペーストし、保存します。それではph.xを実行します。

$ mpirun -np 4 -x OMP_NUM_THREADS=1 ph.x < GaAs.ph.in | tee GaAs.ph.out
....(中略)....
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

7分ほどかかりました。並列計算を行わない場合はph.xより前のコマンドは不要ですが、計算時間が数倍かかります。

出力ファイルを調べてみると、誘電率テンソルを見つけることができます。立方晶系なので、対角項のみが有限の値を持ち、15.2という結果が得られました。実験値は12~13程度とされており、良い予測ができています。

Dielectric constant in cartesian axis

( 15.222785223 -0.000000000 -0.000000000 )
( -0.000000000 15.222785223 0.000000000 )
( -0.000000000 0.000000000 15.222785223 )

その他にもボルン有効電荷や

Effective charges (d Force / dE) in cartesian axis

atom 1 Ga 
Ex ( 2.22829 -0.00000 -0.00000 )
Ey ( 0.00000 2.22829 -0.00000 )
Ez ( -0.00000 -0.00000 2.22829 )
atom 2 As 
Ex ( -2.25678 0.00000 0.00000 )
Ey ( -0.00000 -2.25678 0.00000 )
Ez ( 0.00000 0.00000 -2.25678 )

Γ点フォノン

q = ( 0.000000000 0.000000000 0.000000000 )

**************************************************************************
freq ( 1) = -0.305220 [THz] = -10.181035 [cm-1]
freq ( 2) = -0.305220 [THz] = -10.181035 [cm-1]
freq ( 3) = -0.305220 [THz] = -10.181035 [cm-1]
freq ( 4) = 7.580768 [THz] = 252.867194 [cm-1]
freq ( 5) = 7.580768 [THz] = 252.867194 [cm-1]
freq ( 6) = 7.580768 [THz] = 252.867194 [cm-1]
**************************************************************************

が出力されています。freq(1),(2),(3)について、負の値になってしまっています。音響フォノンの振動数はΓ点では0になるのですが、数値精度の問題で有限の値になってしまいます。なお、Γ点以外のフォノンを計算する場合は、こちらのレビューが参考になります。

まとめ

本稿では、MateriApps LIVE!上でQuantum Espressoを使った誘電率の第一原理計算をレビューしました。筆者のパソコンでは、作業時間を含めても1時間程度で実行可能でした。単結晶材料であれば、大規模計算機を使わなくても十分に高精度な計算が可能であることが分かります。

04 / 06

  • 01基本情報
  • 02事例・論文
  • 03講習会
  • 04レビュー
  • 05開発者の声
  • 06このアプリ情報に
    ついてのお問い合わせ
TOP

MateriApps
物質科学シミュレーションのポータルサイト

  • NEWS / 講習会・イベント
  • アプリ一覧
  • アプリ詳細検索
  • キーワード解説
  • 事例
  • アプリコンシェルジュ
  • プライバシーポリシー
お問合せ / アプリ掲載依頼
  • 東京大学 物性研究所 The Institute for Solid State Physics
  • 東京大学 The University of Tokyo
  • CDMSI
  • CCMS

© MateriApps, 2013-2023. All rights reserved.