我在利用 vasp + phonopy + thirdorder + ShengBTE 计算MoO3体块的热导率时,发现算出来的热导率比实验报道的热导率低了一个数量级
计算热导率所需的3个文件,1是CONTROL文件,2是2阶力常数,3是3阶力常数
2阶力常数是通过phonopy对优化好的原胞进行2*2*2扩胞,并通过vasp利用DFPT方法进行计算,最后用phonopy收集得到的。
(原胞的优化是通过vasp利用晶格弛豫(LR)的方法优化的)
3阶力常数是通过thirdorder_vasp.py对优化好的单胞扩胞2*2*2,选取第一近邻,并提交给vasp利用静态计算(ST)计算,对结果提取得到的3阶力常数。
CONTROL文件如下所示,设置了convergence=.TRUE.,并考虑上了BORN有效电荷和介电张量
&allocations
nelements=2,
natoms=16,
ngrid(=4 4 1
&end
&crystal
lfactor=1.0,
lattvec(:,1)=3.7131244448375376 0.0000000000000000 0.0000000000000000,
lattvec(:,2)=0.0000000000000000 3.9306023619198029 0.0000000000000000,
lattvec(:,3)=0.0000000000000000 0.0000000000000000 14.3152604185205998,
types(=1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2,
elements(="Mo" "O"
positions(:,1)=0.2500000000000000 0.9250711539947374 0.6018119741466632,
positions(:,2)=0.7500000000000000 0.4250711539947379 0.8981880258533368,
positions(:,3)=0.2500000000000000 0.5749288460052626 0.1018119441466677,
positions(:,4)=0.7500000000000000 0.0749288460052624 0.3981880558533326,
positions(:,5)=0.7500000000000000 0.9815308803785459 0.9129148960037973,
positions(:,6)=0.2500000000000000 0.4815308803785455 0.5870851039962027,
positions(:,7)=0.2500000000000000 0.0184691276214550 0.0870850889962059,
positions(:,8)=0.7500000000000000 0.5184691196214541 0.4129148960037964,
positions(:,9)=0.7500000000000000 0.4676371119733567 0.7813714805663621,
positions(:,10)=0.2500000000000000 0.9676370819733541 0.7186285194336379,
positions(:,11)=0.7500000000000000 0.0323628990266407 0.2813715105663571,
positions(:,12)=0.2500000000000000 0.5323629180266459 0.2186285044336402,
positions(:,13)=0.2500000000000000 0.4991321354305162 0.9350443894145257,
positions(:,14)=0.2500000000000000 0.0008678675694805 0.4350444194145213,
positions(:,15)=0.7500000000000000 0.5008678945694864 0.0649555875854757,
positions(:,16)=0.7500000000000000 0.9991321054305136 0.5649556105854743,
epsilon(:,1)=6.228409 0.000000 0.000000,
epsilon(:,2)=-0.000000 5.509955 0.000000,
epsilon(:,3)=0.000000 0.000000 4.126402,
born(:,1,1)= 7.83082 0.00362 -0.00247,
born(:,2,1)= -0.00000 6.64552 0.26868,
born(:,3,1)= 0.00000 0.54415 4.38384,
born(:,1,2)= 7.83082 0.00362 0.00247,
born(:,2,2)= -0.00000 6.64552 -0.26868,
born(:,3,2)= -0.00000 -0.54415 4.38384,
born(:,1,3)= 7.83082 -0.00362 -0.00247,
born(:,2,3)= 0.00000 6.64191 -0.27171,
born(:,3,3)= -0.00000 -0.54415 4.38384,
born(:,1,4)= 7.83082 -0.00362 0.00247,
born(:,2,4)= -0.00000 6.64191 0.27171,
born(:,3,4)= -0.00000 0.54415 4.38384,
born(:,1,5)= -1.17320 -0.00152 0.00030,
born(:,2,5)= 0.00000 -4.87569 0.30130,
born(:,3,5)= -0.00000 0.45355 -0.63001,
born(:,1,6)= -1.17320 -0.00152 -0.00030,
born(:,2,6)= -0.00000 -4.87569 -0.30130,
born(:,3,6)= -0.00000 -0.45355 -0.63001,
born(:,1,7)= -1.17320 0.00152 -0.00030,
born(:,2,7)= 0.00000 -4.87511 0.30517,
born(:,3,7)= 0.00000 0.45355 -0.63001,
born(:,1,8)= -1.17320 0.00152 0.00030,
born(:,2,8)= 0.00000 -4.87511 -0.30517,
born(:,3,8)= -0.00000 -0.45355 -0.63001,
born(:,1,9)= -0.54685 -0.00040 -0.00017,
born(:,2,9)= 0.00000 -0.62803 0.35297,
born(:,3,9)= 0.00000 0.30618 -2.18269,
born(:,1,10)= -0.54685 -0.00040 0.00017,
born(:,2,10)= 0.00000 -0.62803 -0.35297,
born(:,3,10)= 0.00000 -0.30618 -2.18269,
born(:,1,11)= -0.54685 0.00040 -0.00017,
born(:,2,11)= 0.00000 -0.62655 -0.35523,
born(:,3,11)= 0.00000 -0.30618 -2.18269,
born(:,1,12)= -0.54685 0.00040 0.00017,
born(:,2,12)= -0.00000 -0.62655 0.35523,
born(:,3,12)= -0.00000 0.30618 -2.18269,
born(:,1,13)= -6.11077 -0.00257 -0.00252,
born(:,2,13)= -0.00000 -1.14103 -0.33734,
born(:,3,13)= 0.00000 -0.19451 -1.57114,
born(:,1,14)= -6.11077 0.00257 -0.00252,
born(:,2,14)= 0.00000 -1.14102 0.33865,
born(:,3,14)= 0.00000 0.19451 -1.57114,
born(:,1,15)= -6.11077 0.00257 0.00252,
born(:,2,15)= -0.00000 -1.14102 -0.33865,
born(:,3,15)= -0.00000 -0.19451 -1.57115,
born(:,1,16)= -6.11077 -0.00257 0.00252,
born(:,2,16)= 0.00000 -1.14103 0.33734,
born(:,3,16)= 0.00000 0.19451 -1.57115,
scell(=2 2 2
&end
¶meters
T_min=20
T_max=400
T_step=10
&end
&flags
convergence=.TRUE.
nonanalytic=.TRUE.
isotopes=.FALSE.
nanowires=.FALSE.
&end
楼主还尝试过扩胞3*2*2来计算2阶力常数,也尝试过第二近邻来计算3阶力常数,都没有改变热导率低一个数量级的结果
有没有哪位大神能够指导一下,计算过程中的哪个步骤可能会导致最终热导率过低的结果?有没有合理的改进建议? |