shengBTE计算热导率数值不对的可能原因

计算得到的热导率和文献报道有较大偏差,可能偏大或者偏小,可能的原因有:

1.采用的2阶力常数FORCE_CONSTANT中超胞内原子排序不是按照ucatom*sc_z*sc_y*sc_x排列;力常数文件与control文件中原胞内原子次序是否一致;

2.shengBTE的control文件中晶格参数单位默认nm,有转换系数的参数;

3.使用QE利用phonopy计算得到的FORCE_CONSTANT文件中,单位需要转换,不能直接利用shengBTE计算,vasp利用phonopy则单位正确;

4. 3阶力常数的计算量较大,但精度要求很高,如0.0003Rh/bohr^2量级的力的误差,也会导致最终热导率的数值出现大的偏离;如使用cp2k计算力常数,通常使用QE等平面波软件,对于超胞体系,随着扩胞,在较大的截断半径下,所需计算量非常大,使用CP2K中的QS模块也能进行第一性原理计算,具有相对较高的计算效率,但是CP2K不同于平面波的QE等,计算中仅有gamma点计算,需要采用实空间较大超胞,如果使用和QE等相同的超胞,则会导致原子受力精度不高,一般在~0.0003Rh/bohr^2量级的误差,也会对某些体系,特别是二维体系的热导率有很大的影响。在使用cp2k进行3阶力常数大量计算之前,先进行超胞收敛测试,可以在相同的位移构型下,不断扩胞,判断力计算的变化情况和误差。用QE等计算也建议先进行k点等计算参数的收敛判断,否则会浪费大量时间,热导率计算结果却有很大偏离。

5. 使用经验势能模型,在通过lammps进行热输运计算之前,可以先利用分子静力学软件GULP结合shengBTE模块,预判势能应用于热输运计算的准确性。但经验势能用于热输运精度和前景一般,机器势能表现更好。

你可能感兴趣的:(python)