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). Type airss.pl -h for a list of input arguments.

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).

ca

A convenient bash wrapper for the cryan tool. Uses the same command line options as cryan.

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

The following performs a Niggli reduction on a .cell file.

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

See also: cif2res in the External Utilities page.

conv

Converts all the SHELX .res files in the current directory to conventional cells. See also: niggli and prim.

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 100,000 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.

crud.pl

The Castep run daemon. A Perl script for high-throughput batch calculations. The .res files for the structures to be relaxed are placed in the ‘hopper’ subdirectory (/hopper). The seed.param files are placed in the same directory that crud.pl is run from. 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).

despawn

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

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.

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.

niggli

Performs a Niggli transformation on all the SHELX .res files in the current directory. See also: conv and prim.

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.

prim

Converts all the SHELX .res files in the current directory to primitive cells. See also: conv and niggli.

run.pl

This Perl script runs a batch of Castep jobs in a directory. It is useful for “polishing” your results (i.e. re-running low energy structures at a higher calculation accuracy for publication), and high-throughput computation in general. Failed runs are placed into /bad_castep.

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, but uses delays to more slowly requests remote jobs. This is recommended when launching the run.pl and crud.pl scripts, which can potentially try to “grab” the same file if started all at once.

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. For example, to find the symmetry of test.res you would type:

$ symm test

tidy.pl

Perl script that removes the output of uncompleted calculations within the current directory.