User Tools

Site Tools


quantumespresso:phonon:フォノンの計算

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
quantumespresso:phonon:フォノンの計算 [2020/11/18 19:50]
koudai [Γ点のフォノン]
quantumespresso:phonon:フォノンの計算 [2020/11/20 02:24]
koudai [SCF計算]
Line 1: Line 1:
  
-===== 電子状態計算 =====+Siを例に、フォノンの簡単な計算を実行してみます。
  
-Siを例に、フォノンの簡単な計算を実行してみる。 事前にpw.xによる電子状態計算を行う。+===== SCF計算 =====
  
-<file - si.scf.in>+事前にpw.xによるSCF計算を行います。 
 + 
 +<file - Si.scf.in>
 &control &control
    calculation='scf',    calculation='scf',
-   prefix='si+   prefix='Si
-   pseudo_dir = './', +   pseudo_dir = './pseudo/', 
-   outdir='./'+   outdir='./tmp/'
 / /
 &system &system
Line 26: Line 28:
 </file> </file>
  
-  $ pw.x < si.scf.in > si.scf.out+  * 金属の場合はsmearingを指定する必要がありますが、テトラヘドロン法はフォノン計算に使えません(以下のph.x実行時にエラーが出ます)。 
 + 
 +<code> 
 +$ pw.x < Si.scf.in > Si.scf.out 
 +</code>
  
  
Line 39: Line 45:
   prefix='Si',   prefix='Si',
   epsil=.true.,   epsil=.true.,
-  outdir='./',+  outdir='./tmp/',
   fildyn='Si.dynG',   fildyn='Si.dynG',
  /  /
Line 52: Line 58:
 ^変数^初期値^説明^ ^変数^初期値^説明^
 |tr2_ph|1.0d-12|フォノンの計算の収束条件。経験的に1.0d-14を使ったほうがよい。| |tr2_ph|1.0d-12|フォノンの計算の収束条件。経験的に1.0d-14を使ったほうがよい。|
-|prefix|pwscf|si.scf.inで使用したプレフィックスと同じにする。|+|prefix|pwscf|SCF計算で使用したプレフィックスと同じにする。|
 |epsil|.false.|誘電率を計算する。Γ点の計算に必要。ただし.true.にする場合は、半導体かつΓ点の計算でないとエラーが出る。| |epsil|.false.|誘電率を計算する。Γ点の計算に必要。ただし.true.にする場合は、半導体かつΓ点の計算でないとエラーが出る。|
 |outdir|./|出力ファイルの場所。| |outdir|./|出力ファイルの場所。|
 |fildyn|matdyn|結果であるdynamical matrixを出力するファイル名。| |fildyn|matdyn|結果であるdynamical matrixを出力するファイル名。|
  
-金属の場合は、epsil=.false.として、計算するk点を 0.01 0.0 0.0 のようにΓ点から少しずらしてやるとうまくいきます。+  * 金属の場合は、epsil=.false.として、計算するk点を 0.01 0.0 0.0 のようにΓ点から少しずらしてやるとうまくいきます。 
 実行は次のようにします。 実行は次のようにします。
  
-  $ ph.x < Si.phG.in > Si.phG.out+<code> 
 +$ ph.x < Si.phG.in > Si.phG.out 
 +</code>
  
 結果はfildynで指定したもの(今の場合はSi.dynG)に出力されます。 結果はfildynで指定したもの(今の場合はSi.dynG)に出力されます。
Line 94: Line 103:
   * 振動モードの既約表現はSi.phG.out内に出力されている。   * 振動モードの既約表現はSi.phG.out内に出力されている。
  
 +
 +フォノンの振動に対応する変位ベクトルはXcrysDenを使って見ることができます。
 +次のファイルを用意します。
 +
 +<file - Si.dynmatG.in>
 +&inputfil
 +  dyn ='Si.dynG',
 +  filxsf = 'dynmatG.axsf'
 +  asr ='simple',
 +  lperm = .true.,
 +  q(1)=1.0,
 +  q(2)=0.0,
 +  q(3)=0.0
 +/
 +</file>
 +
 +Γ点のフォノンは q->0 の極限で定義されます。lpermは q=(q(1), q(2), q(3)) に沿って q->0 の極限をとることを指定します。
 +
 +実行は次のようにします。
 +<code>
 +$ dynmat.x < Si.dynmat.in > Si.dynmat.out
 +</code>
 +
 +すると dynmatG.axsf というファイルができるので、以下の手順で変位ベクトルを表示します。
 +
 +  - XCrysDenを起動して、[File] -> [Open Structure] -> [Open AXSF] よりdynmatG.axsfを開く
 +  - ウィンドウが開くので、矢印ボタンを押して変位ベクトルを表示したいフォノンを選ぶ(エネルギーの低い順です)
 +  - いったん [Hide] ボタンを押してウィンドウを最小化する
 +  - [Display] から [Forces] を選ぶ
 +  - このままだと矢印が長すぎるので、[Modify] -> [Force Settings] でLength Factorの大きさを調節する(デフォルトは200だが30くらいがちょうどよい)
  
 ===== X点のフォノン ===== ===== X点のフォノン =====
  
-今度はX点(2π/a,0,0)のフォノンを調べ。 手順はさきほどと同じであるが、誘電率計算できないことに注意+今度はX点(2π/a,0,0)のフォノンを調べます 
 +手順はさきほどと同じでが、誘電率計算が不要です。
  
-<file - si.phX.in>+<file - Si.phX.in>
 phonons of Si at X phonons of Si at X
  &inputph  &inputph
   tr2_ph=1.0d-14,   tr2_ph=1.0d-14,
-  prefix='si'+  prefix='Si', 
-  amass(1)=28.08+  outdir='./tmp/', 
-  outdir='./', +  fildyn='Si.dynX',
-  fildyn='si.dynX',+
  /  /
 1.0 0.0 0.0 1.0 0.0 0.0
 </file> </file>
  
-  $ ph.x < si.phX.in > si.phX.out+  $ ph.x < Si.phX.in > Si.phX.out
  
-結果はsi.dynXに出力され+結果は Si.dynX に出力されます
  
-<file -si.dynX>+<file -Si.dynX>
 (中略) (中略)
  **************************************************************************  **************************************************************************
Line 139: Line 178:
 </file> </file>
  
-2重に縮退したものが3つあることがわかる。+2重に縮退したものが3つあることがわかります。 
 + 
 +変位ベクトルを計算す場合は次のファイルを用意して、Γ点と同じように計算してください 
 + 
 + 
 +<file - Si.dynmat.in> 
 +&inputfil 
 +  dyn ='Si.dynX', 
 +  filxsf = 'dynmatX.axsf' 
 +  asr ='no' 
 +
 +</file>
quantumespresso/phonon/フォノンの計算.txt · Last modified: 2021/06/27 22:04 (external edit)