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:21]
koudai [Γ点のフォノン]
quantumespresso:phonon:フォノンの計算 [2020/11/20 02:39]
koudai [X点のフォノン]
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',
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 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|./|出力ファイルの場所。|
Line 64: 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 103: 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 114: 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 の極限をとることを指定します。 
 +  * asrはacoustic sum ruleの略で、'simple'にするとΓ点で音響フォノンの振動数がゼロになるようにします。デフォルトは'no'(何もしない)です。このほか、分子を計算するときに使う'zero-dim'などがあります。
  
 実行は次のようにします。 実行は次のようにします。
 <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 139: Line 145:
   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 179: Line 184:
  
  
-<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)