Table of Contents

概要

計算手順

準備

GaAsのCIFファイルは以下のサイトのものを使い、格子定数はvc-relax計算で得られたものに変更しました

擬ポテンシャルはPS Libraryからウルトラソフト型を利用しました。

第一原理計算にはQEを使用します。 入力ファイルは以下のように作成します。

$ cif2cell -p pwscf -f GaAs.cif -o GaAs.scf.in

ボルン有効電荷の計算

DFPTを用いてボルン有効電荷を計算します。 SCF計算で基底状態を求めたあと、ph.xを使って計算します

GaAs.scf.in
&control
  prefix      = 'GaAs',
  calculation = 'scf',
  pseudo_dir  = './pseudo/',
  outdir      = './tmp/',
/

&SYSTEM
  ibrav = 0
  nat   = 2
  ntyp  = 2
  ecutwfc =  40.0
  ecutrho = 240.0
/

&electrons
  conv_thr = 1.0d-10
/

CELL_PARAMETERS {angstrom}
   2.8314   2.8314   0.0000
   2.8314   0.0000   2.8314
   0.0000   2.8314   2.8314

ATOMIC_SPECIES
  As   74.92100  As.pbesol-n-rrkjus_psl.1.0.0.UPF
  Ga   69.72300  Ga.pbesol-dnl-rrkjus_psl.1.0.0.UPF

ATOMIC_POSITIONS {crystal}
As            0.2500000000        0.2500000000        0.2500000000
Ga            0.0000000000        0.0000000000        0.0000000000

K_POINTS automatic
  8 8 8 1 1 1
GaAs.phG.in
phonons of GaAs
&inputph
  tr2_ph = 1.0d-14
  prefix = 'GaAs'
  outdir = './tmp/'
  fildyn = 'GaAs.dynG'
  epsil	 = .true.
  zeu    = .true.
  trans  = .false.
/
0.0  0.0  0.0

epsilは誘電率を、zeuは原子に加わる力からボルン有効電荷を計算するように指定します。 このほか、分極からボルン有効電荷を計算するzueもありますが、どちらを使ってもほぼ同じ値になります。

また、フォノンの振動数の計算は必要ないので、transは.false.にしておきます。

$ pw.x < GaAs.scf.in > GaAs.scf.out
$ ph.x < GaAs.phG.in > GaAs.phG.out

誘電率およびボルン有効電荷は次のように出力されます。

GaAs.phG.out
(略)
          Dielectric constant in cartesian axis 

          (      14.192331204       0.000000000      -0.000000000 )
          (       0.000000000      14.192331204      -0.000000000 )
          (      -0.000000000      -0.000000000      14.192331204 )

          Effective charges (d Force / dE) in cartesian axis

           atom      1   As 
      Ex  (       -2.13215       -0.00000        0.00000 )
      Ey  (       -0.00000       -2.13215       -0.00000 )
      Ez  (       -0.00000       -0.00000       -2.13215 )
           atom      2   Ga 
      Ex  (        2.14310        0.00000       -0.00000 )
      Ey  (       -0.00000        2.14310        0.00000 )
      Ez  (        0.00000        0.00000        2.14310 )
(略)

Dynamical matrixの計算

QE用の超格子の入力ファイルを作成します

$ cif2cell --supercell=[3,3,3] -p pwscf -f GaAs.cif -o GaAs_333.pw.in

超格子のインプットファイルに足りない部分を書き加えます。 cif2cellのデフォルトで格子定数はA(オングストローム単位)で指定されますが、celldm(1)(ボーア半径単位)に直しておきます。 また、原子に加わる力の大きさを出力するために tprnfor=.true. を忘れないようにします。

GaAs_333.harmonic.in
&control
  prefix      = 'GaAs',
  calculation = 'scf',
  pseudo_dir  = './pseudo/',
  outdir      = './tmp/',
  tprnfor=.true.
/

&SYSTEM
  ibrav = 0
  celldm(1) = 10.702
  nat = 54
  ntyp = 2
/

&electrons
  conv_thr = 1.0d-8
/

CELL_PARAMETERS {alat}
  1.500000000000000   1.500000000000000   0.000000000000000 
  1.500000000000000   0.000000000000000   1.500000000000000 
  0.000000000000000   1.500000000000000   1.500000000000000 

ATOMIC_SPECIES
  Ga   69.72300  Ga.pbesol-dnl-rrkjus_psl.1.0.0.UPF
  As   74.92100  As.pbesol-n-rrkjus_psl.1.0.0.UPF

K_POINTS automatic
  4 4 4 1 1 1

ATOMIC_POSITIONS {crystal}
As   0.083333333333333   0.083333333333333   0.083333333333333 
As   0.416666666666667   0.083333333333333   0.083333333333333 
(略)
Ga   0.666666666666667   0.333333333333333   0.333333333333333 

また、ALAMODE用の原子間力定数の計算の入力ファイルを作成します

GaAs_333.pw.in
&general
  PREFIX = GaAs_333
  MODE = suggest
  NAT = 54; NKD = 2
  KD = As Ga
/

&interaction
  NORDER = 1
/

&cell
  10.702
  1.500000000000000   1.500000000000000   0.000000000000000 
  1.500000000000000   0.000000000000000   1.500000000000000 
  0.000000000000000   1.500000000000000   1.500000000000000 
/

&cutoff 
  *-* None
/

&position
1   0.083333333333333   0.083333333333333   0.083333333333333 
1   0.416666666666667   0.083333333333333   0.083333333333333 
(略)
2   0.666666666666667   0.333333333333333   0.333333333333333 
/

できたらALMを実行します。

$ alm GaAs_333.harmonic.in > GaAs_333.harmonic.log

GaAs_333.pattern_HARMONIC というファイルができるので、ALAMODEに付属のPythonスクリプトを使ってQEの入力ファイルを作成します。

$ python -m displace --QE GaAs_333.pw.in --mag 0.01 --prefix disp -pf GaAs_333.pattern_HARMONIC

今回の場合はQEの入力ファイルが2つできます。 出てきた入力ファイルをすべてQEで実行します

$ pw.x < disp1.pw.in > disp1.pw.out
$ pw.x < disp2.pw.in > disp2.pw.out

これをALAMODEに付属のPythonスクリプトで整理します。

$ python -m extract --QE GaAs_333.pw.in *.pw.out > DFSET_harmonic

ALMを使って原子間力定数を計算します。 GaAs_333.harminic.inをコピーして GaAs.harmonic_opt.in を生成し、次の点を変更します

Si_333.harmonic_opt.in
&general
  PREFIX = GaAs_333
  MODE = optimize
  NAT = 54; NKD = 2
  KD = As Ga
/

&interaction
  NORDER = 1
/

&cell
  10.702
  1.500000000000000   1.500000000000000   0.000000000000000 
  1.500000000000000   0.000000000000000   1.500000000000000 
  0.000000000000000   1.500000000000000   1.500000000000000 
/

&cutoff 
  *-* None
/

&optimize
  DFSET = DFSET_harmonic
/

&position
1   0.083333333333333   0.083333333333333   0.083333333333333 
1   0.416666666666667   0.083333333333333   0.083333333333333 
(略)
2   0.666666666666667   0.333333333333333   0.333333333333333  
/

ALMを実行します

$ alm GaAs_333.harmonic_opt.in > GaAs.harmonic_opt.log

GaAs_333.fcs と GaAs_333.xml が出力されたら成功です。

フォノンの分散

DFPT計算で得た GaAs.phG.out から誘電率とボルン有効電荷を記録したファイルを作ります

GaAs.born
14.200395680      -0.000000000      -0.000000000
-0.000000000      14.200395680      -0.000000000
-0.000000000      -0.000000000      14.200395680
-2.12591       -0.00000        0.00000
-0.00000       -2.12591       -0.00000
 0.00000        0.00000       -2.12591
 2.14222        0.00000        0.00000
 0.00000        2.14222        0.00000
 0.00000        0.00000        2.14222

ボルン有効電荷なし

GaAs.phband.in
&general
  PREFIX = GaAs_333
  MODE   = phonons
  FCSXML = GaAs_333.xml

  NKD = 2
  KD = As Ga
/

&cell
  10.702
  0.500000000000000   0.500000000000000   0.000000000000000 
  0.500000000000000   0.000000000000000   0.500000000000000 
  0.000000000000000   0.500000000000000   0.500000000000000 
/

&kpoint
  1
  G 1.00 1.00 1.00  X 0.50 0.50 1.00 51
  X 0.50 0.50 1.00  G 0.00 0.00 0.00 51
  G 0.00 0.00 0.00  L 0.50 0.50 0.50 51
  L 0.50 0.50 0.50  X 0.50 0.50 0.00 51
  X 0.50 0.50 0.00  W 0.75 0.50 0.25 51
  W 0.75 0.50 0.25  L 0.50 0.50 0.50 51
/

ボルン有効電荷あり

GaAs.phband.in
&general
  PREFIX = GaAs_333
  MODE   = phonons
  FCSXML = GaAs_333.xml
  NONANALYTIC = 3
  BORNINFO = GaAs.born

  NKD = 2
  KD = As Ga
/

&cell
  10.702
  0.500000000000000   0.500000000000000   0.000000000000000 
  0.500000000000000   0.000000000000000   0.500000000000000 
  0.000000000000000   0.500000000000000   0.500000000000000 
/

&kpoint
  1
  G 1.00 1.00 1.00  X 0.50 0.50 1.00 51
  X 0.50 0.50 1.00  G 0.00 0.00 0.00 51
  G 0.00 0.00 0.00  L 0.50 0.50 0.50 51
  L 0.50 0.50 0.50  X 0.50 0.50 0.00 51
  X 0.50 0.50 0.00  W 0.75 0.50 0.25 51
  W 0.75 0.50 0.25  L 0.50 0.50 0.50 51
/
$ anphon GaAs.phband.in > GaAs.phband.log

赤い実線がボルン有効電荷あり、青い破線がなしです。 ガンマ点でTOフォノンとLOフォノンが分裂するのがわかります。