get_next_step¶
-
chemopt.zmat_optimisation.
get_next_step
(last_two_C, gradients_energy_C, hess_old)[source]¶ Returns the next step and approximated hessian in the BFGS algorithm.
Parameters: - last_two_C (list) –
A two list of the current and previous zmat values. The order is:
[previous, current]
. Each array is flatted out in the following order\[\left[ r_1, \alpha_1, \delta_1, r_2, \alpha_2, \delta_2, ... \right]\]And again \(r_i, \alpha_i, \delta_i\) are the bond, angle, and dihedral of the \(i\)-th atom. The units are Angstrom and radians.
- gradients_energy_C (collections.deque) –
A two element deque, that contains the current and previous gradient in internal coordinates. The order is:
[previous, current]
. Each gradient is flatted out in the following order\[\left[ \frac{\partial V}{\partial r_1}, \frac{\partial V}{\partial \alpha_1}, \frac{\partial V}{\partial \delta_1}, \frac{\partial V}{\partial r_2}, \frac{\partial V}{\partial \alpha_2}, \frac{\partial V}{\partial \delta_2}, ... \right]\]Here \(V\) is the energy and \(r_i, \alpha_i, \delta_i\) are the bond, angle, and dihedral of the \(i\)-th atom. The units are:
\[\begin{split} &\frac{\partial V}{\partial r_i} &\frac{\text{Hartree}}{\text{Angstrom}} \\ &\frac{\partial V}{\partial \alpha_i} &\frac{\text{Hartree}}{\text{Radian}} \\ &\frac{\partial V}{\partial \delta_i} &\frac{\text{Hartree}}{\text{Radian}}\end{split}\]
Returns: First float array is the next step, the second float array is the new approximated hessian.
Return type: - last_two_C (list) –