计算化学公社

标题: CHGCAR价电子密度文件中的数值问题 [打印本页]

作者
Author:
tjuphysfang    时间: 2024-10-7 12:47
标题: CHGCAR价电子密度文件中的数值问题
求助各位老师,为什么vasp-wiki官网给出的CHGCAR的信息中总的价电子数目的形式和它给出的电荷密度的形式不自洽?

作者
Author:
卡开发发    时间: 2024-10-8 02:11
VASP手册这里写的应该比较乱。abc是应该是一个体素或是说体元(voxels)的长度,Vcell就是一个体素的体积。建议稍微改下符号,按照这样:
实际晶胞的体积是Vcell
体素或是说网格数目Ngrid=NGXF*NGYF*NGZF
体素体积为ΔV
这样有Vcell=Ngrid·ΔV
然后按照VESTA的手册描述
When these files are read in to visualize isosurfaces and sections, data values are divided by V in the unit of bohr^3.

这样n(r)=data(r)/Vcell
然后根据矩形求积规则NELECT=∫{n(r)}dr r∈Vcell
NELECT=∑{data(n)/Vcell}ΔV n∈Ngrid
根据前面提到的,data(n)/Vcell·ΔV=data(n)/Ngrid,这样与最终公式相同。

事实上一个比较简单的做法是根据Fourier变换关系,有:
n(r)=∫{n(G)exp(iG·r)}dG
G仅取(0,0,0)时即为n(r)在Vcell内的平均值,因为已经乘了晶胞体积应该很方便就能得到电子数。

作者
Author:
tjuphysfang    时间: 2024-10-8 16:28
卡开发发 发表于 2024-10-8 02:11
VASP手册这里写的应该比较乱。a、b、c是应该是一个体素或是说体元(voxels)的长度,Vcell就是一个体素的体 ...

感谢您的答疑~问题解决了!还有一个问题想请教一下您,我之前计算AECCAR0中总的核芯电子数目的时候,发现对于不同的NGXF,NGYF,NGZF数值,核心电子总数差别很大,只有取非常密集的网格才可以得到正确的核芯电子总数,如果总数正确了,请问老师,现在AECCAR0中的数值可以用来进行实际计算吗?
作者
Author:
卡开发发    时间: 2024-10-8 17:05
tjuphysfang 发表于 2024-10-8 16:28
感谢您的答疑~问题解决了!还有一个问题想请教一下您,我之前计算AECCAR0中总的核芯电子数目的时候,发现 ...

可以,但不推荐这样做。不过如你所见并不是很好处理,可能需要很密集的网格才能得到合理的数值,这也是为什么Henkelman组的AIM电荷程序Bader仅使用CHGCAR而不用AECCAR0+2那个和来进行盆积分(当然划分盆肯定还是用AECCAR0+2)。

原因是因为AECCAR0本身就是内层电子在冻芯下的密度(从POTCAR-PAW信息构造),一个是本身振荡要比价层赝波函数快,其次是在原子芯附近本身就有个岐点或者叫尖点,这样的东西用均匀网格本身就不怎么好描述。因此,如果没有什么特定需求,完全可以对CHGCAR进行积分,然后芯电子数目直接从POTCAR当中读出来加在上面就行了。当然一定要去处理全电子密度是可以通过一定技巧来实现的,不过要麻烦很多。
作者
Author:
tjuphysfang    时间: 2024-10-8 21:11
本帖最后由 tjuphysfang 于 2024-10-8 21:47 编辑
卡开发发 发表于 2024-10-8 17:05
可以,但不推荐这样做。不过如你所见并不是很好处理,可能需要很密集的网格才能得到合理的数值,这也是为 ...

感谢您的回答,我研究的问题确实需要计算核芯电子的分布情况,而不只是求总的全电子数目,所以一直在纠结这个数值到底是否可信,因为随着网格的变化,芯电子数目变化太大了。请问老师,可以介绍一下在哪里可以学习这些技巧来计算全电子分布吗?感谢!
作者
Author:
卡开发发    时间: 2024-10-9 04:05
本帖最后由 卡开发发 于 2024-10-9 04:19 编辑
tjuphysfang 发表于 2024-10-8 21:11
感谢您的回答,我研究的问题确实需要计算核芯电子的分布情况,而不只是求总的全电子数目,所以一直在纠结 ...

这方面其实你可以参考LAPW基组的处理方式。这时候不推荐使用AECCAR0+2的数据进行处理,因为它们在映射到均匀网格太容易失真,除非网格选取非常稠密,但这样会给计算和存储造成很多困难。你可能得从PAW-POTCAR当中获取ae+ps的partial wave和core density。事实上如果你真的这么需要讨论原子芯附近的电子行为,本身就应该使用LAPW+lo基组进行计算(比如Wien2K、ELK、Fleur等)。




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