[QE-users] On-site Hubbard U for background orbitals
Timrov Iurii
iurii.timrov at epfl.ch
Tue Aug 18 10:56:56 CEST 2020
> Note that by default the second Hubbard channel per atom is of the "s character".
Sorry, this is true for most elements. But just for a few elements the second Hubbard channel is not of the s character. One should always check "set_hubbard_l_back".
In the (near) future we would like to make it possible to specify the Hubbard channels (i.e. orbitals to which the Hubbard correction is applied) from the input, and not to have it hard-coded in set_hubbard_l and set_hubbard_l_back.
Greetings,
Iurii
--
Dr. Iurii TIMROV
Postdoctoral Researcher
STI - IMX - THEOS and NCCR - MARVEL
Swiss Federal Institute of Technology Lausanne (EPFL)
CH-1015 Lausanne, Switzerland
+41 21 69 34 881
http://people.epfl.ch/265334
________________________________
From: users <users-bounces at lists.quantum-espresso.org> on behalf of Timrov Iurii <iurii.timrov at epfl.ch>
Sent: Tuesday, August 18, 2020 10:50:28 AM
To: users at lists.quantum-espresso.org
Subject: Re: [QE-users] On-site Hubbard U for background orbitals
Dear Will,
The implementation of the multi-channel DFT+U and DFT+U+V codes is in the experimental stage (please use it with caution), we are still working on it to make it more user-friendly and robust. This is why there is no much documentation about it yet.
In principle, yes you can use the DFT+U+V machinery to do what you want: to apply two different U values to 4f and 5d states of Gd and set V to zero. But actually there is a multi-channel implementation also in the DFT+U machinery, but this was not advertised yet for the reasons mentioned above. But you can see some examples in q-e-6.6/test-suite/pw_lda+U (in you case you should check "lda+U_background_one_channel.in").
> Error in routine init_lda_plus_u (1):
> lda_plus_u calculation but Hubbard_l not set
I presume that you get this problem because there is something wrong in your input. If you share your input it would be useful to find what is wrong.
Note that by default the second Hubbard channel per atom is of the "s character". If you want to change it to something else, then you need to modify the routine "set_hubbard_l_back". The main Hubbard channel is specified in "set_hubbard_l" (in your case for Gd it is hard-coded and it is 4f), and the secondary ("background" [1]) Hubbard channel is specified in "set_hubbard_l_back" (in your case for Gd you need to specify that it is the d channel, i.e. hubbard_l_back = 2). This modification must be done for both DFT+U and DFT+U+V machineries.
Greetings,
Iurii
[1] Note, the terminology "background" is a bit misleading. It should not be called like that (in general), because this is just a second Hubbard channel per atom. It is called "background" for historical reasons: this secondary (background) channel was originally implemented to do something else and hence it has such a name. But we want to change this naming, and only then advertise these features to the QE community.
--
Dr. Iurii TIMROV
Postdoctoral Researcher
STI - IMX - THEOS and NCCR - MARVEL
Swiss Federal Institute of Technology Lausanne (EPFL)
CH-1015 Lausanne, Switzerland
+41 21 69 34 881
http://people.epfl.ch/265334
________________________________
From: users <users-bounces at lists.quantum-espresso.org> on behalf of William Hewett <williamholmeshewett1 at gmail.com>
Sent: Tuesday, August 18, 2020 4:35:59 AM
To: users at lists.quantum-espresso.org
Subject: [QE-users] On-site Hubbard U for background orbitals
Hi all,
I'm interested in doing DFT+U calculations on the rare earth mono-nitride GdN. The most successful calculations in the past have used multiple Hubbard U terms (U_f and U_d) on the 4f and 5d electron channels on the Gd ion. This has been done before using QE (Comput. Mater. Sci 95 (2014) 263-270).
I suspect that in v6.6 this may now be possible in the stable branch via an onsite Hubbard V term on both the standard and background orbitals?
The pw.x input guide gives that Hubbard_V(na,na,k) will be the onsite Hubbard interaction. After setting the appropriate values for the background n, l and occupations of Gd in:
Modules/set_hubbard_l.f90
Modules/set_hubbard_n.f90
PW/src/tabd.f90
and increasing sc_size = 3 in Modules/parameters.f90
and compiling the code, I've used the following in the &SYSTEM block:
lda_plus_u=.true.
lda_plus_u_kind=2
Hubbard_V(1,1,1)=a
Hubbard_V(1,1,3)=b
I guess there will now be two Hubbard terms on that atom at side na, on the standard and background orbitals.
However, I find the following error:
Error in routine init_lda_plus_u (1):
lda_plus_u calculation but Hubbard_l not set
Any help is appreciated, I'm running QE 6.6 on Ubuntu 20.04.
Thanks
Will Hewett
Postdoctoral Researcher
Victoria University of Wellington
New Zealand
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20200818/bb1fcd6f/attachment.html>
More information about the users
mailing list