From the GULP homepage: 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.


  • 4.0

Authorized Users

  • CIRCE account holders
  • SC account holders


  • CIRCE cluster
  • SC cluster


GULP requires the following module file to run:

  • apps/gulp/4.0

Running GULP on CIRCE/SC

The GULP user guide is essential to understanding the application and making the most of it. The guide and this page should help you to get started with your simulations. Please refer to the Documentation section for a link to the guide.

  • Note on CIRCE: Make sure to run your jobs from your $WORK directory!
  • Note: Scripts are provided as examples only. Your SLURM executables, tools, and options may vary from the example below. For help on submitting jobs to the queue, see our SLURM User’s Guide.

If, for example, you have a GULP input file named test.gin with all your functions defined in it, you would set up a submit script like this:

  • The script below (for testing, name it “”) can be copied into your job directory (the folder with your input files) and modified so that you can submit batch processes to the queue.
#SBATCH --comment=gulp-test
#SBATCH --ntasks=16
#SBATCH --job-name=gulp-test
#SBATCH --output=output.%j.gulp-test
#SBATCH --time=01:00:00

#### SLURM 16 processor Gulp test to run for 1 hour.

module purge
module load apps/gulp/4.0

mpirun gulp < test.gin

Next, you can change to your job’s directory, and run the sbatch command to submit the job:

[user@login0 ~]$ cd my/jobdir
[user@login0 jobdir]$ sbatch ./
  • You can view the status of your job with the “squeue -u <username>” command


Home Page, User Guides, and Manuals

Benchmarks, Known Tests, Examples, Tutorials, and Other Resources

  • GULP Examples
    • /apps/gulp/4.0/examples
  • GULP Libraries
    • /apps/gulp/4.0/libraries

More Job Information

See the following for more detailed job submission information:

Reporting Bugs

Report bugs with GULP to the IT Help Desk: