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

博文

VASP声子谱计算笔记

已有 7774 次阅读 2021-4-4 09:53 |系统分类:科研笔记

主要使用phonopy软件计算声子谱。


密度泛函微软理论/线性响应方法 (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需适当减小,可以的话最好再进行一次收敛测试

A
0
M
3  3  3
0  0  0


提交VASP计算


mpirun -np 16 vasp_std > vasp.log


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轴上的坐标


----------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------


有限位移方法


必要的输入文件:

INCAR 
KPOINTS
POSCAR-unitcell # 优化得到的初始晶胞
POTCAR
band.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
 ALGO = 38
 LREAL = .FALSE.
 LWAVE = .FALSE.
 LCHARG = .FALSE.

KPOINTS需适当减小,可以的话最好再进行一次收敛测试


A
0
M
3  3  3
0  0  0

提交VASP计算


mpirun -np 16 vasp_std > vasp.log


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

获取声子谱后处理步骤

bash

 #直接在终端运行
 #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轴上的坐标


Si_phonon.png



https://blog.sciencenet.cn/blog-3469498-1280197.html

上一篇:团队成员
下一篇:课题组新进展-研究发现电子化合物中反常的缺陷占据行为和超高化学价态
收藏 IP: 101.206.226.*| 热度|

0

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

数据加载中...

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

GMT+8, 2024-11-23 11:00

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部