||
关注:
1)将精度调高了,终于没有虚频;PWscf的计算参数的设置非常敏感
2)PWscf计算电声耦合过程各步骤的作用及其对电声耦合矩阵计算的影响;如自洽步骤参数的设置对电声耦合步骤计算精度及时间的影响等。
3) 计算结果的分析及Tc的选取
贴出源文件及get-Tc的脚本如下:
1 输入文件
cd $PBS_O_WORKDIR
export name='sch'
mkdir -p ./scratch1
rm -r ./scratch1/*.save
rm ./scratch1/*
####################1st a scf calculation for the dense k-point grid,specify option la2f=.true #############################
cat > $name.scf.fit.in << EOF
&control
calculation = 'scf'
restart_mode='from_scratch',
prefix='$name',
pseudo_dir = './',
outdir='./scratch1/'
tstress=.t.,
tprnfor=.t.
/
&system
ibrav=0,
nat=3,
ntyp=2,
ecutwfc= 90,
occupations ='smearing', smearing ='mp',degauss =0.05
la2F = .true.
/
&electrons
mixing_beta = 0.7
conv_thr = 1.0d-8
/
ATOMIC_SPECIES
H 1.008 H.pbe-van_ak.UPF
Sc 44.9559 Sc.pbe-nsp-van.UPF
CELL_PARAMETERS {bohr}
-4.512208952 0 -4.512208952
-4.512208952 4.512208952 0
0 4.512208952 -4.512208952
ATOMIC_POSITIONS (crystal)
H 0.250000000 0.250000000 0.250000000
H 0.750000000 0.750000000 0.750000000
Sc 0.000000000 0.000000000 0.000000000
K_POINTS {automatic}
36 36 36 0 0 0
EOF
mpirun -np $NPROCS pw.x < $name.scf.fit.in >$name.scf.fit.out
############################2nd: a normal scf for phonon dispersion calculation on the coarse k-point grid###################
cat > $name.scf.in << EOF
&control
calculation = 'scf'
restart_mode='from_scratch',
prefix='$name',
pseudo_dir = './',
outdir='./scratch1/'
tstress=.t.,
tprnfor=.t.
/
&system
ibrav=0,
nat=3,
ntyp=2,
ecutwfc= 90,
occupations ='smearing', smearing ='mp',degauss =0.05
/
&electrons
mixing_beta = 0.7
conv_thr = 1.0d-8
/
ATOMIC_SPECIES
H 1.008 H.pbe-van_ak.UPF
Sc 44.9559 Sc.pbe-nsp-van.UPF
CELL_PARAMETERS {bohr}
-4.512208952 0 -4.512208952
-4.512208952 4.512208952 0
0 4.512208952 -4.512208952
ATOMIC_POSITIONS (crystal)
H 0.250000000 0.250000000 0.250000000
H 0.750000000 0.750000000 0.750000000
Sc 0.000000000 0.000000000 0.000000000
K_POINTS {automatic}
18 18 18 0 0 0
EOF
mpirun -np $NPROCS pw.x < $name.scf.in >$name.scf.out
######################################phonon calculation, specifying option electron_paononh='interpolated'. and the file name : fildvscf#########################
cat > $name.elph.in << EOF
Electron-phonon coefficients for ScH4
&inputph
tr2_ph=1.0d-13, 【感觉这个参数可能对消除虚频起的作用最大】
prefix='$name',
amass(1)=1.008
amass(2)=44.9559,
outdir='./scratch1/'
fildyn='$name.dyn',
fildvscf='$name.dv',
electron_phonon='interpolated',
trans=.true.,
ldisp=.true.,
nq1= 6,nq2= 6,nq3= 6
/
EOF
mpirun -np $NPROCS ph.x < $name.elph.in > $name.elph.out
2. get-Tc的脚本
cat ../getlambda.sh
#!/bin/sh
cat > lambda.in << EOF
36.635825 0.01 1 ! emax (something more than highest phonon mode in THz), degauss, smearing method
16 ! Number of q-points for which EPC is calculated,
0.0000000 0.0000000 0.0000000 0.0092593
0.1178511 0.1178511 -0.1178511 0.0740741
0.2357023 0.2357023 -0.2357023 0.0740741
-0.3535534 -0.3535534 0.3535534 0.0370370
0.0000000 0.2357023 0.0000000 0.0555556
0.1178511 0.3535534 -0.1178511 0.2222222
-0.4714045 -0.2357023 0.4714045 0.2222222
-0.3535534 -0.1178511 0.3535534 0.2222222
-0.2357023 0.0000000 0.2357023 0.1111111
0.0000000 0.4714045 0.0000000 0.0555556
-0.5892557 -0.1178511 0.5892557 0.2222222
-0.4714045 0.0000000 0.4714045 0.1111111
0.0000000 -0.7071068 0.0000000 0.0277778
-0.7071068 -0.2357023 0.4714045 0.2222222
-0.5892557 -0.1178511 0.3535534 0.2222222
0.0000000 -0.7071068 -0.2357023 0.1111111
elph. 0.000000. 0.000000. 0.000000 ! elph output file names,
elph. 0.117851. 0.117851.-0.117851
elph. 0.235702. 0.235702.-0.235702 ! in the same order as the q-points before
elph.-0.353553.-0.353553. 0.353553
elph. 0.000000. 0.235702. 0.000000
elph. 0.117851. 0.353553.-0.117851
elph.-0.471405.-0.235702. 0.471405
elph.-0.353553.-0.117851. 0.353553
elph.-0.235702. 0.000000. 0.235702
elph. 0.000000. 0.471405. 0.000000
elph.-0.589256.-0.117851. 0.589256
elph.-0.471405. 0.000000. 0.471405
elph. 0.000000.-0.707107. 0.000000
elph.-0.707107.-0.235702. 0.471405
elph.-0.589256.-0.117851. 0.353553
elph. 0.000000.-0.707107.-0.235702
0.10 ! \mu the Coloumb coefficient in the modified
! Allen-Dynes formula for T_c (via \omega_log)
EOF
/home/ah736/espresso/src/espresso-4.3.1/bin/lambda.x < lambda.in > lambda.out
3. 部分结果显示
cat lambda.dat
# degauss lambda int alpha2F <log w> N(Ef)
0.005 0.271571 0.246777 487.422 5.289009
0.010 0.238290 0.203896 478.847 4.953816
0.015 0.240737 0.202444 475.229 4.953320
0.020 0.242016 0.204814 472.958 4.955794
0.025 0.241654 0.208760 470.570 4.959466
0.030 0.240298 0.213531 469.347 4.966488
0.035 0.238339 0.217773 468.010 4.982388
0.040 0.235973 0.221346 467.256 5.012655
0.045 0.233523 0.224164 466.806 5.057725
0.050 0.231263 0.226278 466.296 5.112900
cat lambda.out
lambda = 0.271571 ( 0.246777) <log w>= 487.422K N(Ef)= 5.289009 at degauss=0.005
lambda = 0.238290 ( 0.203896) <log w>= 478.847K N(Ef)= 4.953816 at degauss=0.010
lambda = 0.240737 ( 0.202444) <log w>= 475.229K N(Ef)= 4.953320 at degauss=0.015
lambda = 0.242016 ( 0.204814) <log w>= 472.958K N(Ef)= 4.955794 at degauss=0.020
lambda = 0.241654 ( 0.208760) <log w>= 470.570K N(Ef)= 4.959466 at degauss=0.025
lambda = 0.240298 ( 0.213531) <log w>= 469.347K N(Ef)= 4.966488 at degauss=0.030
lambda = 0.238339 ( 0.217773) <log w>= 468.010K N(Ef)= 4.982388 at degauss=0.035
lambda = 0.235973 ( 0.221346) <log w>= 467.256K N(Ef)= 5.012655 at degauss=0.040
lambda = 0.233523 ( 0.224164) <log w>= 466.806K N(Ef)= 5.057725 at degauss=0.045
lambda = 0.231263 ( 0.226278) <log w>= 466.296K N(Ef)= 5.112900 at degauss=0.050
lambda omega_log T_c
0.27157 487.422 0.079
0.23829 478.847 0.012
0.24074 475.229 0.014
0.24202 472.958 0.015
0.24165 470.570 0.015
0.24030 469.347 0.013
0.23834 468.010 0.012
0.23597 467.256 0.010
0.23352 466.806 0.008
0.23126 466.296 0.007
摘录:
cat elph
#!/bin/sh
exportPW_ROOT=/data3/home/wanghui/apps/espresso-4.2.1/bin
exportPSEUDO_DIR=/lustre/data/wanghui/pwwork/pseudo
exportTMP_DIR=/lustre/data/wanghui/pwwork/tmpelph
exportPARA_PREFIX='mpirun -np 12'
rm -rf $TMP_DIR/*.save
rm $TMP_DIR/*
cat > cah6.scf.fit.in << EOF
&control
calculation='scf', #第一次自洽计算,k点网格较密
restart_mode='from_scratch',
prefix='cah6',
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
tstress=.t.,
tprnfor=.t.
/
&system
ibrav = 3,
celldm(1) = 6.42575168610880669416,
nat= 7,
ntyp= 2,
ecutwfc = 90,
occupations='smearing', smearing='methfessel-paxton', degauss=0.02
la2F= .true.,
/
&electrons
mixing_beta = 0.7
conv_thr = 1.0d-9
/
ATOMIC_SPECIES
H 1.00794 H_pbe_xy.ncpp #赝势文件和坐标对应,但只写种类
Ca 40.078 Ca_pbe_xy.ncpp
ATOMIC_POSITIONS{crystal}
H 0.75000 0.75000 0.50000
H 0.50000 0.25000 0.25000
H 0.25000 0.50000 0.75000
H 0.50000 0.75000 0.75000
H 0.25000 0.25000 0.50000
H 0.75000 0.50000 0.25000
Ca 0.00000 1.00000 1.00000
K_POINTS{automatic}
40 40 40 0 0 0
EOF
$PARA_PREFIX$PW_ROOT/pw.x < cah6.scf.fit.in >cah6.scf.fit.out
cat > cah6.scf.in << EOF #第二次自洽计算,k点网格较疏
&control
calculation='scf',
restart_mode='from_scratch',
prefix='cah6',
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
tstress=.t.,
tprnfor=.t.
/
&system
ibrav = 3,
celldm(1) = 6.42575168610880669416,
nat= 7,
ntyp= 2,
ecutwfc = 90,
occupations='smearing', smearing='methfessel-paxton', degauss=0.02
/
&electrons
mixing_beta = 0.7
conv_thr = 1.0d-9
/
ATOMIC_SPECIES
H 1.00794 H_pbe_xy.ncpp
Ca 40.078 Ca_pbe_xy.ncpp
ATOMIC_POSITIONS {crystal}
H 0.75000 0.75000 0.50000
H 0.50000 0.25000 0.25000
H 0.25000 0.50000 0.75000
H 0.50000 0.75000 0.75000
H 0.25000 0.25000 0.50000
H 0.75000 0.50000 0.25000
Ca 0.00000 1.00000 1.00000
K_POINTS{automatic}
20 20 20 00 0
EOF
$PARA_PREFIX $PW_ROOT/pw.x <cah6.scf.in >cah6.scf.out
#上条语句含义依次为:并行启动多少各核;在哪个路径下执行pw.x ;执行pw.x时从哪里读入数据,数据输出到哪里。
cat > cah6.elph.in << EOF
phonon of LA except Gamma
&inputph
tr2_ph=1.0d-12,
prefix='cah6',
amass(1)=1.00794,
amass(2)=40.078,
outdir='$TMP_DIR/',
fildyn='cah6.dyn',
fildvscf='cah6.dv'
elph=.true.,
trans=.true.,
ldisp = .true.,
nq1=10,nq2=10,nq3=10
/
EOF
$PARA_PREFIX $PW_ROOT/ph.x < cah6.elph.in >cah6.elph.out
#用ph.x进行声子计算
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-1 07:35
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社