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计算

 

posted @ 2017-03-21 03:10  zjyx  阅读(4108)  评论(0编辑  收藏  举报