User Tools

Site Tools


quantumespresso:phonon:フォノンの計算

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
quantumespresso:phonon:フォノンの計算 [2020/11/18 19:42]
koudai 作成
quantumespresso:phonon:フォノンの計算 [2020/11/20 02:26]
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 33: Line 39:
 電子状態の計算が終われば、フォノンの振動数を計算できるようになる。 まず、k=(0,0,0)のΓ点におけるフォノンを計算してみる。 以下のファイルを用意する。 電子状態の計算が終われば、フォノンの振動数を計算できるようになる。 まず、k=(0,0,0)のΓ点におけるフォノンを計算してみる。 以下のファイルを用意する。
  
-<file - si.phG.in>+<file - Si.phG.in>
 phonons of Si at Gamma phonons of Si at Gamma
  &inputph  &inputph
   tr2_ph=1.0d-14,   tr2_ph=1.0d-14,
-  prefix='si',+  prefix='Si',
   epsil=.true.,   epsil=.true.,
-  outdir='./', +  outdir='./tmp/', 
-  fildyn='si.dynG',+  fildyn='Si.dynG',
  /  /
 0.0 0.0 0.0 0.0 0.0 0.0
 </file> </file>
  
-第1行はコメント行とみなされ無視され。 また、最後の行は計算する波数(デカルト座標で、単位は格子定数aを使って2π/a)を表す。 +第1行はコメント行とみなされ無視されます 
-各引数の意味は次のとおりである。 +また、最後の行は計算する波数(デカルト座標で、単位は格子定数aを使って2π/a)を表します。
-詳細はマニュアルを参照のこと+
  
-|tr2_ph|フォノン計算の収束条件。デフォルト1.0d-12であるが、経験的に1.0d-14を使ったほうがよい。| +各引数意味のとおりです。
-|prefix|si.scf.inで使用したプレフィックスと同じにする。| +
-|epsil|デフォルトは.false.だが、誘電率を計算するならば.true.を指定する。ただし.true.にする場合は、半導体かつΓ点計算でないエラーが出る。| +
-|outdir|出力ファイルの場所。| +
-|fildyn|結果あるdynamical matrixを出力るファイル名|+
  
-実行は次うにする。+^変数^初期値^説明^ 
 +|tr2_ph|1.0d-12|フォノン計算の収束条件。経験的に1.0d-14を使ったほがよい。| 
 +|prefix|pwscf|SCF計算で使用したプレフィックスと同じにする。
 +|epsil|.false.|誘電率を計算する。Γ点の計算に必要。ただし.true.にする場合は、半導体かつΓ点の計算でないとエラーが出る。| 
 +|outdir|./|出力ファイルの場所。| 
 +|fildyn|matdyn|結果であるdynamical matrixを出力するファイル名。|
  
-  $ ph.x < si.phG.in > si.phG.out+  * 金属の場合は、epsil=.false.として、計算するk点を 0.01 0.0 0.0 のようにΓ点から少しずらしてやるとうまくいきます。
  
-結果si.dynGで見ることができる+実行次のようにします
  
-<file - si.dynG>+<code> 
 +$ ph.x < Si.phG.in > Si.phG.out 
 +</code> 
 + 
 +結果はfildynで指定したもの(今の場合はSi.dynG)に出力されます。 
 + 
 +<file - Si.dynG>
 (中略) (中略)
  **************************************************************************  **************************************************************************
Line 91: 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.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 136: 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)