Split up analysis chapter in reference manual
[alexxy/gromacs.git] / docs / reference-manual / normal-mode-analysis.rst
1 Normal-Mode Analysis
2 --------------------
3
4 Normal-mode analysis \ :ref:`54 <refLevitt83>`\ :ref:`56 <refBBrooks83b>`
5 can be performed using |Gromacs|, by diagonalization of the
6 mass-weighted Hessian :math:`H`:
7
8 .. math::
9
10    \begin{aligned}
11    R^T M^{-1/2} H M^{-1/2} R   &=& \mbox{diag}(\lambda_1,\ldots,\lambda_{3N})
12    \\
13    \lambda_i &=& (2 \pi \omega_i)^2\end{aligned}
14
15 where :math:`M` contains the atomic masses, :math:`R` is a matrix that
16 contains the eigenvectors as columns, :math:`\lambda_i` are the
17 eigenvalues and :math:`\omega_i` are the corresponding frequencies.
18
19 First the Hessian matrix, which is a :math:`3N \times 3N` matrix where
20 :math:`N` is the number of atoms, needs to be calculated:
21
22 .. math::
23
24    \begin{aligned}
25    H_{ij}  &=&     \frac{\partial^2 V}{\partial x_i \partial x_j}\end{aligned}
26
27 where :math:`x_i` and :math:`x_j` denote the atomic x, y or z
28 coordinates. In practice, this equation is not used, but the Hessian is
29 calculated numerically from the force as:
30
31 .. math::
32
33    \begin{aligned}
34    H_{ij} &=& -
35      \frac{f_i({\bf x}+h{\bf e}_j) - f_i({\bf x}-h{\bf e}_j)}{2h}
36    \\
37    f_i     &=& - \frac{\partial V}{\partial x_i}\end{aligned}
38
39 where :math:`{\bf e}_j` is the unit vector in direction :math:`j`. It
40 should be noted that for a usual normal-mode calculation, it is
41 necessary to completely minimize the energy prior to computation of the
42 Hessian. The tolerance required depends on the type of system, but a
43 rough indication is 0.001 kJ mol\ :math:`^{-1}`. Minimization should be
44 done with conjugate gradients or L-BFGS in double precision.
45
46 A number of |Gromacs| programs are involved in these calculations. First,
47 the energy should be minimized using :ref:`mdrun <gmx mdrun>`. Then,
48 :ref:`mdrun <gmx mdrun>` computes the Hessian. **Note** that for generating
49 the run input file, one should use the minimized conformation from the
50 full precision trajectory file, as the structure file is not accurate
51 enough. :ref:`gmx nmeig` does the
52 diagonalization and the sorting of the normal modes according to their
53 frequencies. Both :ref:`mdrun <gmx mdrun>` and :ref:`gmx nmeig` should be run in double precision.
54 The normal modes can be analyzed with the program :ref:`gmx anaeig`. Ensembles
55 of structures at any temperature and for any subset of normal modes can
56 be generated with :ref:`gmx nmens`. An overview of normal-mode analysis and the
57 related principal component analysis (see sec. :ref:`covanal`) can be
58 found in \ :ref:`57 <refHayward95b>`.