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 Ṽ
_{ij}^{n}, defined aswhere 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; ω is the related eigenvalue. The program will list the diagonal contributions Ṽ_{ii}^{n}(print level 1), the off-diagonal contributions Ṽ_{ij}^{n}+ Ṽ_{ji}^{n}= 2Ṽ_{ij}^{n}(print level 2 for up to 10 atoms, else print level 10) and the brutto contributions ∑_{i}Ṽ_{ij}^{n}(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 brutto 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.