[Pw_forum] Calculating Hubbard U
matteoc at MIT.EDU
Fri Mar 3 18:51:37 CET 2006
On Fri, 3 Mar 2006, Henning Glawe wrote:
> On Thu, Mar 02, 2006 at 09:28:44AM -0500, Matteo Cococcioni wrote:
>> you are right: if you set Hubbard_U and Hubbard_alpha exactly to 0 the
>> code won't print the occupations and if lda_plus_u = .true. it stops with
>> the error message you report. Maybe this should be changed but the way
>> around this is very easy and is exactly what you were suggesting. To
>> obtain the occupations printed on your output file (and to compute the
>> U) just set Hubbard_U to very small values (1.d-10 is on the very safe
>> side but you could use even smaller values if you prefer: it only needs to
>> be non zero). I hope this helps.
> it helped for the U=alpha=0 case, thanks.
> Now I tried to impose the perturbation by setting hubbard_alpha to various
> non-zero values, taking the data from the first calculation as a starting
> point (startingwfc=startingpot='file', diago_thr_init = 9.54E-10 from the
> last step of the U=1d-10 scf calculation).
> but re-running with a changed hubbard_alpha($atom) seems to have no effect,
> though setting hubbard_alpha(1)=0.1 in the input, pw.x keeps running with
> alpha=0 (at least this is what it writes on STDOUT). Does pw.x read this from
> the files in 'outdir' ?
make sure your restart_mode is set to "from_scratch" even when you restart
with a finite value of Hubbard_alpha. Otherwise (I think) the code reads
the restart file and doesn't realize that you have changed Hubbard_alpha.
let us know how it goes.
> c u
> Pw_forum mailing list
> Pw_forum at pwscf.org
More information about the users