CASTEP¶
CASTEP is software for calculating the properties of materials. It models various properties including energetics, atomic structure, vibrational properties, electronic response etc.
CASTEP is available as a module on Apocrita. Both serial (castep.serial) and MPI versions (castep.mpi) are available.
Usage¶
To run the default version of CASTEP, simply load the castep module:
$ module load castep
$ castep.serial
Usage:
castep <seedname> : Run files <seedname>.cell [and <seedname>.param]
" [-d|--dryrun] <seedname> : Perform a dryrun calculation on files <seedname>.cell
" [-s|--search] <text> : print list of keywords with <text> match in description
" [-v|--version] : print version information
" [-h|--help] <keyword> : describe specific keyword in <>.cell or <>.param
" " all : print list of all keywords
" " basic : print list of basic-level keywords
" " inter : print list of intermediate-level keywords
" " expert : print list of expert-level keywords
" " dummy : print list of dummy keywords
For full usage documentation, run castep.serial -h.
Licensing¶
To use castep you must contact us and provide evidence that you have a licence to use the software.
Example jobs¶
Serial job¶
Here is an example job running on 4 cores and 8GB of memory:
#!/bin/bash
#SBATCH --ntasks=4 # (or -n 4) Request 4 cores
#SBATCH --mem-per-cpu=2G # Request 2GB RAM per core (8GB total)
#SBATCH --time=1:0:0 # (or -t 1:0:0) Request 1 hour runtime
module load castep
castep.serial diamond
Parallel job¶
Here is an example job running on 96 cores across 2 nodes with MPI:
#!/bin/bash
#SBATCH --partition=parallel # (or -p parallel) Request parallel partition
#SBATCH --nodes=2 # (or -N 2) Request 2 nodes
#SBATCH --ntasks=96 # (or -n 96) Request 96 cores
#SBATCH --time=240:0:0 # (or -t 240:0:0) Request 240 hours runtime
#SBATCH --exclusive # Request exclusive compute node usage
#SBATCH --mem=0 # Book all available memory on compute nodes
module load castep
# Slurm knows how many tasks to use for mpirun, detected automatically from
# ${SLURM_NTASKS}. Use -- to ensure arguments are passed to the application
# and not mpirun
mpirun -- \
castep.mpi hex