QMCPACK / pseudopotentiallibrary

Repository for PseudopotentialLibrary.org website and database
https://pseudopotentiallibrary.org
14 stars 15 forks source link

Orbital Occupancy Discrepancies in Cu and Ag Pseudopotentials #104

Open romanfanta4 opened 6 months ago

romanfanta4 commented 6 months ago

Hello, I've noticed a bug/discrepancy in the pseudopotential headers for copper (Cu-soft vs Cu original) and silver.

  1. The occupancy numbers for the D orbital are listed as 8 and 9 in different files. I expected a full occupancy of 10 based on copper's electron configuration ([Ar] 3d^10 4s^1) and the same for Ag. I checked the surrounding elements (Fe, Co, Ni, Zn) and saw the correct occupancy for D orbitals.
  2. Regarding the S orbital occupancy, it's listed as 2.0, which represents only the 3s^2 electrons. Given copper's configuration, I expect two S channels to account for both 3s^2 and the 4s^1 electrons, aligning with the total valence electron count of 19 mentioned in the header. Same thing would be e.g., for chromium.

Could you help me understand the reasoning behind these specific occupancy values, or is it just a bug? When running the Quantum Espresso calculations with Cu, the number of electrons, is correctly set, but correct labeling of occupations is crucial for DFT+U.

Cu.ccECP-soft.upf:

<PP_HEADER>
   0         Version Number
   Cu        Element
   NC        Norm - Conserving pseudopotential
    F      Nonlinear Core Correction
SLA  PW   PBE  PBE     PBE  Exchange-Correlation functional
 19          Z valence
 0          Total energy
 0.000000   0.000000     Suggested cutoff for wfc and rho
 2           Max angular momentum component
 1163           Number of points in mesh
 3  2     Number of Wavefuncitons, Number of Projectors
 Wavefunctions         nl  l   occ
                       S  0  2.000000
                       P  1  6.000000
                       D  2  8.000000
</PP_HEADER>

Cu.ccECP.upf_deprecated:

<PP_HEADER>
   0         Version Number
   Cu        Element
   NC        Norm - Conserving pseudopotential
    F      Nonlinear Core Correction
SLA  PW   PBE  PBE     PBE  Exchange-Correlation functional
 19          Z valence
 0          Total energy
 0.000000   0.000000     Suggested cutoff for wfc and rho
 2           Max angular momentum component
 1163           Number of points in mesh
 3  2     Number of Wavefuncitons, Number of Projectors
 Wavefunctions         nl  l   occ
                       S  0  2.000000
                       P  1  6.000000
                       D  2  9.000000
</PP_HEADER>

Same issue is for Ag.ccECP.AREP.upf:

<PP_HEADER>
   0         Version Number
   Ag        Element
   NC        Norm - Conserving pseudopotential
    F      Nonlinear Core Correction
SLA  PW   PBE  PBE     PBE  Exchange-Correlation functional
 19          Z valence
 0          Total energy
 0.000000   0.000000     Suggested cutoff for wfc and rho
 2           Max angular momentum component
 1175           Number of points in mesh
 3  2     Number of Wavefuncitons, Number of Projectors
 Wavefunctions         nl  l   occ
                       S  0  2.000000
                       P  1  6.000000
                       D  2  8.000000
</PP_HEADER>
prckent commented 6 months ago

As part of https://github.com/QMCPACK/pseudopotentiallibrary/issues/89 , the UPF files are going to be regenerated. We should check/retest then.

aannabe commented 6 months ago

I want to add that the reference states listed in the header files being different from the ground state is not a bug per se. There were a few reasons for them to be different. For example, depending on the chosen reference state, one gets a different quality of transferability, existence of ghost states, and different convergence behavior. So due to these factors, the transition metal upf files were usually generated with ionized states, mostly removing the outer valence s-orbitals. As these are single-projector ECPs (KB form), it nominally should not be an issue when you run PW codes. For example, if you run Cu atom in a large box, you should see the correct electronic ground state.

However, there is probably room for improvement in choosing the reference states, as you correctly pointed out the lack of 4s states. There is also a related discussion in #69. For example, when calculating Lowdin charges, the reference states are used as the basis, and thus, there is a non-zero charge spilling. The reference states should, therefore, be reasonable enough to result in small charge spilling. I am guessing including a small fractional occupation for 4s should improve the charges/moments there. At some point, we need to regenerate all upf (#89, #104) and xml (#69) files.

bkincaid256 commented 5 months ago

Opium doesn't ever show the second of any l channel. It only does the first in my experience. Adding to what Gani mentioned, the place to check for the expected performance of the upfs on various configurations is going to be at the end of the .rpt files. A number of configurations are run and the discrepancy vs the AE is shown in eV. In pretty much every case the nominal ground state is tested which would have the configuration mentioned by Roman.