# gmx-energy - Man Page

Writes energies to xvg files and display averages

## Synopsis

gmx energy [-f[<.edr>]] [-f2[<.edr>]] [-s[<.tpr>]] [-o[<.xvg>]] [-viol[<.xvg>]] [-pairs[<.xvg>]] [-corr[<.xvg>]] [-vis[<.xvg>]] [-evisco[<.xvg>]] [-eviscoi[<.xvg>]] [-ravg[<.xvg>]] [-odh[<.xvg>]] [-b<time>] [-e<time>] [-[no]w] [-xvg<enum>] [-[no]fee] [-fetemp<real>] [-zero<real>] [-[no]sum] [-[no]dp] [-nbmin<int>] [-nbmax<int>] [-[no]mutot] [-[no]aver] [-nmol<int>] [-[no]fluct_props] [-[no]driftcorr] [-[no]fluc] [-[no]orinst] [-[no]ovec] [-einstein_restarts<int>] [-acflen<int>] [-[no]normalize] [-P<enum>] [-fitfn<enum>] [-beginfit<real>] [-endfit<real>]

## Description

**gmx energy** extracts energy components from an energy file. The user is prompted to interactively select the desired energy terms.

Average, RMSD, and drift are calculated with full precision from the simulation (see printed manual). Drift is calculated by performing a least-squares fit of the data to a straight line. The reported total drift is the difference of the fit at the first and last point. An error estimate of the average is given based on a block averages over 5 blocks using the full-precision averages. The error estimate can be performed over multiple block lengths with the options **-nbmin** and **-nbmax**. **Note** that in most cases the energy files contains averages over all MD steps, or over many more points than the number of frames in energy file. This makes the **gmx energy** statistics output more accurate than the *.xvg* output. When exact averages are not present in the energy file, the statistics mentioned above are simply over the single, per-frame energy values.

The term fluctuation gives the RMSD around the least-squares fit.

Some fluctuation-dependent properties can be calculated provided the correct energy terms are selected, and that the command line option **-fluct_props** is given. The following properties will be computed:

Property | Energy terms needed |

Heat capacity C_p (NPT sims): | Enthalpy, Temp |

Heat capacity C_v (NVT sims): | Etot, Temp |

Thermal expansion coeff. (NPT): | Enthalpy, Vol, Temp |

Isothermal compressibility: | Vol, Temp |

Adiabatic bulk modulus: | Vol, Temp |

You always need to set the number of molecules **-nmol**. The C_p/C_v computations do **not** include any corrections for quantum effects. Use the *gmx dos* program if you need that (and you do).

Option **-odh** extracts and plots the free energy data (Hamiltoian differences and/or the Hamiltonian derivative dhdl) from the **ener.edr** file.

With **-fee** an estimate is calculated for the free-energy difference with an ideal gas state:

Delta A = A(N,V,T) - A_idealgas(N,V,T) = kT ln(<exp(U_pot/kT)>) Delta G = G(N,p,T) - G_idealgas(N,p,T) = kT ln(<exp(U_pot/kT)>)

where k is Boltzmann's constant, T is set by **-fetemp** and the average is over the ensemble (or time in a trajectory). Note that this is in principle only correct when averaging over the whole (Boltzmann) ensemble and using the potential energy. This also allows for an entropy estimate using:

Delta S(N,V,T) = S(N,V,T) - S_idealgas(N,V,T) = (<U_pot> - Delta A)/T Delta S(N,p,T) = S(N,p,T) - S_idealgas(N,p,T) = (<U_pot> + pV - Delta G)/T

When a second energy file is specified (**-f2**), a free energy difference is calculated:

dF = -kT ln(<exp(-(E_B-E_A) / kT)>_A),

where E_A and E_B are the energies from the first and second energy files, and the average is over the ensemble A. The running average of the free energy difference is printed to a file specified by **-ravg**. **Note** that the energies must both be calculated from the same trajectory.

For liquids, viscosities can be calculated by integrating the auto-correlation function of, or by using the Einstein formula for, the off-diagonal pressure elements. The option **-vis** turns calculation of the shear and bulk viscosity through integration of the auto-correlation function. For accurate results, this requires extremely frequent computation and output of the pressure tensor. The Einstein formula does not require frequent output and is therefore more convenient. Note that frequent pressure calculation (nstcalcenergy mdp parameter) is still needed. Option **-evicso** gives this shear viscosity estimate and option **-eviscoi** the integral. Using one of these two options also triggers the other. The viscosity is computed from integrals averaged over **-einstein_restarts** starting points uniformly distributed over the first quarter of the trajectory.

## Options

Options to specify input files:

**-f [<.edr>] (ener.edr)**Energy file

**-f2 [<.edr>] (ener.edr) (Optional)**Energy file

**-s [<.tpr>] (topol.tpr) (Optional)**Portable xdr run input file

Options to specify output files:

**-o [<.xvg>] (energy.xvg)**xvgr/xmgr file

**-viol [<.xvg>] (violaver.xvg) (Optional)**xvgr/xmgr file

**-pairs [<.xvg>] (pairs.xvg) (Optional)**xvgr/xmgr file

**-corr [<.xvg>] (enecorr.xvg) (Optional)**xvgr/xmgr file

**-vis [<.xvg>] (visco.xvg) (Optional)**xvgr/xmgr file

**-evisco [<.xvg>] (evisco.xvg) (Optional)**xvgr/xmgr file

**-eviscoi [<.xvg>] (eviscoi.xvg) (Optional)**xvgr/xmgr file

**-ravg [<.xvg>] (runavgdf.xvg) (Optional)**xvgr/xmgr file

**-odh [<.xvg>] (dhdl.xvg) (Optional)**xvgr/xmgr file

Other options:

**-b <time> (0)**Time of first frame to read from trajectory (default unit ps)

**-e <time> (0)**Time of last frame to read from trajectory (default unit ps)

- -[no]w
**(no)** View output

*.xvg*,*.xpm*,*.eps*and*.pdb*files**-xvg <enum> (xmgrace)**xvg plot formatting: xmgrace, xmgr, none

- -[no]fee
**(no)** Do a free energy estimate

**-fetemp <real> (300)**Reference temperature for free energy calculation

**-zero <real> (0)**Subtract a zero-point energy

- -[no]sum
**(no)** Sum the energy terms selected rather than display them all

- -[no]dp
**(no)** Print energies in high precision

**-nbmin <int> (5)**Minimum number of blocks for error estimate

**-nbmax <int> (5)**Maximum number of blocks for error estimate

- -[no]mutot
**(no)** Compute the total dipole moment from the components

- -[no]aver
**(no)** Also print the exact average and rmsd stored in the energy frames (only when 1 term is requested)

**-nmol <int> (1)**Number of molecules in your sample: the energies are divided by this number

- -[no]fluct_props
**(no)** Compute properties based on energy fluctuations, like heat capacity

- -[no]driftcorr
**(no)** Useful only for calculations of fluctuation properties. The drift in the observables will be subtracted before computing the fluctuation properties.

- -[no]fluc
**(no)** Calculate autocorrelation of energy fluctuations rather than energy itself

- -[no]orinst
**(no)** Analyse instantaneous orientation data

- -[no]ovec
**(no)** Also plot the eigenvectors with

**-oten****-einstein_restarts <int> (100)**Number of restarts for computing the viscosity using the Einstein relation

**-acflen <int> (-1)**Length of the ACF, default is half the number of frames

- -[no]normalize
**(yes)** Normalize ACF

**-P <enum> (0)**Order of Legendre polynomial for ACF (0 indicates none): 0, 1, 2, 3

**-fitfn <enum> (none)**Fit function: none, exp, aexp, exp_exp, exp5, exp7, exp9

**-beginfit <real> (0)**Time where to begin the exponential fit of the correlation function

**-endfit <real> (-1)**Time where to end the exponential fit of the correlation function, -1 is until the end

## See Also

More information about GROMACS is available at <http://www.gromacs.org/>.

## Copyright

2024, GROMACS development team