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:08]
koudai [X点のフォノン]
quantumespresso:phonon:フォノンの計算 [2020/12/05 04:49]
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',
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 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 98: 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 109: 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 126: Line 141:
 ===== 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 168: Line 183:
 </file> </file>
  
-2重に縮退したものが3つあることがわか+2重に縮退したものが3つあることがわかります
  
 変位ベクトルを計算する場合は次のファイルを用意して、Γ点と同じように計算してください。 変位ベクトルを計算する場合は次のファイルを用意して、Γ点と同じように計算してください。
  
  
-<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)