Skip to content
Curtin University

Frequently Asked Questions about GULP

The following are some common questions that are asked relating to GULP and the corresponding answers.

How do I get help after having read the manual and documentation?
GULP comes "as is" without support, which is why it is free to academics. If you need support then a license can be purchased from Biovia. Questions can be sent to gulpcode at and we will try to respond as much as possible.
Why won't GULP compile?
Check that you have a Fortran compiler installed and that it is visible in your path. By default GULP uses gfortran which is freely available on most platforms. If you have specified flags to the mkgulp script (version 5.0 onwards) then some of the libraries needed may not be installed on your machine or in the location expected. Library paths can be changed by editing mkgulp in the lines wrapped by the USER tag.
How do I run GULP in parallel?
You need to compile GULP using "./mkgulp -m" and make sure that Scalapack, Blacs, and pblas are installed. You may need to edit the library details in mkgulp depending on where and how you installed these libraries. On Macs, it is recommended to use Macports to install Scalapack and then this should provide all the other libraries required. You also need to have MPI installed such that the command "mpif90" is in your path. After this, you should have a parallel executable. You can then execute using "mpirun -np N gulp" where "N" is the number of processors you want to use.
Why won't GULP run?
Check that the executable is visible in your path by typing "which gulp". If the executable is in your current directory then you can type "./gulp" to make sure that it is visible. If the executable can be seen, make sure you have execute permission by typing "chmod u+rx gulp".
Why does my job stop with an error saying that the unit cell is not charge neutral?
There are several possible reasons. Firstly, you may not have set the charges such that they sum to zero over the whole unit cell. Secondly, if you are using symmetry, an atomic coordinate may not quite be on a special position and so you have the wrong number of atoms. Occasionally values from databases slightly deviate from the required relationships between coordinates. Another common problem is that reoccuring decimals, such as one third, are not precise enough. Such values should be specified to seven decimal places or, even better, input as a fraction (e.g. 1/3).
Why am I getting very strange results when the input is being read in by the program?
Assuming you are confident that you have put a physically sensible atomic structure and interactions in your input, there are two common hiccups that can lead to bizarre results. Firstly, there may be a tab character between data values instead of a space (or some other hidden character). Secondly, a classic problem is that the letter "o" and the digit "0" have been mixed up.
Why does my molecular dynamics not conserve energy/temperature/pressure?
There are many things that can go wrong in MD. The following are a few common mistakes:
  1. Timestep is too long.
  2. Energy surface is discontinuous (i.e. cutoffs are poor in potential).
  3. Supercell is too small leading to large fluctuations.
  4. Thermostat/barostat parameters are inappropriate.
  5. System wasn't equilibrated for long enough before production was started.