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
quantumespresso:phonon:フォノンの計算 [2020/11/18 19:50]
koudai [Γ点のフォノン]
quantumespresso:phonon:フォノンの計算 [2020/12/05 04:53]
koudai [Γ点のフォノン]
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 51: Line 57:
  
 ^変数^初期値^説明^ ^変数^初期値^説明^
-|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|./|出力ファイルの場所。SCF計算のものと同じにする
-|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 の極限をとることを指定します。
 +    * Si.phG.inで波数を 0.01 0.0 0.0 とした場合はasrおよびlpermの行を削除して q(1) = 0.01 としてください。
 +  * asrはacoustic sum ruleの略で、'simple'にするとΓ点で音響フォノンの振動数がゼロになるようにします。デフォルトは'no'(何もしない)です。このほか、次のものが指定できます
 +    * zero-dim ... 分子の計算で使います
 +    * one-dim ... 1次元系の計算(カーボンナノチューブなど)に使います
 +    * crystal ... simpleよりも計算精度があがりますが、その分コストも増えます。simpleでうまく行かない場合はこちらにします。
 +
 +実行は次のようにします。
 +<code>
 +$ dynmat.x < Si.dynmatG.in > Si.dynmatG.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 183:
 </file> </file>
  
-2重に縮退したものが3つあることがわかる。+2重に縮退したものが3つあることがわかります。 
 + 
 +変位ベクトルを計算す場合は次のファイルを用意して、Γ点と同じように計算してください 
 + 
 + 
 +<file - Si.dynmatX.in> 
 +&inputfil 
 +  dyn ='Si.dynX', 
 +  filxsf = 'dynmatX.axsf' 
 +
 +</file> 
 + 
 +<code> 
 +$ dynmat.x < Si.dynmatX.in > Si.dynmatX.out 
 +</code>
quantumespresso/phonon/フォノンの計算.txt · Last modified: 2021/06/27 22:04 (external edit)