Normal-Mode Analysis -------------------- Normal-mode analysis \ :ref:54 \ :ref:56  can be performed using |Gromacs|, by diagonalization of the mass-weighted Hessian :math:H: .. math:: \begin{aligned} R^T M^{-1/2} H M^{-1/2} R &=& \mbox{diag}(\lambda_1,\ldots,\lambda_{3N}) \\ \lambda_i &=& (2 \pi \omega_i)^2\end{aligned} :label: eqnNMA where :math:M contains the atomic masses, :math:R is a matrix that contains the eigenvectors as columns, :math:\lambda_i are the eigenvalues and :math:\omega_i are the corresponding frequencies. First the Hessian matrix, which is a :math:3N \times 3N matrix where :math:N is the number of atoms, needs to be calculated: .. math:: \begin{aligned} H_{ij} &=& \frac{\partial^2 V}{\partial x_i \partial x_j}\end{aligned} :label: eqnNMAhessian where :math:x_i and :math:x_j denote the atomic x, y or z coordinates. In practice, this equation is not used, but the Hessian is calculated numerically from the force as: .. math:: \begin{aligned} H_{ij} &=& - \frac{f_i({\bf x}+h{\bf e}_j) - f_i({\bf x}-h{\bf e}_j)}{2h} \\ f_i &=& - \frac{\partial V}{\partial x_i}\end{aligned} :label: eqnNMAhessianfromforce where :math:{\bf e}_j is the unit vector in direction :math:j. It should be noted that for a usual normal-mode calculation, it is necessary to completely minimize the energy prior to computation of the Hessian. The tolerance required depends on the type of system, but a rough indication is 0.001 kJ mol\ :math:^{-1}. Minimization should be done with conjugate gradients or L-BFGS in double precision. A number of |Gromacs| programs are involved in these calculations. First, the energy should be minimized using :ref:mdrun . Then, :ref:mdrun  computes the Hessian. **Note** that for generating the run input file, one should use the minimized conformation from the full precision trajectory file, as the structure file is not accurate enough. :ref:gmx nmeig does the diagonalization and the sorting of the normal modes according to their frequencies. Both :ref:mdrun  and :ref:gmx nmeig should be run in double precision. The normal modes can be analyzed with the program :ref:gmx anaeig. Ensembles of structures at any temperature and for any subset of normal modes can be generated with :ref:gmx nmens. An overview of normal-mode analysis and the related principal component analysis (see sec. :ref:covanal) can be found in \ :ref:57 .