16
General Questions and Answers / Re: How can I use a different number of valence electrons for a specific atom
« on: April 29, 2018, 14:45 »Hi Guang-Ping,
In ATK this can be achieved by using atomic compensation charges:
https://docs.quantumwise.com/manuals/Types/AtomicCompensationCharge/AtomicCompensationCharge.html
https://docs.quantumwise.com/manuals/technicalnotes/doping_methods/doping_methods.html
I am not sure of what you did in SIESTA, but from the ATK error it looks like that you are trying use a pseudo and a basis that have different number of valence electrons, N for the pseudo, N-1 for the basis. This can also be done in ATK, but in this case you have to generate a pseudopotential with N-1 electrons by yourself, to be consistent with the number of electrons specified in the basis. An atomic compensation charge placed on the nitrogen atom will give essentially the same result, without the need to modify the pseudo/basis.
Regards,
Daniele
Dear Daniele,
AtomicCompensationCharge works.
In SIESTA, I just use
%block ChemicalSpeciesLabel
5 6 N+
%endblock ChemicalSpeciesLabel
combined with a N+.psf that is copied from a normal N.psf file, and also a basis set for N+ that copied from a normal N.
%block PAO.Basis # Define Basis set
N+ 2 # Species label, number of l-shells
n=2 0 2 # n, l, Nzeta
4.071 2.905
1.000 1.000
n=2 1 2 P 1 # n, l, Nzeta, Polarization, NzetaPol
4.973 3.054
1.000 1.000
%endblock PAO.Basis
I think this is equivalent to
compensation_charge = AtomicCompensationCharge([('N+', -1.0)])
molecule_configuration.setExternalPotential(compensation_charge)
With best regards,
/Guang-Ping Zhang