AIRSS Utilities

This page provides details of the various core utilities of the AIRSS package.

airss.pl

This Perl script performs ab initio random structure searching. See AIRSS Examples for instruction in its use. Random structures are repeatedly generated by buildcell, and relaxed with the chosen code (the default is Castep).

buildcell

This fortan code reads annotated Castep .cell files, and generates random “sensible” structures from them. The type of randomness introduced can be controlled through hash-tagged directives (which are treated as comments and ignored by Castep).

cabal

A structure conversion tool. Usage:

$ cabal in out < seed.in > seed.out

in==out : Niggli reduce
supports castep+,cell,shx,res,gulp*,cif*,psi4*,xtl,xyz(e)
*output only +input only

The following converts a castep cell file to a SHELX .res (results) file.

$ cabal cell res < input.cell > output.res

ca

A bash wrapper for cryan (see below). Uses the same command line options as cryan.

cryan

A general purpose fortran program to analyse large amounts of structure data. The structures are read from STDIN, for example:

$ cat *.res | cryan -s
$ gunzip -c lots.res.gz | cryan -f H2O -r
$ find . -name "*.res" | xargs cat | cryan -m
$ cat H2O-P21c.res | cryan -g

Experience suggests that cryan is suitable for the analysis of up to about 100K structures. Other techniques are required for larger data sets.

castep_relax

This bash script performs a self consistent geometry optimisation of the specified structure using Castep.

gulp_relax

This bash script performs a geometry optimisation of the specified structure using gulp.

lammps_relax

This bash script performs a geometry optimisation of the specified structure using lammps.

Note: This package is not currently recommended due to issues with structural optimisation.

pp3_relax

This bash script performs a geometry optimisation of the specified structure using pp3, a very simple pair potential code.

psi4_relax

This bash script performs a geometry optimisation of the specified structure using psi4.

Note: This package is not currently recommended due to issues with structural optimisation.

vasp_relax

This bash script performs a self consistent geometry optimisation of the specified structure using VASP.

gencell

This bash script will generate a set of recommended Castep .cell and .param files from a supplied unit cell volume, and atoms contained in the cell. It is strongly recommended that this is used as a starting point for most projects.

pp3

A simple pair potential code, for testing. It is used in the early chapters of the examples.

run.pl

This Perl script runs a batch of castep jobs in a directory. It is useful for “polishing” your results, and high-throughput computation in general. Failed runs are placed into ‘bad_castep’.

crud.pl

The Castep run daemon. A Perl script for high-throughput batch calculations. The structures to be relaxed are placed in the ‘hopper’ directory (/hopper). Successful calculations are placed in /good_castep, and those that fail are placed into bad_castep. The script can be run as a daemon (i.e. continues running once the hopper is empty, and waits for more).

spawn

This script can be used to submit multiple jobs to the selection of machines listed in the ~/.spawn file. For example:

node1 slots=8 root=
node2 slots=8 root=
node3 slots=12 root=

Typing spawn airss.pl -seed Carbon on your root node (on which it is not advisable to run large jobs) will start a total of 28 instances of airss.pl using the Carbon.* input files, on your 3 remote nodes. Spawn uses ssh to run the commands remotely. Password-free access to the resources in your .spawn file is convenient.

The alternative to spawn or mpirun is to use the queueing system of a multiuser computer cluster to submit multiple jobs. This should be discussed with your system administrators.

spawn-slow

Similar to the spawn script, this more slowly requests remote jobs. This is recommended when launching the run.pl and crud.pl scripts.

despawn

The spawn scripts records the PIDs of the remotely spawned jobs. This script can be used to halt calculations in a controlled manner.

stopairss

A script to kill spawned jobs. It will kill all jobs owned by you on the remote nodes—so use with care. Use despawn in preference.

symm

Finds the space group of the structure.

tidy.pl

Removes the output of uncompleted calculations.

niggli

Performs a Niggli transformation on all the SHELX .res files in the current directory.

prim

Converts all the SHELX .res files in the current directory to primitive cells.

conv

Converts all the SHELX .res files in the current directory to conventional cells.