zadorlab / sella

A Python software package for saddle point optimization and minimization of atomic systems.
https://www.ecc-project.org/
Other
72 stars 20 forks source link

Incompatibility with dev version of ASE due to removal of deprecated `force_consistent` keyword argument #44

Closed Andrew-S-Rosen closed 1 month ago

Andrew-S-Rosen commented 4 months ago

This is just a head's up that sella does not work with the master branch of ASE (and, thereby, the next version or dev version). This is because the force_consistent keyword argument to the Dynamics class was deprecated and has now been removed (see https://gitlab.com/ase/ase/-/merge_requests/3424).

This can be easily verified as follows in a fresh env:

pip install git+https://github.com/zadorlab/sella.git
pip install git+https://gitlab.com/ase/ase.git

Then run the README example:

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)

The traceback shows:

TypeError: Dynamics.__init__() got an unexpected keyword argument 'force_consistent'

Tagging @samblau since this is going to influence ongoing collaborations. If we update ASE to master to make sure ORCA can run, then we have the added problem that Sella no longer works with ASE since it is using a now-removed deprecated parameter.