[gpaw-users] Cu2O dipole corrections - convergence problems
Jens Jørgen Mortensen
jensj at fysik.dtu.dk
Mon Feb 20 13:36:02 CET 2012
On 17-02-2012 14:52, Isabela Man wrote:
> Dear all,
> I am trying to do some calculations on different Cu2O surfaces (100,
> 110, 111 surfaces and for each different surface terminations).
> For all cases I encounter the same problem. When I do not apply dipole
> corrections , everything is fine and I get the convergence. When I
> apply it, depending on surface after none, one or two steps the energy
> become positive.
>
> mixer=Mixer(0.1, 5, weight=100.0)
> calc = GPAW(h=0.2,
> xc='RPBE',
> txt=outid,
> kpts=(2,2,1),
> #eigensolver='cg',
> width=0.10,
> #verbose=True,
> mixer=mixer,
> nbands = -30,
> spinpol = False,
> usesymm = False)
> poissonsolver = PoissonSolver()
> correction = DipoleCorrection(poissonsolver, 2) # 2 == z-axis
> calc = GPAW(poissonsolver=correction)
> calc.attach(calc.write,1,gpwdat)
> slab.set_calculator(calc)
>
> I have attached also a part of the output file and the corresponding
> structure.
> I haven't tried yet to run first in the LCAO mode and than to continue
> this way.
I see one problem in your script: First, you make a GPAW calculator
instance "calc=GPAW(...)" and then later you make another one:
calc = GPAW(poissonsolver=correction)
This will overwrite the first one, the one with all the parameters:
RPBE, mixer, number of k-points, .... So, you are doing a calculation
with a dipole correction, but with default parameters: LDA, Gamma point
only ...
You should do this:
calc=GPAW(xc='RPBE', ..., poissonsolver=correction)
I tried to do that and things converged nicely for me, but that was with
the development version of GPAW. I think Ask has fixed a couple of
problems with the dipole correction since the version of GPAW that you
are using. Try updating to the latest version - it should be compatible
with the version you have, but you better verify that yourself.
Jens Jørgen
>
> Thank you
> Isabela Man
More information about the gpaw-users
mailing list