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 20:23]
koudai [電子状態計算]
quantumespresso:phonon:フォノンの計算 [2020/12/05 04:49]
koudai [Γ点のフォノン]
Line 1: Line 1:
  
-===== 電子状態計算 =====+Siを例に、フォノンの簡単な計算を実行してみます。
  
-Siを例に、フォノンの簡単な計算を実行してみる。 事前にpw.xによる電子状態計算を行+===== SCF計算 ===== 
 + 
 +事前にpw.xによるSCF計算を行います
  
 <file - Si.scf.in> <file - Si.scf.in>
Line 26: Line 28:
 </file> </file>
  
-  * 金属の場合はsmearingを指定する必要がありますが、テトラヘドロン法はフォノン計算に使えません。+  * 金属の場合はsmearingを指定する必要がありますが、テトラヘドロン法はフォノン計算に使えません(以下のph.x実行時にエラーが出ます)
  
 <code> <code>
Line 55: 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 のようにΓ点から少しずらしてやるとうまくいきます。
Line 68: Line 70:
 $ ph.x < Si.phG.in > Si.phG.out $ ph.x < Si.phG.in > Si.phG.out
 </code> </code>
- 
-  * 金属の計算でSi.phG.out |ddv_scf|^2 が発散してしまう場合は、SCF計算の際にdegauss=0.001など小さいものを使ってください。計算がうまく行けば、収束がうまくいく範囲でdegaussを大きくします。 
  
 結果はfildynで指定したもの(今の場合はSi.dynG)に出力されます。 結果はfildynで指定したもの(今の場合はSi.dynG)に出力されます。
Line 107: Line 107:
 次のファイルを用意します。 次のファイルを用意します。
  
-<file - Si.dynmat.in>+<file - Si.dynmatG.in>
 &inputfil &inputfil
   dyn ='Si.dynG',   dyn ='Si.dynG',
 +  filxsf = 'dynmatG.axsf'
   asr ='simple',   asr ='simple',
   lperm = .true.,   lperm = .true.,
Line 118: Line 119:
 </file> </file>
  
-Γ点のフォノンは q->0 の極限で定義されます。lpermは q=(q(1), q(2), q(3)) に沿って q->0 の極限をとることを指定します。+  * Γ点のフォノンは q->0 の極限で定義されます。lpermは q=(q(1), q(2), q(3)) に沿って q->0 の極限をとることを指定します。 
 +    * さっきの計算で波数を 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> <code>
-$ dynmat.x < Si.dynmat.in > Si.dynmat.out+$ dynmat.x < Si.dynmatG.in > Si.dynmatG.out
 </code> </code>
  
-すると dynmat.axsf というファイルができるので、以下の手順で変位ベクトルを表示します。+すると dynmatG.axsf というファイルができるので、以下の手順で変位ベクトルを表示します。
  
-  - XCrysDenを起動して、[File] -> [Open Structure] -> [Open AXSF] よりdynmat.axsfを開く+  - XCrysDenを起動して、[File] -> [Open Structure] -> [Open AXSF] よりdynmatG.axsfを開く
   - ウィンドウが開くので、矢印ボタンを押して変位ベクトルを表示したいフォノンを選ぶ(エネルギーの低い順です)   - ウィンドウが開くので、矢印ボタンを押して変位ベクトルを表示したいフォノンを選ぶ(エネルギーの低い順です)
   - いったん [Hide] ボタンを押してウィンドウを最小化する   - いったん [Hide] ボタンを押してウィンドウを最小化する
Line 143: Line 149:
   tr2_ph=1.0d-14,   tr2_ph=1.0d-14,
   prefix='Si',   prefix='Si',
-  amass(1)=28.08, 
   outdir='./tmp/',   outdir='./tmp/',
   fildyn='Si.dynX',   fildyn='Si.dynX',
Line 183: Line 188:
  
  
-<file - Si.dynmat.in>+<file - Si.dynmatX.in>
 &inputfil &inputfil
   dyn ='Si.dynX',   dyn ='Si.dynX',
-  asr ='no'+  filxsf = 'dynmatX.axsf'
 / /
 </file> </file>
 +
 +<code>
 +$ dynmat.x < Si.dynmatX.in > Si.dynmatX.out
 +</code>
quantumespresso/phonon/フォノンの計算.txt · Last modified: 2021/06/27 22:04 (external edit)