计算化学公社
标题:
DFT程序计算中对于不同自旋电子密度加和的问题
[打印本页]
作者Author:
seakay
时间:
2021-9-26 16:54
标题:
DFT程序计算中对于不同自旋电子密度加和的问题
我想要在自己编写的程序里加入一个DFT计算的模块,打算从最简单的LDA开始试手。在看DFR的代码时看到了一个有点疑惑的条件判断。我贴的是LDA交换泛函部分的代码,但实际上这个条件判断不光在Slater交换泛函里出现,也不止出现在此泛函库中,所以我认为这应该是一个普遍的做法。
do i=1,npt
rhoa = dmax1(0.D0,rhoa1(i))
rhob = dmax1(0.D0,rhob1(i))
rho = rhoa+rhob
if(rho.gt.tol) then
if(rhoa.lt.tol) then
rho = rhob
t1 = rhob**(1.D0/3.D0)
zk(i) = -0.9305257363491D0*t1*rhob
复制代码
这里tol是1*E-20,我的疑惑有两点,第一是为什么要在roha小于tol的时候把它忽略掉,忽略掉它的好处是为了减少计算量?第二是为什么设置tol的值为1*E-20?
感谢各位的帮助。
作者Author:
wzkchem5
时间:
2021-9-26 18:29
一方面是减少计算量,另一方面是防止除以0。对于Slater exchange没有除以0的问题,但是LDA correlation或者GGA可能有
作者Author:
seakay
时间:
2021-9-26 19:35
wzkchem5 发表于 2021-9-26 18:29
一方面是减少计算量,另一方面是防止除以0。对于Slater exchange没有除以0的问题,但是LDA correlation或者 ...
懂了,感谢指导
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3