Compiling and using GMIN with QUIP

From Docswiki
Revision as of 17:14, 10 May 2019 by Adk44 (talk | contribs) (Created page with "== 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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.