get_pes_info#

optking.optimize.get_pes_info(H: ndarray, computer: ComputeWrapper, o_molsys: Molsys, opt_history: History, params: OptParams, hessian_protocol='update', requires=('energy', 'gradient'))[source]#

Calculate, update, or guess hessian as appropriate. Calculate gradient and transform to the current coordinate system, pulls the gradient from hessian output if possible.

Parameters:
  • H (np.ndarray) – current Hessian

  • computer (compute_wrappers.ComputeWrapper)

  • o_molsys (molsys.Molsys)

  • opt_history (history.History)

  • params (op.OptParams)

  • requires (list) – (“energy”, “gradient”, “hessian”)

  • hessian_protocol (str) – one of (“unneeded”, “compute”, “guess”, “update”)

Returns:

  • np.ndarray – hessian matrix (inteneral coordinates)

  • np.ndarray – gradient vector (internal coordinates)

  • np.ndarrray – gradient vector (cartesian coordinates)

  • float – energy

Notes

Some functionality from start_step has now been placed here. external forces are added into the forces. Redundancies and constraints are projected out of the forces and hessian.