Units of ASE vib.H (Hessian) and vib.get_mode()

Hi all,

I would like to know units used in ASE Vibration analysis. The requirement comes from me needing to calculate Newton Raphson (NR) step to nudge the system out of a saddle point (imaginary mode).

Here
NR step = - (Force * eigenvector of imaginary mode)/ Hessian

To make this work, I need to make sure that the units are correct,
i.e. Force is in eV/A ; eigenvector is dimensionless; and Hessian is eV/A²

Force is obtained from atoms.get_forces()
eigenvector is obtained from vibrations.get_mode(x)
Hessian is obtained from vibrations.H

Are the parameters in units I am expecting?

I greatly appreciate any help.

Thank you.

I believe everything is done in the ASE standard units of eV and Angstrom as you suggested.

Looking at the code in ase.vibrations.data and ase.vibrations.vibrations, the only uses of ase.units are to get the Boltzmann constant, deal with the Planck constant (which is stored in SI units and converted) and invcm (silly historical unit for spectroscopy…)