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.