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

References