[Pw_forum] Calculating Hubbard U

Henning Glawe glaweh at physik.fu-berlin.de
Fri Mar 3 18:42:32 CET 2006


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' ?

-- 
c u
henning



More information about the Pw_forum mailing list