ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki
ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki
ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>ASE</strong> <strong>Manual</strong>, <strong>Release</strong> 3.6.1.2828<br />
In all three filters only the hydrogen atoms are made visible. When asking for the positions only the positions of<br />
the hydrogen atoms are returned.<br />
7.16 Nudged elastic band<br />
The Nudged Elastic Band method is a technique for finding transition paths (and corresponding energy barriers)<br />
between given initial and final states. The method involves constructing a “chain” of “replicas” or “images” of the<br />
system and relaxing them in a certain way.<br />
Relevant literature References:<br />
1. H. Jonsson, G. Mills, and K. W. Jacobsen, in ‘Classical and Quantum Dynamics in Condensed Phase Systems’,<br />
edited by B. J. Berne, G. Cicotti, and D. F. Coker, World Scientific, 1998 [standard formulation]<br />
2. ‘Improved Tangent Estimate in the NEB method for Finding Minimum Energy Paths and Saddle Points’,<br />
Graeme Henkelman and Hannes Jonsson, J. Chem. Phys. 113, 9978 (2000) [improved tangent estimates]<br />
3. ‘A Climbing-Image NEB Method for Finding Saddle Points and Minimum Energy Paths’, Graeme Henkelman,<br />
Blas P. Uberuaga and Hannes Jonsson, J. Chem. Phys. 113, 9901 (2000)<br />
7.16.1 The NEB class<br />
This module defines one class:<br />
class ase.neb.NEB(images, k=0.1, climb=False, parallel=False, world=None)<br />
Nudged elastic band.<br />
images: list of Atoms objects Images defining path from initial to final state.<br />
k: float or list of floats Spring constant(s). One number or one for each spring.<br />
climb: bool Use a climbing image (default is no climbing image).<br />
parallel: bool Distribute images over processors.<br />
Example of use, between initial and final state which have been previously saved in A.traj and B.traj:<br />
from ase import io<br />
from ase.neb import NEB<br />
from ase.optimize import MDMin<br />
# Read initial and final states:<br />
initial = io.read(’A.traj’)<br />
final = io.read(’B.traj’)<br />
# Make a band consisting of 5 images:<br />
images = [initial]<br />
images += [initial.copy() for i in range(3)]<br />
images += [final]<br />
neb = NEB(images)<br />
# Interpolate linearly the potisions of the three middle images:<br />
neb.interpolate()<br />
# Set calculators:<br />
for image in images[1:4]:<br />
image.set_calculator(MyCalculator(...))<br />
# Optimize:<br />
optimizer = MDMin(neb, trajectory=’A2B.traj’)<br />
optimizer.run(fmax=0.04)<br />
Be sure to use the copy method (or similar) to create new instances of atoms within the list of images fed to the<br />
NEB. Do not use something like [initial for i in range(3)], as it will only create references to the original atoms<br />
object.<br />
Notice the use of the interpolate() method to get a good initial guess for the path from A to B.<br />
7.16. Nudged elastic band 143