[ase-users] NEB Convergence with k-point

Marcin Dulak Marcin.Dulak at fysik.dtu.dk
Thu Mar 12 13:39:17 CET 2015


Hi,

On 03/11/2015 05:11 PM, Sungsik Kim wrote:
> Hello,
>
> This Sungsik.
>
> I am running associative desorption of 2O to O2 on Pd111 (3x3x3).
>
> I have been running it for 6 months. It seems that a solution is 
> converged, but
>
> it is too slow. I am using I-7 3rd gen computer.
>
> Does the low number of k-point affect NEB convergence?
>
> I use (3,3,1) k-point for Pd111 (3x3x3). Is k-point too low for 3x3x3 
> unit cell?
>
> here is code I used.
>
> from ase import Atoms
> from ase.constraints import FixAtoms
> from ase.optimize import QuasiNewton
> from ase.io <http://ase.io> import write
> import numpy as np
> from ase.io <http://ase.io> import read
> from ase.neb import NEB
> from ase.visualize import view
> from ase.lattice.surface import fcc100, add_adsorbate
> from ase.data.molecules import molecule
> from ase.calculators.jacapo import Jacapo
> from ase.vibrations import Vibrations
> from ase.optimize import FIRE
> from ase.lattice.surface import surface
> from ase.constraints import FixBondLengths
> from ase.constraints import FixBondLength
> from ase.constraints import FixedPlane
> from ase.io <http://ase.io> import read
> from ase.optimize import BFGS
> from ase.lattice.surface import fcc111,add_adsorbate
> from ase.io.trajectory import PickleTrajectory
> from ase.parallel import rank, size
> import os
>
> # Definition of Molecules
> O2=molecule('O2')
> CH3=molecule('CH3')
> CH4=molecule('CH4')
> H2=molecule('H2')
>
>
> '''
> # Initial State
> slab = read('Pd-opti.traj')
> slab.set_pbc(True)
> slab.center(vacuum=10, axis=2)
> add_adsorbate(slab, 'O', 1.5, (1.377, 0.795))
> add_adsorbate(slab, 'O', 1.5, (5.500, 3.175))
>
>
> f= FixAtoms(mask=[atom.tag > 1 for atom in slab])
> slab.set_constraint(f)
> view(slab)
>
> calc2 = Jacapo('init-pd91-4.nc <http://init-pd91-4.nc>',
>           xc='PW91',
>               pw=350,
the planewave cutoff is probably too low for Oxygen.
Calculate the single point SCFs of your barrier with larger k-points 
grid and higher planewave cutoff
to see how well the result (the property you are looking at) is converged.
Note that Pd is amongst the pseudopotentials that tend to give incorrect 
adsorption energies in Dacapo,
see 
http://listserv.fysik.dtu.dk/pipermail/gpaw-users/2014-November/003097.html
It is critical to verify the result Dacapo using a more accurate 
potentials (e.g. GPAW or GBRV in ESPRESSO).

Best regards,

Marcin

>               kpts=(3,3,1),
>               atoms=slab)
> qn = QuasiNewton(slab, trajectory='init-pd91-4.traj')
> qn.run(fmax=0.05)
> print slab.get_potential_energy()
> #view(slab)
>
>
> # Final State
> slab = read('Pd-opti.traj')
> slab.set_pbc(True)
> slab.center(vacuum=10, axis=2)
> add_adsorbate(slab, O2, 6.5, (3.4385, 1.985))
>
>
> f= FixAtoms(mask=[atom.tag > 1 for atom in slab])
> c1=FixBondLength(27,28)
> slab.set_constraint([f,c1])
> view(slab)
>
>
> calc4 = Jacapo('final-pd91-4.nc <http://final-pd91-4.nc>',
>           xc='PW91',
>           pw=350,
>               kpts=(3,3,1),
>               atoms=slab)
> qn = QuasiNewton(slab, trajectory='final-pd91-4.traj')
> qn.run(fmax=0.05)
> print slab.get_potential_energy()
> #view(slab)
>
>
> # NEB Calculation
> initial = read('init-pd91-4.traj')
> final = read('final-pd91-4.traj')
>
> f1= FixAtoms(mask=[atom.tag > 1 for atom in initial])
>
> images = [initial]
> for i in range(5):
>     image=initial.copy()
>     calc = Jacapo('De2O-neb-pd91-4_%i.nc <http://i.nc>' % i,
>               xc='PW91',
>                   atoms = image,
>                   pw=350,
>                   kpts=(3,3,1))
>     images.append(image)
>     image.set_constraint(f1)
>
> images.append(final)
>
> neb = NEB(images)
> neb.interpolate()
> qn = BFGS(neb, trajectory='De2O-neb-pd91-4.traj')
> qn.run(fmax=0.05)
> #view(images)
> print 'de2O on pd9'
>
> ###########################################
>
> Any help would be appreciated.
>
> Sungsik


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20150312/6b55d5ff/attachment.html>


More information about the ase-users mailing list