Hi! I have been wondering about the limitations of this method in terms of its precision with charges on individual atoms. I have been running on a little test system of a water + a halogen, and generating cube files for Bader input. I made a plot just now of grid spacing versus error in the total charge and find that it won't converge closer than 0.02 e, but just bounces around.
For all I know that's a very good and small error to have so I won't blow it out of proportion. I'm wondering if anyone could share their experience with the size of errors one can expect and also how this might depend on system size and nature of the atoms. I removed the core states because that clearly is going to be a source of error in the denser regions. This improved the error immensely. But should I expect to see more fluctuation in it as I scale the system up....if the point density is the same I would think not.
Is it routine for people to report numbers from this code to more than, say, 1 or 2 decimal places? Really 2 would be ample for me....
Also are there better ways of generating these grids that might helps this problem? Cubegen like all black box codes can be pretty frustrating.
What sparked this fixation on the error really was that I found a deprecated piece of code in gaussian that calculates AIM charges with errors no bigger than 2*10^-3 e. Of course your code is WAY more robust and theirs errors out at a very low number of critical points. Am I just new to grid methods and these things come with them? I'll stop now and maybe continue some conversation later. Thanks for your time and the code!
Errors in total charge integral
Moderator: moderators
Re: Errors in total charge integral
This has more to do with the data in the cube file than the Bader analysis method. To find the total charge, we integrate (by simply adding up) the charge in each cell. With the plane-wave codes that we use, the normalization is defined by this sum and so the total charge is very accurate.
On the other hand, if you represent a charge density on a grid by sampling values of the charge density function at the grid point, the error can be quite large. This is particularly true if you try to represent the core charge. The rapidly changing values of the density near the atomic centers require a very fine grid to represent accurately.
AIM has the advantage of reading in analytic functions from which the density can be evaluated. In our code, we only use a charge density grid.
One possible solution is to do the analysis on the total charge but integrate just the valence charge. The valence density is much smoother and so does not require such a fine grid to represent. The basic idea is here:
http://theory.cm.utexas.edu/bader/vasp.php
On the other hand, if you represent a charge density on a grid by sampling values of the charge density function at the grid point, the error can be quite large. This is particularly true if you try to represent the core charge. The rapidly changing values of the density near the atomic centers require a very fine grid to represent accurately.
AIM has the advantage of reading in analytic functions from which the density can be evaluated. In our code, we only use a charge density grid.
One possible solution is to do the analysis on the total charge but integrate just the valence charge. The valence density is much smoother and so does not require such a fine grid to represent. The basic idea is here:
http://theory.cm.utexas.edu/bader/vasp.php