[Q-e-developers] problem with PAW + stess + Hubbard U

Paolo Giannozzi paolo.giannozzi at uniud.it
Mon Jan 20 15:23:31 CET 2014


There has always been a considerable (and deplorable) confusion 
between "bound states with zero occupancy" and "unbound states"
(also between atomic wavefunctions for scf initial step, pDOS 
and the like, and those for AE reconstruction, maybe). I think 
one of these days we should think a little bit and find out
0) what is the current situation
1) what should be the ideal situation
2) how to go from 0) to 1) without breaking too many things. 
In the meantime: what is done, good or bad, should be done in 
the same way everywhere.

P.

On Mon, 2014-01-20 at 13:52 +0000, Kucukbenli Emine wrote:
> Ciao 
> as far as I remember during generation of a PP, occupation < 0 is reserved to indicate unbound states,
> while you can have a bound state with occupation zero by selecting the reference energy=0.d0 and occupation=0.d0.
> One could imagine systems and pseudopotentials where Hubbard-relevant channel has indeed has zero occupations in the pseudo. So I would not change that if clause.
> Instead, I would put a negative occupation for any unbound state, as it would be done during generation.
> But again I might be wrong..
> cheers
> emine
> ________________________________________
> From: q-e-developers-bounces at qe-forge.org [q-e-developers-bounces at qe-forge.org] on behalf of Davide Ceresoli [davide.ceresoli at istm.cnr.it]
> Sent: Monday, January 20, 2014 2:38 PM
> To: q-e-developers at qe-forge.org
> Subject: [Q-e-developers] problem with PAW + stess + Hubbard U
> 
> Dear all,
>      I've got a problem with PAW + stress + Hubbard U. The problem
> is in routine gen_at_dj:
> 
>   iatw =          40 natw =          20
> 
>   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>       Error in routine gen_at_dj (1):
>       unexpected error
>   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> 
> I'm using Natalie Holzwarth PAW for Co, which has two l=2 projectors:
> 
> # grep "<PP_CHI" Co.GGA-PBE-paw.UPF
> 
>   <PP_CHI.1 type="real" size="  1041" l="0" occupation=" 2.0000" columns="3">
>   <PP_CHI.2 type="real" size="  1041" l="0" occupation=" 2.0000" columns="3">
>   <PP_CHI.3 type="real" size="  1041" l="1" occupation=" 6.0000" columns="3">
>   <PP_CHI.4 type="real" size="  1041" l="1" occupation=" 0.0000" columns="3">
>   <PP_CHI.5 type="real" size="  1041" l="2" occupation=" 7.0000" columns="3">
>   <PP_CHI.6 type="real" size="  1041" l="2" occupation=" 0.0000" columns="3">
> 
> (I have 4 Co in the unit cell).
> 
> The problem is the following comparison in gen_at_dj:
>           if ( upf(nt)%oc(nb) >= 0.d0 .and. l == hubbard_l(nt) ) then
> 
> Is there a reason for using ">=" rather than ">"? This comparison can be
> found in many other place. As far as I understand, if the occupation
> of an atomic orbital is < 0.0, that orbital is ignored in: 1) atomic wfc
> initialization 2) Lowdin projection 3) Hubbard U.
> How about if the occupation is = 0.0? what should be the behavior of the
> code?
> 
> In any case I can modify the UPF file and enter a negative occupation for
> PP_CHI.6.
> 
> Best regards,
>      Davide
> _______________________________________________
> Q-e-developers mailing list
> Q-e-developers at qe-forge.org
> http://qe-forge.org/mailman/listinfo/q-e-developers
> 
> _______________________________________________
> Q-e-developers mailing list
> Q-e-developers at qe-forge.org
> http://qe-forge.org/mailman/listinfo/q-e-developers

-- 
 Paolo Giannozzi, Dept. Chemistry&Physics&Environment, 
 Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
 Phone +39-0432-558216, fax +39-0432-558222 




More information about the developers mailing list