GULP is a program for performing a variety of types of simulation on materials using boundary conditions of 0-D (molecules and clusters), 1-D (polymers), 2-D (surfaces, slabs and grain boundaries), or 3-D (periodic solids). The focus of the code is on analytical solutions, through the use of lattice dynamics, where possible, rather than on molecular dynamics. A variety of force fields can be used within GULP spanning the shell model for ionic materials, molecular mechanics for organic systems, the embedded atom model for metals and the reactive REBO potential for hydrocarbons. Analytic derivatives are included up to at least second order for most force fields, and to third order for many.

User instructions

GULP is installed on the NFS server and is available on the module system. Add to your PATH using:

$ module load gulp/4.5

GULP relies upon 2 environment variables being set, so it is important to use it via the module system (which takes care of setting the variables) rather than just using the full path to the executable.

Documentation is available on the GULP website and in $GULP_DOC.


GULP is a commercial package marketed by Accelrys but is free to academics provided that:

  1. The program is not to be distributed to anyone else without the express permission of the author.
  2. The program is not to be used for commercial research. For any commercial use of the program a license must be obtained from Accelrys Inc, including contract research.
  3. The program is supplied on an “as is” basis with no implied guarantee or support.

Admin notes

I extracted the archive to /common/debian/9.1/MPI/intel/2017.4/openmpi/2.1/gulp/gulp-4.5/src. I changed the settings in src/Src/getmachine as follows (all other settings are commented out):

Linux)   dir="${os}${debug}"
     if [ "$debug" = "" ]
# Intel compiler
         echo 'OPT=-O3 -mp1 ' > makefile
         echo 'OPT1=-O1' >> makefile
         echo 'OPT2=-O3 -mp1 ' >> makefile
         echo 'OPT=' > makefile
# Intel compiler
     echo 'RUNF90=ifort ' >> makefile
     echo 'RUNCC=icc ' >> makefile
# Intel compiler
     echo 'FFLAGS=-I.. ' >> makefile
     echo 'LIBS=-mkl -lpthread' >> makefile
# Intel compiler
     echo 'LDFLAGS=' >> makefile
     echo 'BLAS=' >> makefile
     echo 'LAPACK=' >> makefile
     echo 'GULPENV=' >> makefile
     echo 'CDABS=cdabs.o' >> makefile
     echo 'DEFS=' >> makefile

and then ran make from src/Src. I created the symlink to src/Src/gulp from bin/gulp by hand. 2 environment variables need to be set, GULP_LIB and GULP_DOC, in the module file to src/Libraries and src/Docs respectively.