干货声子谱 干货详情

vasp声子谱计算(DFPT)

王磊774
第一性原理密度泛函理论密度泛函微扰理论声子谱计算有限位移法VASPPhonopy力常数晶格结构优化超胞方法声子态密度声子投影态密度热学性质氯化钠

有人在后台私信老王,让老王分享一下计算声子谱的方法。今天就来简单说一说。更多细节的还是推荐看phonopy的官方手册(文末有链接)。

使用vasp计算声子谱有两种方法,一种是有限位移方法,一种是密度泛函微扰理论方法。无论哪一种首先都是要精细的优化晶格结构。

注:声子部分后续更新会有振动模导出,伯恩有效电荷计算,声子拓扑紧束缚模型构建(如何生成hr文件),请持续关注。


一、精细优化

用如下INCAR:

ENCUT = 500      #根据体系调节

IBRION = 2

ISIF = 3

NSW = 20

NELMIN = 5

EDIFF = 1.0e-08         # 高精度

EDIFFG = -1.0e-08       # 高精度

IALGO = 38

ISMEAR = 0; SIGMA = 0.1

LREAL = .FALSE.      

LWAVE = .FALSE.

LCHARG = .FALSE.

优化完成,拷贝CONTCAR到POSCAR中,重新计算,重复几次。


二、扩胞

(1)  拷贝前面优化得到的CONTCAR文件为POSCAR-unitcell。  

Na Cl

  1.00000000000000

    5.6903014761756712    0.0000000000000000    0.0000000000000000

    0.0000000000000000    5.6903014761756712    0.0000000000000000

    0.0000000000000000    0.0000000000000000    5.6903014761756712

Na  Cl

4   4

Direct

 0.0000000000000000  0.0000000000000000  0.0000000000000000

 0.0000000000000000  0.5000000000000000  0.5000000000000000

 0.5000000000000000  0.0000000000000000  0.5000000000000000

 0.5000000000000000  0.5000000000000000  0.0000000000000000

 0.5000000000000000  0.5000000000000000  0.5000000000000000

 0.5000000000000000  0.0000000000000000  0.0000000000000000

 0.0000000000000000  0.5000000000000000  0.0000000000000000

 0.0000000000000000  0.0000000000000000  0.5000000000000000


(2) 采用Phonopy软件扩胞。

phonopy -d --dim ="2 2 2" -c POSCAR-unitcell

记下扩胞的大小2 2 2。得到disp.yamal、各POSCAR-00x及SPOSCAR文件。一般保证超胞中有~100原子。


三、vasp 计算力常数

cp SPOSCAR POSCAR

准备 KPOINTS、POTCAR 和 INCAR,进行 vasp 计算。此时,应确保设置的KPOINTS产生的NKPTS个数达到20个左右,kmesh可取在0.04~0.05之间的某一数值。


PREC = Accurate

ENCUT = 500

IBRION = -1

NELMIN = 5

EDIFF = 1.0e-08             # 重要参数

IALGO = 38

ISMEAR = 0; SIGMA = 0.1

LREAL = .FALSE.             # 重要参数

LWAVE = .FALSE.

LCHARG = .FALSE.


四、收集力常数

用 vasp 计算得到的 vasprun.xml 生成力常数文件 FORCE_CONSTANTS。

phonopy --fc vasprun.xml


五、phonopy后期处理:声子谱及热学性质


1. 声子谱

准备band.conf、FORCE_CONSTANTS、POSCAR-unitcell文件


# band.conf如下

ATOM_NAME = Na Cl

DIM = 2 2 2  

PRIMITIVE_AXIS = 0.0 0.5 0.5  0.5 0.0 0.5  0.5 0.5 0.0    # convert to primitive cell

BAND = 0.0 0.0 0.0  0.5 0.0 0.0  0.5 0.5 0.0  0.0 0.0 0.0  0.5 0.5 0.5    

FORCE_CONSTANTS = READ


Note:

DIM #同扩胞设置一致。

PRIMITIVE_AXIS #将超胞转为原胞的矩阵,画出原胞声子谱。若POSCAR-unitcell已经是原胞结构,可以不设置。

BAND #声子谱路径,同能带路径。三个数字一组一个高对称点位置。


画图

1) phonopy -p --dim="2 2 2" -c POSCAR-unitcell band.conf  得到band.yaml

2) phonopy-bandplot --gnuplot > PhononBAND.dat  将band.yaml转化为可用orgin绘图的数据文件。


2. 声子态密度

准备mesh.conf、FORCE_CONSTANTS、POSCAR-unitcell文件


# mesh.conf


ATOM_NAME = Na Cl

DIM = 2 2 2

MP = 8 8 8


Note:

DIM #同扩胞设置一致。


画图


phonopy -p --dim="2 2 2" -c POSCAR-unitcell mesh.conf    #dos plot


phonopy -t --dim="2 2 2" -c POSCAR-unitcell mesh.conf     #thermal properties print


phonopy -t -p --dim="2 2 2" -c POSCAR-unitcell mesh.conf #thermal properties print and plot


3. 声子投影态密度

准备pdos.conf、FORCE_CONSTANTS、POSCAR-unitcell文件


# pdos.conf


ATOM_NAME =Na Cl

DIM = 2 2 2

MP = 8 8 8

PDOS = 1 2 3 4, 5 6 7 8


Note:

DIM #同扩胞设置一致。

PDOS #将位置1234原子的dos画在一起位置5678原子的dos图画在一起


画图

phonopy -p --dim="2 2 2" -c POSCAR-unitcell pdos.conf


参考:

https://atztogo.github.io/phonopy/vasp-dfpt.html

https://atztogo.github.io/phonopy/vasp.html

http://blog.sciencenet.cn/blog-567091-675178.html

评论

0/1000发布评论
全部评论

嘻嘻

关注
TA的主页

干货推荐