VASP计算笔记_声子谱计算

声子谱计算

主要使用phonopy软件计算声子谱。版本:phonopy-2.1.3

密度泛函微软理论/线性响应方法 (DFPT)

必要的输入文件:

INCAR
KPOINTS
POSCAR-unitcell #优化得到的初始晶胞
POTCAR
band.conf

1 扩胞得到计算所需的POSCAR

#在Linux终端直接运行命令
#1. 生成超胞
phonopy -d --dim="2 2 2" -c POSCAR-unitcell #--dim='2 2 2'表示'x y z'方扩的大小
#2. 将生成的SPOSCAR拷贝成POSCAR
cp SPOSCAR POSCAR

2 提交VASP计算

INCAR设置如下:

 ISMEAR =  0            (Gaussian smearing)
 SIGMA  =  0.05         (Smearing value in eV)
 IBRION =  8            (determines the Hessian matrix using DFPT)
 EDIFF  =  1E-08        (SCF energy convergence; in eV) 
 PREC   =  Accurate     (Precision level)  
 ENCUT  =  500          (Cut-off energy for plane wave basis set, in eV) 
 IALGO  =  38           (Davidson block iteration scheme)
 LREAL  = .FALSE.       (Projection operators: false)
 LWAVE  = .FLASE.       (Write WAVECAR or not)
 LCHARG = .FLASE.       (Write CHGCAR or not) 
 ADDGRID= .TRUE.        (Increase grid; helps GGA convergence) 
 NSW    = 1
 NELM   = 100
 NELMDL = -5

KPOINTS需适当减小,可以的话最好再进行一次收敛测试
注:KPOINTS文件每行一定要顶格写,不能前面不能空格,不然可能会报错。

A
0
M
3  3  3
0  0  0

提交VASP计算

#若未安装作业管理程序,可直接运行下段命令。若安装了作业管理程序,请参考作业理手册。例如PBS作业管理系统。
mpirun -np 16 vasp_std > vasp.log

PBS作业管理系统提交计算脚本 (根据需要命名,最好以.pbs 或者 .sh结尾)

#!/bin/bash
 #PBS -N phono
 #PBS -j oe
 #PBS -l nodes=1:ppn=16
 cd ${PBS_O_WORKDIR}
 mpirun -n 16  vasp.x_std >& vasp.log

将所有文件放到一个文件夹,在终端运行qsub *.pbsor qsub *.sh

3 计算声子谱

准备band.conf文件,如下所示:(参数含义详见phonopy官网)

 ATOM_NAME =Si
 DIM = 2 2 2
 PRIMITIVE_AXES=Auto
 MP = 24 24 24
 BAND =0.0 0.0 0.0  0.5 0.0 0.5  0.625  0.25  0.625, 0.375 0.375 0.75  00 0.0 0.0  0.5 0.5 0.5
 BAND_POINTS = 101
 FORCE_CONSTANTS= READ

获取声子谱后处理步骤

 #直接在终端运行
 #1. 提取力常数,得到FORCE_CONSTANTS文件。
 phonopy --fc vasprun.xml

 #2. 计算声子谱并保存为pdf格式
 phonopy -c POSCAR-unitcell band.conf -p -s

 #3. 将声子谱进一步输出为数据文件,用于其它软件画图。
 #旧版本phonopy
 bandplot  --gnuplot> phonon.out

 #新版本phonopy
 phonopy-bandplot --gnuplot > phonon.out

 #phonon.out文件中首行是高对称点在x轴上的坐标

有限位移方法
要的输入文件:

sh
AR
INTS
CAR-unitcell #优化得到的初始晶胞
CAR
d.conf

扩胞得到计算所需的POSCAR

#在Linux终端直接运行命令

#1. 生成超胞
phonopy -d --dim="2 2 2" -c POSCAR-unitcell #--dim='2 2 2'表示'x y z'扩胞的大小
#会得到一系列POSCAR-001,POSCAR-002,... 数量由对称性决定。

#2. 建立disp-*文件夹,具体数量以生成POSCAR-*的数量决定。将POSCAR-POTCAR, INCAR, KPOINTS放入disp-*文件夹
mkdir disp-001
cp POSCAR-001 ./disp-001/POSCAR
cp POTCAR ./disp-001/POTCAR
cp INCAR ./disp-001/INCAR
cp KPOINTS ./disp-001/KPOINTS

提交VASP计算

INCAR设置如下(静态计算):

 PREC = Accurate
 IBRION = -1
 ENCUT = 500
 EDIFF = 1.0e-08
 EDIFFG = -0.001
 ISMEAR = 0
 SIGMA = 0.05
 IALGO = 38
 LREAL = .FALSE.
 LWAVE = .FALSE.
 LCHARG = .FALSE.

KPOINTS需适当减小,可以的话最好再进行一次收敛测试
注:KPOINTS文件每行一定要顶格写,不能前面不能空格,不然可能会报错。

A
0
M
3  3  3
0  0  0

提交VASP计算

#若未安装作业管理程序,可直接运行下段命令。若安装了作业管理程序,请参考作理手册。例如PBS作业管理系统。
mpirun -np 16 vasp_std > vasp.log

PBS作业管理系统提交计算脚本 (根据需要命名,最好以.pbs 或者 .sh结尾)

#!/bin/bash
 #PBS -N phono
 #PBS -j oe
 #PBS -l nodes=1:ppn=16

 cd ${PBS_O_WORKDIR}

 mpirun -n 16  vasp_std >& vasp.log

将所有文件放到一个文件夹,在终端运行qsub *.pbsor qsub *.sh

3 计算声子谱

准备band.conf文件,如下所示:(参数含义详见phonopy官网)

 ATOM_NAME =Si
 DIM = 2 2 2
 PRIMITIVE_AXES=Auto
 MP = 24 24 24
 BAND =0.0 0.0 0.0  0.5 0.0 0.5  0.625  0.25  0.625, 0.375 0.375 0.75  0.0 0.0 0.0  0.5 0.5 0.5
 BAND_POINTS = 101
 FULL_FORCE_CONSTANTS = .TRUE.
 FORCE_CONSTANTS= WRITE #生成FORCE_CONSTANTS 

准备mesh.conf文件,如下所示:

ATOM_NAME = Si
DIM = 2 2 2
MP = 24 24 24

获取声子谱后处理步骤

 #直接在终端运行
 #1. 提取动力学矩阵,进入disp-*的上一级文件夹
 phonopy -f ./disp-*/vasprun.xml
 #会生成FORCE_SET
 #2. 计算声子谱并保存为pdf格式,同时生成FORCE_CONSTANTS
 phonopy -c POSCAR-unitcell band.conf -p -s
 #3. 将声子谱进一步输出为数据文件,用于其它软件画图。
 #旧版本phonopy
 bandplot  --gnuplot> phonon.out
 #新版本phonopy
 phonopy-bandplot --gnuplot > phonon.out
 #phonon.out文件中首行是高对称点在x轴上的坐标

在这里插入图片描述

  • 10
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值