xiaoqiugood的个人博客分享 http://blog.sciencenet.cn/u/xiaoqiugood

博文

电声耦合常数:成功运行例子文件 example03

已有 9701 次阅读 2013-11-13 05:19 |个人分类:声子谱计算|系统分类:科研笔记

关注:

  1)例子文件的构造;

  2)背后涉及的理论知识;

  3)真实计算研究时,哪些参数需要调整;

  4)为什么例子文件不到1小时就运行完了?


题记: 经历了N多莫名错误后,终于成功运行例子文件。

     其实技术不像理论,有时会与不会之间仅仅隔着一层窗户纸;很多时候,我们渴望有人能帮助我们捅破它,而不是在上面再罩上一层纸。

example03:
   This example shows how to calculate electron-phonon interaction
   coefficients at X for fcc Al.


电声耦合常数计算参数设置  elph=.true.,      5.0.2版改为 electron_phonon='interpolated',

###Step1: SCF at dense k-mesh, good enough for electronic DOS,  specifying  la2F = .true.,

K_POINTS {automatic}
16 16 16  0 0 0


la2F = .true.,


###Step2: SCF at k-mesh good enough for phonons

K_POINTS {automatic}
8 8 8  0 0 0


####Step3:Specifying option electron_phonon='interpolated'. and the file name : fildvscf


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',

 trans=.true.,
 ldisp=.true.
 nq1=4, nq2=4, nq3=4
/
EOF



##### Step4: Post processing:  q2r and matdyn


1  修改运行设置后的例子文件


# job script for quantum espresso

# the name of queue, should be cscore or csnode

APP_NAME="cscore"


# number of processes

NP=8


# fix command style

RUN="RAW"


# current directory

CURDIR=$PWD


# build .nodelist

rm -rf $CURDIR/.nodelist >& /dev/null

for i in `echo $LSB_HOSTS`

do

echo $i >> $CURDIR/.nodelist

done


# directory for quantum espresso

EXEDIR=$HOME/bin/espresso502/bin


# directory for mpi (mvapich)

MPIDIR=/home/compiler/mpi/mvapich/1.0/icc.ifort-11.1/bin


# start calculation (scf)

#$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/pw.x -in scf.in > scf.out


# start calculation (nscf)

#$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/pw.x -in nscf.in > nscf.out


# start calculation (phonon)

#$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/pw.x -in ph.in > ph.out


#PARA_PREFIX='$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist'


#export PARA_PREFIX



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

PW_ROOT=/home/users/spclibtt/bin/espresso502/bin

PSEUDO_DIR=/home/users/spclibtt/home/yexq/shanghai-opt/pw-work/pseudo

TMP_DIR=/home/users/spclibtt/home/yexq/shanghai-opt/pw-work/environment/tmp2



#export PARA_PREFIX='mpirun -np 2'

# or   export PARA_PREFIX='mpirun' ,export  PARA_POSTFIX= -np 3

export PATH=/home/compiler/mpi/mvapich/1.0/icc.ifort-11.1/bin:$PATH

export PARA_PREFIX='mpirun -np 16'






export PW_ROOT PSEUDO_DIR TMP_DIR




export name='al-test'


rm -rf scratch1


mkdir -p ./scratch1



rm -r ./scratch1/*.save

rm ./scratch1/*








#

# step 1:  SCF at dense k-mesh, good enough for electronic 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,   【并没有设置 ecutrho = 8 to 12 times ecutwfc when we use this ultrasoft pseudopotentials as suggested by the manual of Quantum Espresso

   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

$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/pw.x  < al.scf.fit.in > al.scf.fit.out



#step2      SCF at 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

ATOMIC_POSITIONS

Al 0.00 0.00 0.00

K_POINTS {automatic}

8 8 8  0 0 0

EOF

$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/pw.x < al.scf.in > al.scf.out




#Step3:Specifying option electron_phonon='interpolated'. and the file name : fildvscf#####

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',

 trans=.true.,

 ldisp=.true.

 nq1=4, nq2=4, nq3=4

/

EOF

$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/ph.x < 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

$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/q2r.x < 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

$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/matdyn.x < matdyn.in.freq > matdyn.out.freq

#

#

#

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

$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/matdyn.x  < matdyn.in.dos > matdyn.out.dos

#

#

#

cat > lambda.in << EOF

10  0.12  1    ! emax (something more than highest 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 Coloumb coefficient in the modified

                        ! Allen-Dynes formula for T_c (via \omega_log)

EOF

$MPIDIR/mpirun -np $NP -machinefile $CURDIR/.nodelist $EXEDIR/lambda.x < lambda.in > lambda.out


注释:

注意: 用的是模守恒赝势

Al.pz-vbc.UPF

Pseudopotential type: NORMCONSMethod: Von Barth-Car (direct fit)Functional type: Perdew-Zunger (LDA) exch-corrscalar relativisticOrigin: Original QE PP library Author: P. GiannozziGenerated by ld1 codeUploaded by Erica VidalClassification controlled by Paolo Giannozzi


Sc的不是模守恒赝势

Pseudopotential type: ULTRASOFTMethod: Vanderbilt ultrasoftFunctional type: Perdew-Burke-Ernzerhof (PBE) exch-corrSemi-core state in valenceNonlinear core correctionscalar relativisticOrigin: Original QE PP library Generated by Vanderbilt code version 7.3.5More Information: Sc.pbe-nsp-van.txtUploaded by Erica VidalClassification controlled by Paolo Giannozzi



2. 从上面文件中提去的getlambda.sh文件,直接运行得到Tc



cat getlamda.sh

#!/bin/sh


cat > lambda.in << EOF

10  0.12  1    ! emax (something more than highest 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 Coloumb coefficient in the modified

                        ! Allen-Dynes formula for T_c (via omega_log)

EOF

/home/users/spclibtt/bin/espresso502/bin/lambda.x < lambda.in > lambda.out



3. 结果显示


cat lambda.out

    lambda = 0.286066 (  0.286063)  <log w>=  411.736K  N(Ef)= 1.338760 at degauss=0.005

    lambda = 0.407408 (  0.406148)  <log w>=  360.789K  N(Ef)= 1.881758 at degauss=0.010

    lambda = 0.420930 (  0.418334)  <log w>=  352.188K  N(Ef)= 2.123243 at degauss=0.015

    lambda = 0.405945 (  0.403146)  <log w>=  349.784K  N(Ef)= 2.249755 at degauss=0.020

    lambda = 0.389459 (  0.386884)  <log w>=  347.561K  N(Ef)= 2.329819 at degauss=0.025

    lambda = 0.381470 (  0.379160)  <log w>=  345.343K  N(Ef)= 2.396041 at degauss=0.030

    lambda = 0.380406 (  0.378276)  <log w>=  343.556K  N(Ef)= 2.455234 at degauss=0.035

    lambda = 0.383467 (  0.381430)  <log w>=  342.225K  N(Ef)= 2.507879 at degauss=0.040

    lambda = 0.388352 (  0.386352)  <log w>=  341.273K  N(Ef)= 2.552970 at degauss=0.045

    lambda = 0.393433 (  0.391441)  <log w>=  340.656K  N(Ef)= 2.589584 at degauss=0.050

lambda        omega_log          T_c

  0.28607       411.736              0.122

  0.40741       360.789              1.679

  0.42093       352.188              1.953

  0.40595       349.784              1.596

  0.38946       347.561              1.249

  0.38147       345.343              1.094

  0.38041       343.556              1.069

  0.38347       342.225              1.119

  0.38835       341.273              1.205

  0.39343       340.656              1.300




# degauss   lambda    int alpha2F  <log w>     N(Ef)

 0.005    0.286066    0.286063   411.736    1.338760

 0.010    0.407408    0.406148   360.789    1.881758

 0.015    0.420930    0.418334   352.188    2.123243

 0.020    0.405945    0.403146   349.784    2.249755

 0.025    0.389459    0.386884   347.561    2.329819

 0.030    0.381470    0.379160   345.343    2.396041

 0.035    0.380406    0.378276   343.556    2.455234

 0.040    0.383467    0.381430   342.225    2.507879

 0.045    0.388352    0.386352   341.273    2.552970

 0.050    0.393433    0.391441   340.656    2.589584



 



https://blog.sciencenet.cn/blog-567091-741286.html

上一篇:电声耦合常数计算之:手册学习
下一篇:自由电子的费米能级
收藏 IP: 139.205.194.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (9 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-16 15:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部