Quantum Espresso + Phonopy 计算声子过程
以Ammonia (N4H12) 为例。
第一步: 松弛结构/ Geometry Optimization
Input:
&control
calculation = 'relax',
nstep = 300,
etot_conv_thr = 1.0d-4,
forc_conv_thr = 2.0d-3,
restart_mode = 'from_scratch',
prefix = 'ammonia',
outdir = 'Waves',
pseudo_dir = '/home/z8j/svn_personal/qe/pp'
/
&system
ibrav = 0,
ntyp = 2,
nat = 16,
occupations = 'fixed',
ecutwfc = 80
/
&electrons
mixing_beta = 0.7,
conv_thr = 1.d-8,
electron_maxstep = 1000,
startingwfc = 'atomic+random'
/
&ions
ion_positions = "default"
/
ATOMIC_SPECIES
H 1.000 H.pbe-rrkjus.UPF
N 14.000 N.pbe-rrkjus.UPF
CELL_PARAMETERS angstrom
5.1305 0.0000 0.0000
0.0000 5.1305 0.0000
0.0000 0.0000 5.1305
K_POINTS automatic
4 4 4 1 1 1
ATOMIC_POSITIONS angstrom
N 1.0789441 1.0789441 1.0789441
N 1.4863058 4.0515558 3.6441941
N 3.6441941 1.4863058 4.0515558
N 4.0515558 3.6441941 1.4863058
H 1.9095721 1.3477823 0.5710246
H 1.9942253 3.2209279 3.9130323
H 3.1362746 0.6556779 3.7827176
H 4.5594753 4.4748221 1.2174676
H 1.3477823 0.5710246 1.9095721
H 1.2174676 4.5594753 4.4748221
H 3.2209279 3.9130323 1.9942253
H 0.5710246 1.9095721 1.3477823
H 0.6556779 3.7827176 3.1362746
H 4.4748221 1.2174676 4.5594753
H 3.9130323 1.9942253 3.2209279
H 3.7827176 3.1362746 0.6556779
然后Run pw.x:
PBS file:
1 #!/bin/bash 2 3 #PBS -A sns 4 #PBS -q long 5 #PBS -m ea 6 #PBS -M 123123@foxmail.com 7 #PBS -j oe 8 #PBS -l qos=condo 9 #PBS -W group_list=cades-virtues 10 #PBS -l walltime=50:30:00 11 #PBS -l nodes=4:ppn=32 12 #PBS -N ammonia-rlx-qe@/lustre/or-hydra/cades-virtues/z8j/run/rmg_test_ORNL/Ammonia/qe 13 14 module load /software/tools/modules/env/cades-virtues 15 module load /software/tools/modules/compilers/intel/2016.1 16 module load /software/tools/modules/utils/intel/mkl/2016.1 17 module load /software/tools/modules/mpi/openmpi/intel/1.10.2 18 module load /software/user_tools/current/modules/cades-virtues/env/intel 19 module load /software/user_tools/current/modules/cades-virtues/espresso/5.4.0 20 module list 21 22 export OMP_NUM_THREADS=1 23 24 cd /lustre/or-hydra/cades-virtues/z8j/run/rmg_test_ORNL/Ammonia/qe 25 26 date 27 28 mpirun -np 128 --bind-to none --map-by ppr:32:node:pe=1 /software/user_tools/current/cades-virtues/apps/quantum-espresso/intel/espresso/5.4.0/pw.x < qe.in > qe.00.out 29 30 date
第二步: 写好用来构建超胞用的单胞/Prepare unit cell file for supercell building
这一步比较简单,直接从第一步的output file里读取出现成的原子位置即可,然后修改下必要的参数,如名字 Kpoint mesh。有一点需要注意,phonopy只支持crystal 的原子位置类型,所以需要自己转换一下。
&control
calculation = 'scf',
nstep = 300,
etot_conv_thr = 1.0d-4,
forc_conv_thr = 2.0d-3,
restart_mode = 'from_scratch',
prefix = 'ammonia',
outdir = 'Waves',
pseudo_dir = '/home/z8j/svn_personal/qe/pp'
/
&system
ibrav = 0
ntyp = 2,
nat = 16,
occupations = 'fixed',
ecutwfc = 80
/
&electrons
mixing_beta = 0.7,
conv_thr = 1.d-8,
electron_maxstep = 1000,
startingwfc = 'atomic+random'
/
ATOMIC_SPECIES
H 1.000 H.pbe-rrkjus.UPF
N 14.000 N.pbe-rrkjus.UPF
CELL_PARAMETERS angstrom
5.1305 0.0000 0.0000
0.0000 5.1305 0.0000
0.0000 0.0000 5.1305
K_POINTS automatic
4 4 4 1 1 1
ATOMIC_POSITIONS (crystal)
N 0.208255064 0.208255064 0.208255064
N 0.291744916 0.791744916 0.708255064
N 0.708255064 0.291744916 0.791744916
N 0.791744916 0.708255064 0.291744916
H 0.373650671 0.263677961 0.110622992
H 0.389376988 0.626349329 0.763677961
H 0.610622992 0.126349329 0.736322020
H 0.889376988 0.873650671 0.236322020
H 0.263677961 0.110622992 0.373650671
H 0.236322020 0.889376988 0.873650671
H 0.626349329 0.763677961 0.389376988
H 0.110622992 0.373650671 0.263677961
H 0.126349329 0.736322020 0.610622992
H 0.873650671 0.236322020 0.889376988
H 0.763677961 0.389376988 0.626349329
H 0.736322020 0.610622992 0.126349329
这一步不用运行,只是为下一步做准备。
第三步: 用Phonopy构建超胞/ Build supercells with displaced atoms by Phonopy
将上一步的input 拷出来并命名为qe.in,然后运行Phonoy(如果想省略掉-c选项的话,重命名为unitcell.in):
python /home/zjyx/softwares/phonopy-1.10.10/bin/phonopy --pwscf -d --dim="4 4 4" -c qe.in
这样当前目录下会出现若干个supercell-???.in文件。这些文件都是带有微扰的超胞,需要在下一步中用来做电子自洽计算。另外这些文件都只含有结构信息,缺少设置信息,需要把下面的信息添加为每个supercel.???.in的开头部分:
&control
calculation = 'scf',
nstep = 300,
etot_conv_thr = 1.0d-4,
forc_conv_thr = 2.0d-3,
tprnfor = .true.
tstress = .true.
restart_mode = 'from_scratch',
prefix = 'ammonia',
outdir = 'Waves',
pseudo_dir = '/u/sciteam/zhang7/svn_personal/qe/pp'
/
&system
ibrav = 0
ntyp = 2,
nat = 1024,
occupations = 'fixed',
ecutwfc = 80
/
&electrons
diagonalization = 'david',
mixing_beta = 0.7,
conv_thr = 1.d-8,
electron_maxstep = 1000,
startingwfc = 'atomic+random'
/
K_POINTS automatic
1 1 1 0 0 0
与前面的输入文件相比,这儿多了这两个选项:tprnfor = .true. 和 tstress = .true.。这样的话才会在电子自洽计算完成后输出每个原子的受力情况,用以构建后来的Force constant matrix.
第四步: 超胞的电子自洽计算/Electron SCF calculation of supercells
依次运行pw.x < supercell-???.in即可。
第五步: 用Phonopy计算

浙公网安备 33010602011771号