Skip to content

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 -n 4               # (or --ntasks=4) Request 4 cores
#SBATCH --mem-per-cpu=2G   # Request 2GB RAM per core (8G total)
#SBATCH -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 -N 2             # (or --nodes=2) Request 2 nodes
#SBATCH -n 96            # (or --ntasks=96) Request 96 cores
#SBATCH -t 240:0:0       # Request 240 hours runtime
#SBATCH -p parallel      # (or --partition=parallel) Request parallel partition
#SBATCH --exclusive
#SBATCH --mem=0

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

References