15.1 Analysis of Normal Modes in Terms of Internal Coordinates

A note in advance: The analysis of normal modes can (at nearly no computational cost) always be redone as long as you keep a copy of the file hessian.

A general prerequisite for this option is that you have defined a set of non-redundant coordinates for all 3N-6 (3N-5) degrees of freedom of your molecule. To make sure that this is the case, you should switch off redundant coordinates (currently, this is only possible by manually removing the data group $redundant and also removing the entry redundant on in $optimize). Run define to generate non-redundant coordinates by using the iaut command in the internal coordinate menu (or by creating them manually via idef). We recommend to use the irem command first to delete all previous definitions of internal coordinates. See Section 4 for further details. If the molecules point group is not \(C_1\), define will set some of the coordinate to status d (display) or i (ignore). Use the ic command to change all coordinates to k. You can also achieve this by editing in the $intdef data-group manually.

The analysis in internal coordinates is switched on by adding a line in the data-group $drvopt that has the following syntax:

analysis [only] intcoord [print print-level]

Keywords in square brackets are optional. If only is added, the program assumes that the file hessian exists and runs only the analysis part of aoforce. The program will give the following output (controlled by the print level given in parenthesis):

  • diagonal elements of the Hessian in internal coordinates (force constants of bonds, angles, etc.) (print level 0)

  • complete force constant matrix in internal coordinates (print level 2)

  • normal modes in terms of internal coordinates (print level 1)

  • Potential energy contributions \(\tilde{V}^n_{ij}\), defined as \[\begin{equation*} \tilde{V}_{ij}^n = L_i^n L_j^n F_{ij} / \omega^n \end{equation*}\] where \(L_i^n\) are the elements of the normal coordinate belonging to mode \(n\) and \(F_{ij}\) are the elements of the force constant matrix, both expressed in the internal coordinate basis; \(\omega\) is the related eigenvalue. The program will list the diagonal contributions \(\tilde{V}^n_{ii}\) (print level 1), the off-diagonal contributions \(\tilde{V}^n_{ij}+\tilde{V}^n_{ji}=2\tilde{V}^n_{ij}\) (print level 2 for up to 10 atoms, else print level 10) and the gross contributions \(\sum_i \tilde{V}^n_{ij}\) (print level 1).

  • Based on these quantities, the program will give an assignment of normal modes by listing all internal coordinates with large diagonal or gross contributions (print level 0).

Note that for large molecules or complicated topologies the B-matrix (that is used to transform from Cartesian coordinates into internal coordinates and vice versa) may become singular. In this case only the normal modes in the internal coordinate basis can be listed.