[ase-users] Restarting NEB

Jens Jørgen Mortensen jensj at fysik.dtu.dk
Fri Nov 14 12:07:30 CET 2014


On 11/12/2014 01:53 PM, Roberto Schimmenti wrote:
> Dear ASE-users
>
> I'm encountering some problem for restarting NEB calculations using
> ASE+SIESTA; I know that there are several topic concerning this in the
> mailing list but I would like a more detailed explanation unpon setting up
> a NEB calculation using old trajectory file.
>
>
> This is one of my typical input file:
>
> initial = read('initial.traj')
> final = read('final.traj')
> constraint = FixAtoms(mask=[atom.tag > 1 for atom in initial])
>
>
> calc = Siesta(label='systemxx',
>                xc='KBM',
>                ....)
>
> images = [initial]
> for i in range(4):
>      image = initial.copy()
>      image.set_calculator(calc)
>      image.set_constraint(constraint)
>      images.append(image)
> images.append(final)
>
> neb = NEB(images,k=[0.15,0.15,0.25,0.15,0.15],climb=True)
> neb.interpolate()
> qn = BFGS(neb, trajectory='neb.traj')
> qn.run(fmax=0.04)
>
>
> With this I can obtain a neb.traj file in wich all the path optimization
> are included.
>
> I know from the manual that it's possible to use images=
> io.read('neb.traj'@-5) but I don't understand how this can be used for
> taking into account only the last iterations of the trajectory file. Could
> you provide me more complete example?

In your case (with 6 images) that should be something like:

     images = io.read('neb.traj at -6:')
     for image in images[1:-1]:
         image.set_calculator(calc)
         image.set_constraint(constraint)

     neb = NEB(images, k=[0.15, 0.15, 0.25, 0.15, 0.15], climb=True)
qn = BFGS(neb, trajectory='neb2.traj')
     qn.run(fmax=0.04)

Check first with ase-gui that you have the right path:

     ase-gui neb.traj at -6:

Jens Jørgen



More information about the ase-users mailing list