[ase-users] NEB Calculation

Ask Hjorth Larsen asklarsen at gmail.com
Wed Jan 10 18:59:46 CET 2018


Hi,

2018-01-10 17:59 GMT+01:00 Abid Channa <abid_channa04 at yahoo.com>:
> My target is " Diffusion of Pt adatom from fcc to hcp via Bridge" , system
> is fcc, Pt 111
>
> Script is
>
> 1- for fcc site in which I have described my initial.traj
>
> from ase.build import fcc111, add_adsorbate
> from ase.constraints import FixAtoms
> from ase.calculators.emt import EMT
> from ase.optimize import QuasiNewton
>
>
> slab = fcc111('Pt', size=(4, 4, 7))
> add_adsorbate(slab, 'Pt', 1.7, 'fcc')
> slab.center(axis=2, vacuum=4.0)
>
> mask = [atom.tag > 5 for atom in slab]
> slab.set_constraint(FixAtoms(mask=mask))
> slab.set_calculator(EMT())
>
> # Initial state:
> qn = QuasiNewton(slab, trajectory='initial.traj')
> qn.run(fmax=0.05)
>
> 2-for hcp site in which I have described my final.traj
>
>
>
> from ase.build import fcc111, add_adsorbate
> from ase.constraints import FixAtoms
> from ase.calculators.emt import EMT
> from ase.optimize import QuasiNewton
>
>
> slab = fcc111('Pt', size=(4, 4, 7))
> add_adsorbate(slab, 'Pt', 1.7, 'hcp')
> slab.center(axis=2, vacuum=4.0)
>
> mask = [atom.tag > 5 for atom in slab]
> slab.set_constraint(FixAtoms(mask=mask))
> slab.set_calculator(EMT())
>
> # Final state:
> qn = QuasiNewton(slab, trajectory='final.traj')
> qn.run(fmax=0.05)
>
>  3-Script for NEB calculation in which I have defined initial.traj fcc site
> and final.traj hcp site.
>
>
> from ase.io import read
> from ase.constraints import FixAtoms
> from ase.calculators.emt import EMT
> from ase.neb import NEB
> from ase.optimize import BFGS
>
> initial = read('initial.traj')
> final = read('final.traj')
>
> constraint = FixAtoms(mask=[atom.tag > 1 for atom in initial])
>
> images = [initial]
> for i in range(3):
>     image = initial.copy()
>     image.set_calculator(EMT())
>     image.set_constraint(constraint)
>     images.append(image)
>
> images.append(final)
>
> neb = NEB(images)
> neb.interpolate()
> qn = BFGS(neb, trajectory='neb.traj')
> qn.run(fmax=0.05)
>
>
> Best,

Okay, that is clear.

As far as I can see it works correctly though: The final five images
of the output trajectory describe the reaction path from the fcc site
to an adjacent hcp site.  What was the exact source of trouble?

Best regards
Ask


More information about the ase-users mailing list