Compiling and using GMIN with QUIP
Checking out the QUIP code
The necessary compilers and libraries for the QUIP interface are currently only available on Dexter, Sinister and Volkhan. Access to the QUIP source code repository is controlled by RSA public key encryption You will need to email Dr James Kermode (james DOT kermode AT kcl DOT ac DOT uk) with your ssh RSA public key and request access. Your RSA public key can either be found in the file ~/.ssh/id_rsa.pub or it can be created using the command
ssh-keygen –t rsa
After typing this command you should be prompted to enter a file name in which to save the key and also to create a passphrase. Once you have access to the repository, the code can be checked out using the following command. The folder ~/svn is assumed to be the directory containing the Wales group code.
svn checkout svn+ssh://yourusername@cvs.tcm.phy.cam.ac.uk/home/jrk33/repo/trunk/QUIP ~/svn/QUIP
The QUIP code should now be in a folder named QUIP at the same level as GMIN and OPTIM etc.
Setting up your environment
The following line should be appended to your ~/.bashrc file to prevent the OpenBLAS library from auto-parallelising. This can be removed or the number of threads changed if you wish to make use of this feature.
export OPENBLAS_NUM_THREADS=1
The following line is also helpful to have in your ~/.bashrc file to prevent segmentation faults resulting from a stack size which is too small when using GAP potentials.
ulimit -s unlimited
Apply your changes using the following command.
source ~/.bashrc
Compiling GMIN with QUIP
To load the appropriate compiler and library modules, type
module rm ifort icc module load ifort/64/11.1/069 icc/64/11.1/069 lapack/ifort-11.1/3.4.2 openblas/ifort-11.1/r0.2.5
Change directory to ~/svn/GMIN/source and uncomment the Makefile lines associated with the Intel compilers, also making sure to comment out lines associated with other compilers. To compile, type
make quipgmin
The compilation of QUIP will prompt you for information. In response to ‘Please enter the linking options for LAPACK and BLAS libraries:’, you should type
-static -llapack –lopenblas
If you are planning on using GAP potentials, you should type ‘y’ in response to ‘Do you want to compile with GAP prediction support ? [y/n]’ and ‘Do you want to compile with GAP training support ? [y/n]’. Check for an executable called QUIPGMIN in ~/svn/GMIN/bin.
N.B. QUIP-enabled GMIN is rather specialized and as such, has not been included in the migration to CMake for building executables.
Using QUIPGMIN
To use a potential from QUIP in GMIN, you will need an xml file in your working directory containing parameters for the potential. This should be renamed to ‘quip_params.xml’ so that it can be recognised by GMIN. Some can be found in ~/svn/QUIP/QUIP_Core/parameters and many contain adjustable parameters. Files for GAP potentials can be obtained from members of the Csanyi group in the Department of Engineering. Also, a line should be added to the GMIN data file similar to the following.
QUIP ‘Si ‘ 2.4D0 ‘IP SW’
‘QUIP’ specifies that a potential from the QUIP library should be used and if no further parameters are specified then the Lennard-Jones potential is used by default. ‘Si ‘ is the atom type to be used and recognised atom types and their associated properties can be found in ~/svn/QUIP/libAtoms/PeriodicTable.f95. 2.4D0 is the equilibrium distance of a pair of atoms for the particular potential being used and is used to construct the size of the sphere in the GMIN subroutine RAD. ‘IP SW’ specifies the potential to be used, in this case the Stillinger-Weber potential. The label to be used can often be found on the second line of the xml file.