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.