**gmx nmeig** calculates the eigenvectors/values of a (Hessian) matrix, which can be calculated with **gmx mdrun**. The eigenvectors are written to a trajectory file (**-v**). The structure is written first with t=0. The eigenvectors are written as frames with the eigenvector number as timestamp. The eigenvectors can be analyzed with **gmx anaeig**. An ensemble of structures can be generated from the eigenvectors with **gmx nmens**. When mass weighting is used, the generated eigenvectors will be scaled back to plain Cartesian coordinates before generating the output. In this case, they will no longer be exactly orthogonal in the standard Cartesian norm, but in the mass-weighted norm they would be.
This program can be optionally used to compute quantum corrections to heat capacity and enthalpy by providing an extra file argument **-qcorr**. See the GROMACS manual, Chapter 1, for details. The result includes subtracting a harmonic degree of freedom at the given temperature. The total correction is printed on the terminal screen. The recommended way of getting the corrections out is:

**gmx nmeig -s topol.tpr -f nm.mtx -first 7 -last 10000 -T 300 -qc [-constr]**

The **-constr** option should be used when bond constraints were used during the simulation **for all the covalent bonds**. If this is not the case, you need to analyze the **quant_corr.xvg** file yourself.

To make things more flexible, the program can also take virtual sites into account when computing quantum corrections. When selecting **-constr** and **-qc**, the **-begin** and **-end** options will be set automatically as well. Again, if you think you know it better, please check the **eigenfreq.xvg** output.

Options to specify input and output files:
**-f*** [<.mtx>] (hessian.mtx) (Input)*

Hessian matrix

**-s*** [<.tpr/.tpb/...>] (topol.tpr) (Input)*

Run input file: tpr tpb tpa

**-of*** [<.xvg>] (eigenfreq.xvg) (Output)*

xvgr/xmgr file

**-ol*** [<.xvg>] (eigenval.xvg) (Output)*

xvgr/xmgr file

**-os*** [<.xvg>] (spectrum.xvg) (Output, Optional)*

xvgr/xmgr file

**-qc*** [<.xvg>] (quant_corr.xvg) (Output, Optional)*

xvgr/xmgr file

**-v*** [<.trr/.cpt/...>] (eigenvec.trr) (Output)*

Full precision trajectory: trr cpt trj tng

Other options:

**-nice*** <int> (19)*

Set the nicelevel

**-xvg*** <enum> (xmgrace)*

xvg plot formatting: xmgrace, xmgr, none

**-[no]m*** (yes)*

Divide elements of Hessian by product of sqrt(mass) of involved atoms prior to diagonalization. This should be used for ’Normal Modes’ analysis

**-first*** <int> (1)*

First eigenvector to write away

**-last*** <int> (50)*

Last eigenvector to write away

**-maxspec*** <int> (4000)*

Highest frequency (1/cm) to consider in the spectrum

**-T*** <real> (298.15)*

Temperature for computing quantum heat capacity and enthalpy when using normal mode calculations to correct classical simulations

**-[no]constr*** (no)*

If constraints were used in the simulation but not in the normal mode analysis (this is the recommended way of doing it) you will need to set this for computing the quantum corrections.

**-width*** <real> (1)*

Width (sigma) of the gaussian peaks (1/cm) when generating a spectrum