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

現在アプリ掲載数307件

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

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

QUANTUM ESPRESSO

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

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

Quantum EspressoでSiのフォノンバンド図を作成する
Last Update:2021/12/09
あなたはすでに投票済みです!

執筆:MateriApps開発チーム

MateriApps LIVE!にプレインストールされたQuantum Espressoで何か適当な物質のフォノンバンド図を描いてみようと思います。VirtualboxでMateriApps LIVE!2.0a1(α版)を使ってみました。Macbook Pro 15inch (2017)を使っており、Virtualboxの仮想マシンにCPUを4つ割り当ててみました。

まず、何かひな形がないかQuantum Espressoのウェブhttps://www.quantum-espresso.org/resources/tutorials を検索してみて、2014年のSummer Schoolのページに行き当たりました:
http://www.iiserpune.ac.in/~smr2626/talks-presentations.html

このページの”Hands on: Phonons”を参考にしようと思います。MateriApps LIVE!が起動できたら、スタートメニューからSystem Tools ->LXTerminal を起動し、まず作業ディレクトリを作成しました。

$ mkdir qe-ph-test
$ cd qe-ph-test

Summer Schoolのページにあるtutorialをダウンロードして、解凍してみます。

$ wget http://www.iiserpune.ac.in/~smr2626/hands_on/week2/july9/Hands_on_phonons.tar.gz
$ tar xzvf Hands_on_phonons.tar.gz
$ cd Hands_on_phonons
$ ls
exercise-1  exercise-3  Instructions_slides.odp
exercise-2  exercise-4  Instructions_slides.pdf

Instructions_slides.pdfを参考にします。フォノン分散の計算はexercise-2が対応するようです。まず最初にSiの自己無撞着計算を行い、電子密度を計算するようです。インプットファイルはsi_scf.in。せっかくなので並列実行してみます。

$ cd exercise-2
$ ls
matdyn_Si_disp.in q2r.in run.sh si_scf.in
matdyn_Si_dos.in reference si_ph.in
$ mpirun -np 4 -x OMP_NUM_THREADS=1 pw.x < si_scf.in | tee si_scf.out
...(中略)...
=------------------------------------------------------------------------------=
     Error in routine readpp (4):
     file ../../pseudo/Si.pbe-rrkj.UPF not found
=------------------------------------------------------------------------------=

ということで、擬ポテンシャルファイルが見つからないようです。たしかに../../pseudoなどというディレクトリは存在しません。とりあえず、Si.pbe-rrkj.UPFでGoogle検索をしてみると、一番上に該当するファイルが表示されるので、ダウンロードして、改めて実行してみます。

$ cd ../../
$ mkdir pseudo
$ cd pseudo
$ wget http://www.quantum-espresso.org/wp-content/uploads/upf_files/Si.pbe-rrkj.UPF
$ cd ../Hands_on_phonons/exercise-2/
$ mpirun -np 4 -x OMP_NUM_THREADS=1 pw.x < si_scf.in | tee si_scf.out
...(中略)...
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

1秒で終わりました。うまくいったようです。次に、一様なq点グリッド(逆空間)で、dynamical matrixを計算するようです。

$ mpirun -np 4 -x OMP_NUM_THREADS=1 ph.x < si_ph.in | tee si_ph.out
...(中略)...
=------------------------------------------------------------------------------=
Error in routine phq_readin (29): Title line missing from input.
=------------------------------------------------------------------------------=

インプットに”title line”が無いと怒られます。とりあえずsi_ph.inの一行目に適当な文字列を追加して再実行してみます。

$ cat si_ph.in
testsi #ココを追加
&inputph
   outdir='./tmp/',
   prefix='si',
   ldisp=.true.
   nq1=4,nq2=4,nq3=4
   fildyn='si.dynmat',
   tr2_ph=1.0d-14,
   amass(1)=28.086
 /
$ mpirun -np 4 -x OMP_NUM_THREADS=1 ph.x < si_ph.in | tee si_ph.out
...(略)...
=------------------------------------------------------------------------------=
   JOB DONE.
=------------------------------------------------------------------------------=

outputが流れていき、6分ほどで終了しました。新たに、si.dynmat{0–8}というファイルが出力されています。dynamical matrixが計算出来たようです。次に、このdynamical matrixをq空間から実空間に逆フーリエ変換します。

$ mpirun -np 4 -x OMP_NUM_THREADS=1 q2r.x < q2r.in |tee q2r.out

一瞬で終わりました。si444.fcというファイルが新たに生成されており、どうもこれは実空間のforce constant行列の情報を格納しているようです。このファイルから、フーリエ補完により、任意のq点のフォノンを計算することができるとのことです。そのためのインプットファイルはmatdyn_Si_disp.inとして用意されており、中を見てみると、

$ cat matdyn_Si_disp.in 
 &input
    asr='simple',
    amass(1)=28.0855,
    flfrc='si444.fc', flfrq='si.freq'
    q_in_band_form=.true. 
 /
5
 0.0000000   0.0000000   0.0000000 10
 0.0000000   0.0000000   1.0000000 10
 0.5000000   0.0000000   1.0000000 10
 0.5000000   0.5000000   0.5000000 10
 0.0000000   0.0000000   0.0000000 1

のように、バンド計算したいq点経路について記述されています。実行してみます。

$ mpirun -np 4 -x OMP_NUM_THREADS=1 matdyn.x <  matdyn_Si_disp.in |tee matdyn_Si_disp.out

一瞬で終了し、q点経路上のフォノン振動数の情報が、si.freqに出力されました。Instructions_slide.pdfにはplotband.xを使うとinteractiveにプロットを作成できるとあるので、実行してみます。

$ plotband.x 
     Input file > si.freq
Reading    6 bands at     41 k-points
Range:   -0.0000  499.9411eV  Emin, Emax > 0 500
high-symmetry point:  0.0000 0.0000 0.0000   x coordinate   0.0000
high-symmetry point:  0.0000 0.0000 1.0000   x coordinate   1.0000
high-symmetry point:  0.5000 0.0000 1.0000   x coordinate   1.5000
high-symmetry point:  0.5000 0.5000 0.5000   x coordinate   2.2071
high-symmetry point:  0.0000 0.0000 0.0000   x coordinate   3.0731
output file (gnuplot/xmgr) > siph.plot
bands in gnuplot/xmgr format written to file siph.plot                                                                                                                                                                                                                                                       
output file (ps) > siph.ps
Efermi > 0
deltaE, reference E (for tics) 100 0
bands in PostScript format written to file siph.ps

evinceで表示してみます。

 $ evince siph.ps

Γ点、X点などの情報は自分で追加する必要があるようです。

Related reading

  • http://www.stat.phys.titech.ac.jp/SATL_qe_tutorial/phonon.html
  • http://www.fisica.uniud.it/~giannozz/QE-Tutorial/tutorial_disp.html

変更履歴

  • 2019/7/8 mpirunのオプションに、openMPによるスレッド並列をオフにするための”-x OMP_NUM_THREADS=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.