计算化学公社

 找回密码 Forget password
 注册 Register
Views: 7969|回复 Reply: 46
打印 Print 上一主题 Last thread 下一主题 Next thread

[综合讨论] Dynaphopy 计算高温声子谱

[复制链接 Copy URL]

203

帖子

0

威望

1061

eV
积分
1264

Level 4 (黑子)

小弟最近在计算钙钛矿体系的声子谱,在简谐近似下,计算出的声子谱都有一定的虚频,始终无法消除,一开始花了大量的时间去提高结构优化精度,但是都以失败告终,一度都怀疑自己的结构优化靠谱性。后来从各种文献、论坛和视频中了解到钙钛矿体系有很强的非谐性,简谐近似下的声子谱往往都会带有虚频,需要考虑非简谐情形下的计算。目前有三种非简谐计算方法,可以参考这个专栏300 K下的声子谱怎么算? - 知乎 (zhihu.com)。小弟看了教程视频之后,了解到dynaphopy计算高温声子谱的效率比较高,和vasp也十分兼容,就尝试了一下。下面是小弟的计算历程。
1. 简谐声子谱的计算。
dynaphopy的非谐修正是在phonopy的力常数基础上进行的,需要先进行0k声子谱的计算。
这是结构优化的INCAR,力的收敛标准是E-3,大部分的文献也是在这个精度范围内。结构优化的结构是单胞,10个原子。
这是phonopy计算出的声子谱,计算的结构为2*2*2的超胞,80个原子,在gmma点和X点有很强的虚频。这个虚频即使提高收敛精度和扩大超胞也是无法消除的。
2. AIMD计算
dynaphopy通过读取AIMD的计算结构进行拟合(说法不准确),需要预先准备AIMD的outcar或xdatcar。
这是小弟的AIMD的计算设置,基本参考dynaphopy的example中的设置,详细的参数涵义,都有教程介绍。
小弟这里只是采用了3000步的计算,步长是2fs,能量的收敛精度是E-6,不算太高。同样是采用80个原子的超胞。大部分做非谐计算的文献,所采用的都是在80-160原子数范围内的超胞,步长多是1-2fs,总步数大概是3000-6000,总的时长是5ps-10ps。从下面的非谐声子谱结果来看,这个设置对于非谐计算是合适的?
3. dynaphopy非谐声子谱计算。
dynaphopy的官网如下:Dynaphopy (abelcarreras.github.io)
将结构优化的原始晶胞POSCAR,phonopy输出的力常数,和AIMD的OUTCAR放在一个文件夹内。
设置dynaphopy的输入文件input如下:分别是输入结构文件,力常数文件,原胞和超胞与POSCAR的关系设置,band是声子谱的高对称点路径,设置方式和vasp计算PBE能带一致。
然后输入dynaphopy input OUTCAR -i,进入如下的界面,选择6,进入非谐声子谱计算,再选择1,可以同时输出简谐声子谱和非简谐声子谱,此时会对peak进行拟合。拟合结束后,会输出声子谱。
这是小弟一开始使用默认设置,输出的声子谱,可以看到高温声子谱虚频加重了。从@get-it 大佬处了解到,dynaphopy默认使用最大熵方法拟合,效果可能不如fftw有效。于是小弟将拟合方式改为fftw,通过指令dynaphopy input OUTCAR -i -psm 3,采用快速傅里叶变换拟合。得到300k下的声子谱,可以看到,原来gamma点和X点的虚频,已经被成功消除了。而实验上,这个材料在室温下肯定是稳定的。

当然,如果想要得到更准确的声子谱,需要提高优化精度,采用更大的超胞计算力常数,AIMD需要更多的步数和更小的步长,比如dynaphopy的例子是采用0.7 fs,跑200000步。如果只是想得到一个比较合理的声子谱,小弟觉得适当降低精度是没问题的。比如小弟的这个计算,在24核的机器上,结构优化用时不到3小时,dfpt计算1小时,AIMD计算14小时,差不多用时一天,能够得到一个比较合适的声子谱。如果提高精度,计算用时可能会提升数倍,但是声子谱的提升可能并不会太明显。当然这是小弟的一己之见,供大家批判

202305091011012325..png (90.25 KB, 下载次数 Times of downloads: 111)

图片9

图片9

202305091008133831..png (98.04 KB, 下载次数 Times of downloads: 102)

图片8

图片8

202305091007405231..png (86.69 KB, 下载次数 Times of downloads: 95)

图片7

图片7

202305091006565214..png (23.83 KB, 下载次数 Times of downloads: 93)

图片6

图片6

202305091006226045..png (51.41 KB, 下载次数 Times of downloads: 94)

图片5

图片5

202305091004369277..png (21.11 KB, 下载次数 Times of downloads: 107)

图片4

图片4

202305090959003207..png (38.67 KB, 下载次数 Times of downloads: 101)

图片3

图片3

202305090953175525..png (81.13 KB, 下载次数 Times of downloads: 104)

图片2

图片2

202305090950455944..png (40.49 KB, 下载次数 Times of downloads: 105)

图片一

图片一

3

帖子

0

威望

31

eV
积分
34

Level 2 能力者

47#
发表于 Post on 2025-6-27 22:12:41 | 只看该作者 Only view this author
小付小氟 发表于 2024-4-8 16:08
**** 作者被禁止或删除 内容自动屏蔽 ****

你好,请问您有找到导出图片中数据的方法吗

203

帖子

0

威望

1061

eV
积分
1264

Level 4 (黑子)

46#
 楼主 Author| 发表于 Post on 2025-6-17 17:36:42 | 只看该作者 Only view this author
cdx 发表于 2025-6-16 15:03
老师你好,请问可以正常获得非谐修正后的力常数,可以利用phonopy导出声子寿命数据吗

这个我不知道哎。没用过

3

帖子

0

威望

31

eV
积分
34

Level 2 能力者

45#
发表于 Post on 2025-6-16 15:03:13 | 只看该作者 Only view this author
Shana 发表于 2025-2-22 12:02
dynaphopy input OUTCAR -sfc FORCE_CONSTANTS   这个指令会给出修正后的力常数,然后用phonopy画出修正 ...

老师你好,请问可以正常获得非谐修正后的力常数,可以利用phonopy导出声子寿命数据吗

3

帖子

0

威望

31

eV
积分
34

Level 2 能力者

44#
发表于 Post on 2025-6-16 08:59:06 | 只看该作者 Only view this author
本帖最后由 cdx 于 2025-6-16 09:00 编辑

老师 请问利用Dynaphopy可以得到声子寿命吗?已完成非谐计算,需要如何导出声子寿命数据,求指导

10

帖子

0

威望

84

eV
积分
94

Level 2 能力者

43#
发表于 Post on 2025-4-11 17:01:24 | 只看该作者 Only view this author
Shana 发表于 2025-4-11 09:32
先保存重整后的力常数,然后用phonopy计算声子谱,导出dat数据

好的!

203

帖子

0

威望

1061

eV
积分
1264

Level 4 (黑子)

42#
 楼主 Author| 发表于 Post on 2025-4-11 09:32:30 | 只看该作者 Only view this author
Autumn899 发表于 2025-4-8 22:56
请问什么命令可以导出能在origin里画图的声子数据文件呀

先保存重整后的力常数,然后用phonopy计算声子谱,导出dat数据

10

帖子

0

威望

84

eV
积分
94

Level 2 能力者

41#
发表于 Post on 2025-4-8 22:56:06 | 只看该作者 Only view this author
请问什么命令可以导出能在origin里画图的声子数据文件呀

3

帖子

0

威望

67

eV
积分
70

Level 2 能力者

40#
发表于 Post on 2025-3-11 15:19:42 | 只看该作者 Only view this author
Shana 发表于 2025-3-5 15:22
可以,phonopy也可以扩胞。phonopy扩完胞后,会有一个SPOSCAR,这个是未做位移的supercell。

谢谢shana老师!!!

203

帖子

0

威望

1061

eV
积分
1264

Level 4 (黑子)

39#
 楼主 Author| 发表于 Post on 2025-3-5 15:22:35 | 只看该作者 Only view this author
yuanzhe 发表于 2025-3-3 15:47
谢谢shana老师解惑,我一般扩2*2*2,用vaspkit生成的就可以了嘛

可以,phonopy也可以扩胞。phonopy扩完胞后,会有一个SPOSCAR,这个是未做位移的supercell。

3

帖子

0

威望

67

eV
积分
70

Level 2 能力者

38#
发表于 Post on 2025-3-3 15:47:09 | 只看该作者 Only view this author
Shana 发表于 2025-2-25 17:28
扩胞系数要和phonopy的系数一样,不然结果会有问题。晶胞比较大的话(扩胞系数比较大),用单k点就很好了 ...

谢谢shana老师解惑,我一般扩2*2*2,用vaspkit生成的就可以了嘛

203

帖子

0

威望

1061

eV
积分
1264

Level 4 (黑子)

37#
 楼主 Author| 发表于 Post on 2025-2-25 17:28:27 | 只看该作者 Only view this author
yuanzhe 发表于 2025-2-24 21:11
shana老师,用vasp跑aimd需要用phonopy扩胞的POSCAR进行计算吗?kpoints是直接vaspkit还是手动设置吗?

扩胞系数要和phonopy的系数一样,不然结果会有问题。晶胞比较大的话(扩胞系数比较大),用单k点就很好了。

3

帖子

0

威望

67

eV
积分
70

Level 2 能力者

36#
发表于 Post on 2025-2-24 21:11:53 | 只看该作者 Only view this author
本帖最后由 yuanzhe 于 2025-2-25 14:56 编辑

shana老师,用vasp跑aimd需要用phonopy扩胞的POSCAR进行计算吗?kpoints是直接vaspkit还是手动设置吗?

33

帖子

0

威望

215

eV
积分
248

Level 3 能力者

35#
发表于 Post on 2025-2-23 11:09:22 | 只看该作者 Only view this author
Shana 发表于 2025-2-22 12:02
dynaphopy input OUTCAR -sfc FORCE_CONSTANTS   这个指令会给出修正后的力常数,然后用phonopy画出修正 ...

谢谢

203

帖子

0

威望

1061

eV
积分
1264

Level 4 (黑子)

34#
 楼主 Author| 发表于 Post on 2025-2-22 12:02:43 | 只看该作者 Only view this author
高阁 发表于 2025-2-17 17:48
请问非谐性声子谱的数据怎么像phonopy一样导出呢?我需要用它们计算后续内容,感谢!还有我觉得这个声子谱 ...

dynaphopy input OUTCAR -sfc FORCE_CONSTANTS   这个指令会给出修正后的力常数,然后用phonopy画出修正后的声子谱

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-16 16:12 , Processed in 0.404453 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list