ccu.workflows.mh¶
DFT-code agnostic standard minima hopping workflow utilities.
Example
Run a minima hopping simulation with CO on a Au surface
import logging
from ase.build import bulk
from ase.calculators.vasp.vasp import Vasp
from ase.optimize.minimahopping import MinimaHopping
from ccu.adsorption.adsorbates import get_adsorbate
from ccu.workflows.mh import run_minima_hopping
logging.basicConfig(level=logging.DEBUG)
atoms = bulk("Au") * 6
atoms.center(vacuum=10, axis=2)
surface_atom = max(atoms, key=lambda a: a.position[2])
cooh = get_adsorbate("CO")
com = cooh.get_center_of_mass()
site = surface_atom.position + [0, 0, 3]
direction = site - com
for atom in cooh:
atom.position += direction
atoms += cooh
atoms.calc = Vasp(...)
hopper = MinimaHopping(atoms, ...)
run_minima_hopping(hopper, totalsteps=..., maxtemp=...)
- ccu.workflows.mh.run_minima_hopping(hopper: MinimaHopping, totalsteps: int | None = None, maxtemp: float | None = None, output: str | None = None) None[source]¶
Run a minima hopping simulation.
- Parameters:
hopper – An initialized
MinimaHoppingobject.totalsteps – The maximum number of minima hopping steps (the outer part of the MH algorithm). Defaults to None.
maxtemp – The maximum temperature to which the system will be increased in order to find new basins. Defaults to None.
output – The name of the output atoms file. Defaults to
SETTINGS.OUTPUT_ATOMS_FILE.