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 curtin.edu.au 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. If in doubt, type "which f90" or "which ifort" according to your platform and compiler. If you have a Linux machine then there are several possible compilers and so you may have to edit the file getmachine under the Linux or Darwin section, for PC Linux and Mac respectively, and set the options appropriately for your machine. If you wish to check which section of getmachine will be used, type "uname"
- How do I run GULP in parallel?
- You need to edit the file getmachine under the section that relates to the machine type you are working on (probably Linux). If your installation of MPI has the wrapper "mpif90" defined then change the compiler to this. You then need to add "-DMPI" to the DEFS variable. After this, recompile by doing "touch *.F90" and then "make". You may also need to add "-lmpi" to LIBS in getmachine, though this should be automatic if using mpif90 as the compiler wrapper. Having done this you will 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 is the on-line help information not found?
- You need to edit the file local.F before you compile to set the pointer as to where the help.txt file is located. Information on commands is also available on the web now too.
- 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:
- Timestep is too long.
- Energy surface is discontinuous (i.e. cutoffs are poor in potential).
- Supercell is too small leading to large fluctuations.
- Thermostat/barostat parameters are inappropriate.
- System wasn't equilibrated for long enough before production was started.