System has a charge

I have computed the HF wave function for a system of 1708 atoms and 9190 external charges. The external charges sum to zero. The QM input specifies a zero charge for the atomic system. All SCF parameters are at their default values for a single point calculation.

When I converge the calculation with a 6-31G basis set, I get

Sum of atomic charges = -0.000050

However, when the calculation is converged with a 6-31G* basis, I get

Sum of atomic charges = 0.001384

This seems a little weird. Is this merely due to basis set dependence, or am I missing some obvious issues?

Which type of atomic charges? If it’s Hirshfeld charges, those involve a quadrature grid and default value of XC_GRID may not be good enough. (I’ve seen discrepancies of this magnitude and typically use (99,590) ==> XC_GRID=000099000590 if I care about that level of discrepancy.) For CHELPG there is also an integration grid, I think CHELPG_DX is what you need to tighten it up. For Mulliken there is no integration grid and I’d be surprised to see that level of deviation unless THRESH is set loosely, although perhaps the external charges make it more sensitive (I have less experience with that). In any case we typically use THRESH=12 for large systems to avoid problems with linear dependencies.

Ground-State Mulliken Net Atomic Charges

Since it’s a HF calculation, I don’t think gridding is an issue.

I believe THRESH = SCF_CONVERGENCE + 4 That would make it THRESH=9 for the default Single Point calculation. I’ll push it to 12 per your suggestion.


The default is indeed THRESH=9 for single points, but I don’t think that’s tight enough for large molecules (due to linear dependency problems). We get better convergence behavior using THRESH=12.

I did the THRESH=12 run. The calculation did not want to converge. However, I finally got a result.

Ground-State Mulliken Net Atomic Charges

Summed are now zero.

I found other weird results (e.g. several Na ions wound up with a -1 charge) when they should have been +1 but that is probably suffering from the physics of the system.

Thanks for the help.

Unphysical charges are almost certainly an artifact of using the Mulliken prescription, which has that defect (especially where diffuse basis functions are involved).

1 Like

FYI, when I use NBO to calculate atomic charges (i.e. Natural Charges), the Na with negative charges remain negatively charged.

      Ground-State Mulliken Net Atomic Charges

 Atom                 Charge (a.u.)

1662 Na -0.905939
1684 Na -0.776802

                                 Natural Population
                Natural    ---------------------------------------------

Atom No. Charge Core Valence Rydberg Total

Na 1662 -0.83773 9.99998 1.02677 0.81098 11.83773
Na 1684 -0.83913 9.99999 1.27069 0.56845 11.83913

Happy New Year!

That’s unusual and I don’t have an explanation. The natural charges are usually pretty stable with respect to variations in basis set (unlike Mulliken charges that vary widely).

UPDATE: I asked a friend who is an NBO expert. The way to read these two lines is that the charge on either Na is about -0.84 and comes from 10.0 core electrons + 1.0 valence electrons (for Na 1662) or 1.3 valence electrons (for Na 1684). So far, so good, I think 1.3 valence electrons is probably within normal variations. What’s not normal is the 0.81 or 0.57 Rydberg electrons, which is where your negative charge originates. My friend suggests that this either means that something is wacky with your basis set, or that your SCF has converged to something other than the electronic ground state.

Thanks John. I agree. Something wacky is going on. I’ll have to perform more analysis to see what is causal.

John, a final note. The problem appears to be the state to which the SCF converges. If I use UHF the negative charged Na ions are all gone and all Na ions have a plus charge.

I tried to run Internal Stability but the system was too large and the calculation failed.

Thanks again for your help.

It’s a spin symmetry breaking problem then. That wasn’t obvious.