GROMACS

Gromacs (http://www.gromacs.org) is available at the CAC in a parallel solver. At this time no visualization is available on Nyx or Flux. Gromacs is available in a single precision (recommended) and double precision for those who need it. All commands for a double precision run will be suffixed with _d. For example mdrun will become mdrun_d, grompp will become grompp_d, etc.

To use Gromacs, you need to first load the module.

module load gromacs

Here is a sample PBS file that will run Gromacs with 10 processors.

####  PBS preamble
#PBS -N gromacs_example
#PBS -M uniqname@umich.edu
#PBS -m abe

#PBS -l nodes=5:ppn=2,mem=1gb,walltime=100:00:00
#PBS -j oe
#PBS -V

#PBS -A example_flux
#PBS -l qos=flux
#PBS -q flux

####  End PBS preamble
	
#  Include the next three lines always
if [ "x${PBS_NODEFILE}" != "x" ] ; then
   cat $PBS_NODEFILE   # contains a list of the CPUs you were using if run with PBS
fi	
#  Put your job commands after this line

# cd to your input directory first, assumed to be under your home dir
cd ${HOME}/gromacs/inputs
	
# run gromacs (mdrun or mdrun_d)
mpirun -np cpuS mdrun

Gromacs requires that inputs be prepped before ran. You can ether add these commands before your mpirun or you can run them (they take very little time) before you submit your job. The most important command is grompp.

grompp preps your input for a parallel run. For the best performance run grommp like so:

grompp 

This will organize all the a large system for a parallel run.

trjconv -f traj.trr -o btraj.trr

Note, do not use parallel gromacs if simulating a single protein! This will run slower than a serial run (mpirun -np 1 mdrun). Speed-ups do exist for large single proteins on a single node with multiple CPUs but not for more than one node and multiple CPUs. In this case, request resources with something like

#PBS -l nodes=1:ppn=2,mem=1gb

and run on only 2 CPUs. Any more and your simulation will slow down, wasting your time and wasting resources. For more information look at the grommp man page. (man grompp)

For systems with any molecules or membrane systems Gromacs scales very well.

The following is a list of all Gromacs commands. Most are available in the _d version also. Some may not work; if you have questions email us at: hpc-support@umich.edu

anadock
average
completion.bash
completion.csh
completion.zsh
editconf
eneconv
ffscan
g_anaeig
g_analyze
g_angle
g_bond
g_bundle
g_chi
g_cluster
g_clustsize
g_confrms
g_covar
genbox
genconf
g_enemat
g_energy
genion
genpr
g_filter
g_gyrate
g_h2order
g_hbond
g_helix
g_lie
g_mdmat
g_mindist
g_morph
g_msd
gmxcheck
gmxdump
GMXRC
GMXRC.bash
GMXRC.csh
GMXRC.zsh
g_nmeig
g_nmens
g_nmtraj
g_order
g_potential
g_rama
g_rdf
g_rms
g_rmsdist
g_rmsf
grompp
g_rotacf
g_saltbr
g_sas
g_sgangle
g_sham
g_sorient
g_tcaf
g_traj
g_velacc
g_wham
luck
make_edi
make_ndx
mdrun
mk_angndx
pdb2gmx
protonate
tpbconv
trjcat
trjconv
trjorder
wheel
x2top
xpm2ps