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

Kucukbenli Emine emine.kucukbenli at epfl.ch
Mon Jan 20 14:52:57 CET 2014


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




More information about the developers mailing list