24小时热门版块排行榜    

查看: 3907  |  回复: 2

xiaoqiu007

新虫 (小有名气)

[求助] 5.0.2版PWSCF电声耦合常数的计算过程解读

跟上木虫上发的这个热帖:http://muchong.com/bbs/viewthread.php?tid=6086352&fpage=1,也请教几个关于5.0.2版PWSCF电声耦合常数的计算问题,希望能得到广大同仁的指点,我也会即时汇报我的计算进展。
5.0.2版计算电声耦合常数分为以下几个步骤:

1. make a self-consistent calculation for Al using a dense grid of k-points.   The dense grid must contain all k and k+q grid points used in the
   subsequent  electron-phonon calculation and must be dense enough to
produce accurate el-phon coefficients (in particular the double-delta  integral at Ef is very critical).

问题1:第一步就涉及q点和k点设置问题,例子中是设置成4 :2 :1的关系,即:16x16x16, 8x8x8, 4x4x4。请问q点的设置依据是什么?一般应设置成多少合适?
        什么是 the double-delta  integral at Ef ?

2. make aself-consistent calculation for Al using a grid of k-points   that is suitable for good self-consistency and phonon calculation.This example uses a (888) MP grid.



3.  make the phonon and electron-phonon calculation for the grid of q-points.   Specify elph=.true., and the name of a file where the derivative of the   potential is stored "fildvscf".This example uses a (444) MP grid of   q-points (nq1=4, nq2=4, nq3=4).
   The output contains the results for the el-ph coefficient at each q-point  lambda(q), gamma(q), and the double-delta integral at several values of   the gaussian broadening (set in filePH/elphon.f90). These are useful   for convergence testing.
   (input=al.elph.in,output=al.elph.out)
   The results are also written into outputfiles "a2Fq2r.*", one per value   of the gaussian broadening, for further use.
   
问题2:第三步中(1)5.0.2新版在ph.x步骤设置 electron_phonon='interpolated',   以前的老版本是设成:elph=.true.,请问另个参数的区别在哪里?
     (2)convergence testing是算完之后测试?   gaussian broadening 对计算结果有什么影响?
4. Bring to r-space both force constants and el-phon coefficients using "q2r.x"   Output in files "a2Fmatdyn.*", one per value of the gaussian broadening
问题3:第四步q2r.x,为什么要转换到实空间? 与gaussian broadening 有什么关系?这一步是必须的吗?

5.  Calculate gamma  on selected lines using "matdyn.x" (dos=.false.)
问题4: 这一步是在计算声子色散曲线,它是计算电声耦合常数必须的步骤吗?

6.  Calculate  lambda coefficient (in file"lambda" and the a^2F(omega)
   function using "matdyn.x" (dos=.true.)
问题5: 这一步感觉是在计算声子态密度,请问该步能同时给出 lambda coefficient和a^2F(omega)
   function 吗?
7.  Calculate lambda coefficient (in "lambda.out"and Tc using "lambda.x"
问题6: 计算仍在进行中,请问有过计算经历的同仁,新版通过这一步可以直接算出Tc吗?

        综上,感觉第5步,第6步似乎不是计算电声耦合常数必须的步骤,不知理解是否正确。 完整的例子文件如下所示:
     

# #########SCF at dense k-mesh, good enough forelectronic DOS 【多密算密】 #######

#

cat >al.scf.fit.in << EOF

&control

   calculation='scf'

   restart_mode='from_scratch',

   prefix='al',

   pseudo_dir = '$PSEUDO_DIR/',

   outdir='$TMP_DIR/'

/

&system

   ibrav= 2, celldm(1) =7.5, nat= 1, ntyp= 1,

   ecutwfc =15.0,

   occupations='smearing',smearing='methfessel-paxton', degauss=0.05,

   la2F= .true.,

/

&electrons

   conv_thr =  1.0d-8

   mixing_beta = 0.7

/

ATOMIC_SPECIES

Al 26.98 Al.pz-vbc.UPF

ATOMIC_POSITIONS

Al 0.00 0.00 0.00

K_POINTS{automatic}

16 16 16 0 0 0

EOF

$ECHO "  running the scf calculation with densek-point grid...\c"

$PW_COMMAND  < al.scf.fit.in > al.scf.fit.out





# ########## SCFat k-mesh good enough for phonons【多好算好!】######

#

cat > al.scf.in<< EOF

&control

   calculation='scf'

   restart_mode='from_scratch',

   prefix='al',

   pseudo_dir = '$PSEUDO_DIR/',

   outdir='$TMP_DIR/'

/

&system

   ibrav= 2, celldm(1) =7.5, nat= 1, ntyp= 1,

   ecutwfc =15.0,

   occupations='smearing',smearing='methfessel-paxton', degauss=0.05

/

&electrons

   conv_thr = 1.0d-8

   mixing_beta = 0.7

/

ATOMIC_SPECIES

Al 26.98 Al.pz-vbc.UPF   ####  Pseudopotential type: NORMCONS



ATOMIC_POSITIONS

Al 0.00 0.00 0.00

K_POINTS{automatic}

8 8 8  00 0

EOF

$ECHO "  running the scf calculation...\c"

$PW_COMMAND <al.scf.in > al.scf.out



#############################

cat >al.elph.in << EOF

Electron-phonon coefficients for Al

&inputph

tr2_ph=1.0d-10,

prefix='al',

fildvscf='aldv',

amass(1)=26.98,

outdir='$TMP_DIR/',

fildyn='al.dyn',

  electron_phonon='interpolated',   #与elph=.true.,的区别何在?

trans=.true.,

ldisp=.true.

nq1=4, nq2=4, nq3=4

/

EOF

$ECHO "  running the el-ph calculation...\c"

$PH_COMMAND <al.elph.in > al.elph.out





#

#   q2r and matdyn

#

cat > q2r.in<< EOF

&input

zasr='simple',  fildyn='al.dyn', flfrc='Al444.fc', la2F=.true.

/

EOF

$ECHO "  running q2r...\c"

$Q2R_COMMAND < q2r.in > q2r.out

#

###########声子谱:声子色散曲线####

cat >matdyn.in.freq << EOF

&input

   asr='simple',  amass(1)=26.98,

   flfrc='Al444.fc', flfrq='Al444.freq', la2F=.true., dos=.false.

/

19

0.000 0.0 0.0     0.0

0.125 0.0 0.0     0.0

0.250 0.0 0.0     0.0

0.375 0.0 0.0     0.0

0.500 0.0 0.0     0.0

0.750 0.0 0.0     0.0

1.000 0.0 0.0     0.0

0.825 0.125 0.125 0.0

0.750 0.250 0.250 0.0

0.625 0.375 0.375 0.0

0.500 0.500 0.500 0.0

0.325 0.325 0.325 0.0

0.250 0.250 0.250 0.0

0.125 0.125 0.125 0.0

0.000 0.000 0.000 0.0

0.125 0.125 0.000 0.0

0.250 0.250 0.000 0.0

0.325 0.325 0.000 0.0

0.500 0.500 0.000 0.0

EOF

$ECHO "  running matdyn for frequencycalculation...\c"

$MATDYN_COMMAND< matdyn.in.freq > matdyn.out.freq

check_failure $?



###########声子态密度计算####

cat >matdyn.in.dos << EOF

&input

   asr='simple',  amass(1)=26.98,

   flfrc='Al444.fc', flfrq='Al444.freq', la2F=.true., dos=.true.

   fldos='phonon.dos', nk1=10, nk2=10, nk3=10,ndos=50

/

EOF

$ECHO "  running matdyn for a2F(omega) calculation...\c"

$MATDYN_COMMAND< matdyn.in.dos > matdyn.out.dos

check_failure $?

$ECHO "  done"

#

#

############Eliashberg函数alpha^2 F和电声耦合常数lamda计算########

cat > lambda.in<< EOF

10  0.12 1    ! emax (something more thanhighest phonon mode in THz), degauss, smearing method

   8         ! Number of q-points for which EPC is calculated,

   0.0000000 0.0000000  0.0000000   1.00 ! the first q-point, use kpoints.x program to calculate

   -0.2500000 -0.2500000  0.2500000  8.00  ! q-points and their weight

   -0.5000000 -0.5000000  0.5000000  4.00  !

    0.0000000 0.0000000  0.5000000   6.00 ! 4th q-point, qx,qy,qz

   -0.2500000 -0.2500000  0.7500000 24.00  !

   -0.5000000 -0.5000000  1.0000000 12.00  !

    0.0000000 0.0000000  1.0000000   3.00 !

   -0.5000000 0.0000000  1.0000000   6.00 ! the last q-point

elph. 0.000000.0.000000. 0.000000 ! elph output file names,

elph.-0.250000.0.250000.-0.250000 ! in the same order as the q-points before  

elph.0.500000.-0.500000. 0.500000

elph. 0.000000.0.500000. 0.000000

elph.0.750000.-0.250000. 0.750000

elph. 0.500000.0.000000. 0.500000

elph.0.000000.-1.000000. 0.000000

elph.-0.500000.-1.000000.0.000000

0.10                     ! \mu the Coloumbcoefficient in the modified

                        ! Allen-Dynes formulafor T_c (via \omega_log)

EOF

$ECHO "  running lambda.x for lambdacalculation...\c"

$LAMBDA_COMMAND< lambda.in > lambda.out
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoqiu007

新虫 (小有名气)

谢谢,大部分已经看过了....
2楼2013-09-19 09:54:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nishihao

铜虫 (初入文坛)

不知您的进展如何,最近要要算电声相互作用,按照上面还有一些例子过了一遍。还不知道电声相互作用矩阵元怎么计算?
3楼2015-04-29 09:00:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaoqiu007 的主题更新
信息提示
请填处理意见