计算化学公社

标题: QHA计算如何得到不同温度下的晶胞参数? [打印本页]

作者
Author:
原子超人    时间: 2025-6-18 10:20
标题: QHA计算如何得到不同温度下的晶胞参数?
利用phonopy进行QHA计算后,可以得到不同温度下的体积,但要如何才能得到不同温度下的晶胞参数a, b, c以及alpha, beta, gamma?

作者
Author:
卡开发发    时间: 2025-6-19 14:11
做不同体积的恒体积优化,这样才能得到不同体积下的晶胞参数,然后在每个点上计算Gibbs自由能并对体积拟合EOS。
作者
Author:
原子超人    时间: 2025-6-19 22:32
感谢老师回复!
因为要进行恒体积的结构优化,首先要得到该体积下的初始构型。
我们只有进行QHA用的初始结构,以及缩放得到的若干个结构,这些结构的体积都不是QHA计算得到的300K下的体积V_300。
我的做法是将初始结构的POSCAR文件中的第二行的缩放系数设为-V_300,然后进行恒体积的结构优化,得到300K下的晶胞参数。
不知道这种做法合理吗?
作者
Author:
卡开发发    时间: 2025-6-19 22:47
原子超人 发表于 2025-6-19 22:32
感谢老师回复!
因为要进行恒体积的结构优化,首先要得到该体积下的初始构型。
我们只有进行QHA用的初始 ...

但你如何知道这个V_300是多少?即便这个V_300是实验值,但也没办法保证理论得到的值与这个值完全一致。一般进行QHA的流程应该是对初始结构进行一系列的缩放并恒体积优化,之后计算Gibbs自由能,再拟合EOS得到平衡体积,当然这个过程有很多细节需要小心。
作者
Author:
zpk    时间: 2025-6-19 23:10
本帖最后由 zpk 于 2025-6-19 23:31 编辑


QHA计算运行完phonopy-qha -p -s v-e.dat thermal_properties.yaml_{1..11} --eos birch_murnaghan会得到volume-temperature.dat文件,里面会给出不同温度下的体积。



作者
Author:
原子超人    时间: 2025-6-20 11:10
卡开发发 发表于 2025-6-19 22:47
但你如何知道这个V_300是多少?即便这个V_300是实验值,但也没办法保证理论得到的值与这个值完全一致。一 ...

我是从QHA计算产生的volume-temperature.dat中得到V_300。
我的目的主要是想比较下DFT得到的结构与实验结构的晶胞参数,为了考虑热膨胀效应,所以进行了QHA计算,拟合EOS得到了不同温度下的平衡体积,也就是volume-temperature.dat中的数据。
然后在V_300体积下进行恒体积的结构优化,进而得到考虑了热膨胀效应的300K下的晶胞参数。
作者
Author:
卡开发发    时间: 2025-6-20 18:49
本帖最后由 卡开发发 于 2025-6-20 18:55 编辑
原子超人 发表于 2025-6-20 11:10
我是从QHA计算产生的volume-temperature.dat中得到V_300。
我的目的主要是想比较下DFT得到的结构与实验 ...

我会错你意思了,我以为你还没拟合EOS。如果已经从EOS拟合得到了V_300,用这个V_300直接恒体积优化就可以,稍微讨巧一点你可以拿那个拟合过程中接近V_300的结构作为初始结构收敛速度可能会快点。
作者
Author:
get-it    时间: 2025-6-20 20:57
本帖最后由 get-it 于 2025-6-20 21:00 编辑

严格来讲,QHA需要对所有的晶格参数都做插值,计算自由能曲线,从而确定某一温度下的晶格参数。只不过QHA在立方体系用得多,这时只考虑一个变量即可。
条件有限时,做等体积优化应该也可以接受。





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3