phonopy中文使用说明.doc

上传人:灯火****19 文档编号:136766731 上传时间:2020-07-02 格式:DOC 页数:8 大小:73.50KB
返回 下载 相关 举报
phonopy中文使用说明.doc_第1页
第1页 / 共8页
phonopy中文使用说明.doc_第2页
第2页 / 共8页
phonopy中文使用说明.doc_第3页
第3页 / 共8页
phonopy中文使用说明.doc_第4页
第4页 / 共8页
phonopy中文使用说明.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《phonopy中文使用说明.doc》由会员分享,可在线阅读,更多相关《phonopy中文使用说明.doc(8页珍藏版)》请在金锄头文库上搜索。

1、Phonopy 是一个由 python 实现的晶体声子分析程序。它是目前提供了 VASP 的 Wien2k 的接口用来计算原子受力。它的主要功能有:计算声子色散谱;计算声子态密度,包括分立态密度;声子热力学性质,包括自由能,热容量,焓;Phonopy 通过力常数的方法计算声子谱。力常数由计算原子在超晶胞中被移动后的受力得到(Parlinsk-Li-Kawasoe 方法)。同样类型的程序还有 phon, fropho, phonon. 其中 phonon 是商业软件,卖的很贵,fropho 和 phonopy 的代码其实都是来自于 phon, fropho 是为了代替 phon 而开发的,目的是

2、为了使用 phon 更方便,phon 和 fropho 主要都是由 fortran 开发的,而现在 fropho 已经停止开发,由 python 开发的 phonopy 代替了 fropho, phonopy 在使用上更为方便,在计算量上更为减少。因为 phon, fropho 和 phonon 在移动原子位置时都是一次只移动一个原子的一个方向,而 phonopy 则可以一次移动一个原子的多个方向,所以和其它程序相比, phonopy 最多可以减少 2/3 的计算量。Phonopy是使用python以及C等高级语言编写的用于计算声子谱的程序,它可以很方便地在现有的unix或linux操作系统上

3、进行安装。它利用VASP等第一性原理计算程序来计算有限位移下的原子受力,然后利用phonopy程序处理原子受力获得声子谱。Phonopy使用python的matplotlib等工具包来绘图,因此在使用Phonopy绘制声子谱等图形时,要求系统有图形用户界面,对于远程机器,需要安装x-manager来获得虚拟的图形用户界面,方法如下:在自己的pc机安装windows版本的Xmanager(推荐使用Xmanager4或以上版本)。Xmanager安装完成后启动xstart设置,输入登陆主机IP及账号信息,点击run以后会打开一个终端,在这个终端下运行命令即可绘图工作流程Phonopy程序工作流程主

4、要分为前处理、力计算(VASP)或力常数计算(VASP-DFPT计算)、后处理三部分。输入文件参数设定文件Phonopy中,输入参数写在一个文件里,然后通过命令phonopy xxx.conf传输给phonopy程序,该文件名可以是任意的(一般为xxx.conf,便于识别,如绘制声子谱时参数设定文件命名为band.conf,绘制DOS时参数设定文件设定为dos.conf等)。常用参数如下ATOM_NAME 用于设定元素名称,中间用空格隔开,注意顺序与POSCAR中保持一致。示例:ATOM_NAME = Si OEIGENVECTORS逻辑变量,当取值为.TRUE.时,程序将计算所有本征频率对应

5、的本征波矢(可以用来制作动画),当加入选项-p时,还会计算相应的pDOS。MASS用来指定原子的质量(同POSCAR中原子顺序保持一致),一般可以不指定。示例:MASS = 28.085 28.085 16.000 16.000 16.000 16.000DIM用来指定生成超原胞的大小示例:-dim=”m n l”声子谱计算相关参数BANDBAND_POINTS结构文件(POSCAR)在phonopy中,结构文件写成VASP的POSCAR文件的格式,除了旧版本的POSCAR格式外,phonopy还支持VASP 5.X 的POSCAR格式,即在原子数之前增加一行指明元素类型如果改变该文件名,在读

6、取的时候需要另行指定(例如改为POSCAR-unitcell,则在运行命令时需要加上选项-c POSCAR-unitcell)。注意:在指定实空间或倒空间中的坐标时,可以采用分数形式,但是在分数线左右不能留有空格。力文件(FORCE_SET)该文件由phonopy根据力计算得到的vasprun.xml文件生成,生成命令为phonopy -f给出超原胞中原子发生有限位移产生的力的集合。每个超原胞中包含一个发生位移的原子。该文件的格式如下:第一行给出超原胞中的原子数,第二行给出需要计算的超原胞数目(每个超原胞中包含一个发生位移的原子),然后分块写出每个原子位移导致的力(每一块包含一个超原胞中由于一

7、个原子发射位移导致所有原子收到的力),在每一块中,第一行给出超原胞序数,第二行给出原子位移,然后依次给出各原子的受力。空行将被程序忽略。力和原子位移都采用笛卡尔坐标。力常数文件(FORCE_CONSTANT)该文件由phonopy读取dfpt计算得到的vasprun.xml生成,生成命令为phonopy fcBorn(可选)该文件和-nac以及-nac-old选项配合使用Format在该文件中,第一行的第一个数值为单位转换系数,在VASP中,这一数值可能为27.21160.52918。第二个数值只有使用-nac_old选项的时候才会用到,它代表一个阻尼系数(默认值为2.5),这个参数一般可以忽

8、略。第二行指定介电常数张量的九个分量,第三行,输出文件Phonopy中的输出文件band.yamlmesh.yamlqpoints.yamlthermal_properties.yamltotal_dos.dat 和partial_dos.dat具体步骤以VASP为接口,phonopy有两种工作方式:一种是有限位移方法,即只利用VASP来计算力;另一种是DFPT(密度泛函微扰理论)方法,利用VASP计算得到Hessian矩阵(写在vasprun.xml里),然后由phonopy读取Hessian矩阵并生成力常数文件,由此可以计算出体系的声子谱、频谱态密度、热力学性质等。利用VASP计算力来获得

9、声子谱的步骤如下1. 准备POSCAR文件,一般POSCAR中为一个单胞,然后运行命令phonopy -d -dim=”m n l”即可生成一个SPOSCAR文件,其中包含的结构为由指定单胞扩展得到的mnl的超原胞,此外还会生成disp.yaml以及POSCAR-number等文件,前者包含所有的位移信息,后者则表示发生不同位移的超原胞(文件名序号与disp.yaml中指定位移的顺序一致)注意:由于phonopy生产超原胞和位移时没有POTCAR文件,所以需要在POSCAR的第一行中依次指明各元素名,这与普通的POSCAR(第一行为注释行)是不一样的,而POSCAR也可以采用VASP5.2及以

10、上的写法,即在晶格基矢后增加一行指明各元素名称。2. 力计算,计算发生指定有限位移时的原子受力。在VASP中,直接采用POSCAR-number作为POSCAR计算每个指定位移下的原子受力。可以参考以下的INCARPREC = AccurateIBRION = -1ENCUT = 500EDIFF = 1.0e-08ISMEAR = 0; SIGMA = 0.01IALGO = 38LREAL = .FALSE.ADDGRID = .TRUE.LWAVE = .FALSE.LCHARG = .FALSE.注意在计算中不要弛豫结构(IBRION=-1,静态计算)3. 后处理,主要分三步:利用力计

11、算中得到的力来计算力常数;利用力常数构造动力学矩阵;利用动力学矩阵计算声子谱(包括本征频率及相应的本征波矢)。在这一步开始前,可以准备如下文件mesh.confATOM_NAME = Si ODIM = 2 2 3MP = 8 8 8运行命令phonopy -p mesh.conf 计算态密度运行命令phonopy -t mesh.conf 计算热力学性质(自由能单位J/mol,熵单位J/K/mol,热容单位J/K/mol)运行命令phonopy t -p mesh.conf绘制热力学相关参数(热容、熵、自由能)随温度T(热力学温标)变化的曲线利用VASP的DFPT方法计算声子谱的步骤如下:1

12、. 建立初始结构POSCAR(或其他指定的文件如POSCAR-unitcell)2. 运行命令phonopy d dim=m n l创建一个mnl的超原胞(存在SPOSCAR文件中)。在这一方法中POSCAR-number和disp.yaml都不会用到。3. 将phonopy创建的SPOSCAR复制到POSCAR中,运行VASP进行DFPT计算(注意:VASP的DFPT只能计算点的力常数!是否有影响?),INCAR的参考设定为PREC = AccurateENCUT = 500IBRION = 8EDIFF = 1.0e-08IALGO = 38ISMEAR = 0; SIGMA = 0.1L

13、REAL = .FALSE.ADDGRID = .TRUE.LWAVE = .FALSE.LCHARG = .FALSE.(注意:此处在INCAR中设定IBRION=8,根据VASP说明书,设定IBRION=7或8可以进行DFPT计算并得到Hessian矩阵,但是只有在VASP5.1及更高版本中才可以进行该计算)4. 确定VASP计算得到的vasprun.xml文件中包含Hessian 矩阵元素,然后运行命令phonopy -fc vasprun.xml生成力常数文件FORCE_CONSTRAINTS5. 绘制声子谱:在参数设定文件band.conf中设定FORCE_CONSTRAINTS = READ(或者在运行命令时加上选项-readfc),然后运行命令phonopy -dim=m n l -c POSCAR-unitcell band.conf(如果原胞文件为POSCAR则不需指定)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号