quantumespresso:phonon:フォノンの計算
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
quantumespresso:phonon:フォノンの計算 [2020/11/18 20:33] – [SCF計算] koudai | quantumespresso:phonon:フォノンの計算 [2021/06/27 22:04] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 28: | Line 28: | ||
</ | </ | ||
- | * 金属の場合はsmearingを指定する必要がありますが、テトラヘドロン法はフォノン計算に使えません。 | + | * 金属の場合はsmearingを指定する必要がありますが、テトラヘドロン法はフォノン計算に使えません(以下のph.x実行時にエラーが出ます)。 |
< | < | ||
Line 57: | Line 57: | ||
^変数^初期値^説明^ | ^変数^初期値^説明^ | ||
- | |tr2_ph|1.0d-12|フォノンの計算の収束条件。経験的に1.0d-14を使ったほうがよい。| | + | |tr2_ph|1.0d-12|フォノンの計算の収束条件。経験的に1.0d-14を使ったほうがよい| |
- | |prefix|pwscf|SCF計算で使用したプレフィックスと同じにする。| | + | |prefix|pwscf|SCF計算で使用したプレフィックスと同じにする| |
- | |epsil|.false.|誘電率を計算する。Γ点の計算に必要。ただし.true.にする場合は、半導体かつΓ点の計算でないとエラーが出る。| | + | |epsil|.false.|誘電率を計算する。Γ点の計算に必要。ただし.true.にする場合は、半導体かつΓ点の計算でないとエラーが出る| |
- | |outdir|./ | + | |outdir|./ |
- | |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 70: | Line 70: | ||
$ ph.x < Si.phG.in > Si.phG.out | $ ph.x < Si.phG.in > Si.phG.out | ||
</ | </ | ||
- | |||
- | * 金属の計算で |ddv_scf|^2 が発散してしまう場合は、SCF計算の際にdegauss=0.001など小さいものを使ってください。計算がうまく行けば、収束がうまくいく範囲でdegaussを大きくします。 | ||
結果はfildynで指定したもの(今の場合はSi.dynG)に出力されます。 | 結果はfildynで指定したもの(今の場合はSi.dynG)に出力されます。 | ||
Line 109: | Line 107: | ||
次のファイルを用意します。 | 次のファイルを用意します。 | ||
- | <file - Si.dynmat.in> | + | <file - Si.dynmatG.in> |
& | & | ||
dyn =' | dyn =' | ||
+ | filxsf = ' | ||
asr =' | asr =' | ||
lperm = .true., | lperm = .true., | ||
Line 120: | Line 119: | ||
</ | </ | ||
- | Γ点のフォノンは q->0 の極限で定義されます。lpermは q=(q(1), q(2), q(3)) に沿って q->0 の極限をとることを指定します。 | + | * Γ点のフォノンは 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の略で、' | ||
+ | * zero-dim ... 分子の計算で使います | ||
+ | * one-dim ... 1次元系の計算(カーボンナノチューブなど)に使います | ||
+ | * crystal ... simpleよりも計算精度があがりますが、その分コストも増えます。simpleでうまく行かない場合はこちらにします。 | ||
実行は次のようにします。 | 実行は次のようにします。 | ||
< | < | ||
- | $ dynmat.x < Si.dynmat.in > Si.dynmat.out | + | $ dynmat.x < Si.dynmatG.in > Si.dynmatG.out |
</ | </ | ||
- | すると | + | すると |
- | - XCrysDenを起動して、[File] -> [Open Structure] -> [Open AXSF] よりdynmat.axsfを開く | + | - XCrysDenを起動して、[File] -> [Open Structure] -> [Open AXSF] よりdynmatG.axsfを開く |
- ウィンドウが開くので、矢印ボタンを押して変位ベクトルを表示したいフォノンを選ぶ(エネルギーの低い順です) | - ウィンドウが開くので、矢印ボタンを押して変位ベクトルを表示したいフォノンを選ぶ(エネルギーの低い順です) | ||
- いったん [Hide] ボタンを押してウィンドウを最小化する | - いったん [Hide] ボタンを押してウィンドウを最小化する | ||
Line 145: | Line 149: | ||
tr2_ph=1.0d-14, | tr2_ph=1.0d-14, | ||
prefix=' | prefix=' | ||
- | amass(1)=28.08, | ||
outdir=' | outdir=' | ||
fildyn=' | fildyn=' | ||
Line 185: | Line 188: | ||
- | <file - Si.dynmat.in> | + | <file - Si.dynmatX.in> |
& | & | ||
dyn =' | dyn =' | ||
- | | + | |
/ | / | ||
</ | </ | ||
+ | |||
+ | < | ||
+ | $ dynmat.x < Si.dynmatX.in > Si.dynmatX.out | ||
+ | </ |
quantumespresso/phonon/フォノンの計算.1605699184.txt.gz · Last modified: 2021/06/27 21:59 (external edit)