Sella is a utility for finding first order saddle points
An example script
#!/usr/bin/env python3
from ase.build import fcc111, add_adsorbate
from ase.calculators.emt import EMT
from sella import Sella, Constraints
# Set up your system as an ASE atoms object
slab = fcc111('Cu', (5, 5, 6), vacuum=7.5)
add_adsorbate(slab, 'Cu', 2.0, 'bridge')
# Optionally, create and populate a Constraints object.
cons = Constraints(slab)
for atom in slab:
if atom.position[2] < slab.cell[2, 2] / 2.:
cons.fix_translation(atom.index)
# Set up your calculator
slab.calc = EMT()
# Set up a Sella Dynamics object
dyn = Sella(
slab,
constraints=cons,
trajectory='test_emt.traj',
)
dyn.run(1e-3, 1000)
If you are using Sella or you wish to use Sella, let me know!
For more information on how to use Sella, please check the wiki.
If you need help using Sella, please visit our gitter support channel, or open a GitHub issue.
If you use our code in publications, please cite the revelant work(s). (1) is recommended when Sella is used for solids or in heterogeneous catalysis, (3) is recommended for molecular systems.
This work was supported by the U.S. Department of Energy, Office of Science, Basic Energy Sciences, Chemical Sciences, Geosciences and Biosciences Division, as part of the Computational Chemistry Sciences Program.