[ase-users] NEB calculations
Jon Bergmann Maronsson
jber at fysik.dtu.dk
Thu Apr 28 13:15:35 CEST 2011
Hi Hadas
Depending on the way your calculations do not converge, you might get
better results by changing the spring constant value for NEB (default
is k = 0.1).
neb = NEB(images, k = 1.0)
or even higher.
Furthermore, using QuasiNewton optimizers, such as BFGS, can be
problematic for the NEB, thus I suggest using the FIRE optimizer in
stead.
best regards
Jon Bergmann
I also see that you are using the same calculator for all the images.
On Thu, Apr 28, 2011 at 12:31 PM, Hadas Abir <abir.hadas at gmail.com> wrote:
> Hi
> I am trying to use NEB to calculate activation energy for OH dissociation on
> metal slab. I am having trouble with convergence of the calculations.
> Is there a problem with the files as I write them.
>
> is there any way that I can improve the convergence of the NEB calculation.
>
> my file is attached below:
>
> Thanks
> Hadas
>
> ######################
> from ase import *
>
>
> # Read initial and final states:
> initial = read('PdOH.traj')
> final = read('PdH_O.traj')
>
> mask = [atom.symbol == 'Pd' for atom in initial]
> initial.set_constraint(FixAtoms(mask=mask))
>
>
> # Make a band consisting of 5 images:
> images = [initial]
> images += [initial.copy() for i in range(3)]
> images += [final]
> neb = NEB(images)
> # Interpolate linearly the positions of the three middle images:
> neb.interpolate()
> # Set calculators:
> calc =calculators.vasp.Vasp(prec = 'Med', xc = 'GGA', lreal =
> False,kpts=(5,5,1),symprec=1e-6 )
> for image in images[1:4]:
> image.set_calculator(calc)
>
>
> # Optimize:
> optimizer = BFGS(neb, trajectory='NEB.traj')
> optimizer.run(fmax=0.05)
> ############################
>
> _______________________________________________
> ase-users mailing list
> ase-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
>
More information about the ase-users
mailing list