Several variants of initial Hessian estimate for geometry optimization.
module HessianEstimate
Numerical calculation
HessianEstimate.numerical(geometry, settings) # => Matrix
Fix for optimization hessian
HessianEstimate.make_positive(h)
Cartesian (build from internals)
HessianEstimate.in_cartesian(geometry, hessian_type, options = {})
Internals
HessianEstimate.in_redundant_coord(q_set, geometry, hessian_type)
HessianEstimate.simple_diagonal(q_set)
Hessian diagonal in redundant internal coordinates, with different force constants for
bonds, angles and torsions.
Values are taken from Bakken, Helgaker, J.Chem.Phys 117(20), 2002
HessianEstimate.fischer_almlof(q_set, geometry)
Hessian diagonal in redundant internal coordinates, force constant
derived from bond distances and table of covalent radii.
Reference: Fischer, Almlof, J.Phys.Chem 96(24), 9768-9774, 1992
HessianEstimate.lindh(q_set, geometry)
Hessian diagonal in redundant internal coordinates, force constant
derived from bond distances and constants tabulated for first 3 periods
of periodic table.
Reference: Lindh, Bernhardsson, Karlstrom, Malmqvist, Chem.Phys.Lett 241, 423-428, 1995