Multiwfn official website: http://sobereva.com/multiwfn. Multiwfn forum in Chinese: http://bbs.keinsci.com/wfn
You are not logged in.
Dear all,
Can anyone help me in the source code, population.f90 file line 4971 and 4972, what these variables mean:
fdens(gridatm(ipt)%x,gridatm(ipt)%y,gridatm(ipt)%z)
gridatm(ipt)%value
beckeweigrid(ipt)
I guess/expect some of them should be the unit cell volume and one of them should be QM electron density but I have no clue about exact meanings and would be super thankful for some hints.
Thanks in advance,
AxA
Offline
fdens is the function used to evaluate electron density for a given Cartesian coordinate.
gridatm(ipt)%x/y/z records X,Y,Z coordinate of integration point ipt
gridatm(ipt)%value records function value at integration point ipt
beckeweigrid(ipt) records weight of point ipt
They are not directly relevant to cell volume.
If you are not familiar with Becke's multi-center integration algorithm, please check its original paper J. Chem. Phys. 88, 2547. It is standard algorithm to integrate exchange-correlation functional in quantum chemistry codes.
Offline
fdens is the function used to evaluate electron density for a given Cartesian coordinate.
gridatm(ipt)%x/y/z records X,Y,Z coordinate of integration point ipt
gridatm(ipt)%value records function value at integration point ipt
beckeweigrid(ipt) records weight of point iptThey are not directly relevant to cell volume.
If you are not familiar with Becke's multi-center integration algorithm, please check its original paper J. Chem. Phys. 88, 2547. It is standard algorithm to integrate exchange-correlation functional in quantum chemistry codes.
many thanks, Prof. Lu for the hints. So, I am wondering, what's the difference between fdens and gridatm(ipt)%value as both give the electron density (here they are multiplied together).
And in the mentioned code, the fdens, gridatm(ipt)%value, and beckeweigrid(ipt) are all multiplied together. I would be thankful if you comment what is the idea behind it?
Offline
I made a mistake. gridatm(ipt)%value is single-center integration weight of point ipt. It is essentially combined from radial weight (second Gauss-Chebyshev) and angular weight of Lebedev method.
The final weight of a integration point is combined of single-center integration weight and Becke's atom weight.
It is strongly adviced to check "subroutine intfunc_silent(ifunc,intval)" in otherfunc.f90, it is a minimal code to integrate a specific real space function over the whole space, it is useful for you to understand the implementation of the integration.
I also have a blog article to detailedly describe the Becke's multi-center integration algorithm: http://sobereva.com/69, but it was written in Chinese.
Offline
I made a mistake. gridatm(ipt)%value is single-center integration weight of point ipt. It is essentially combined from radial weight (second Gauss-Chebyshev) and angular weight of Lebedev method.
The final weight of a integration point is combined of single-center integration weight and Becke's atom weight.
It is strongly adviced to check "subroutine intfunc_silent(ifunc,intval)" in otherfunc.f90, it is a minimal code to integrate a specific real space function over the whole space, it is useful for you to understand the implementation of the integration.
I also have a blog article to detailedly describe the Becke's multi-center integration algorithm: http://sobereva.com/69, but it was written in Chinese.
Thank you very much for the great details, your prompt support, and the great work
Best,
AxA
Offline