CPMD

CPMD is an ab initio quantum mechanical molecular dynamics code based on DFT. It was installed on Bellatrix in October 2013.

Versions
Version 3.5.13 with a QM/MM interface has been compiled with Intel compilers and the Mvapich2 MPI.

Other versions can be installed if needed or available. Please contact Daniel Jana, the maintainer of CPMD on Bellatrix, for that.

How to use it
First you have to load the module. You can do it with: $ module load cpmd/3.15.3_intel13_mvapich181

This sets the right environment to use CPMD, including the modules for the compiler and MPI. There are two ways to run CPMD. A wrapper has been created to set some variables. The standard way to run CPMD is with: $ cpmd.bellatrix

Note the absence of the number of CPU (which you'd typically define with "-n #cores"). The script takes care of that for you. In fact, trying to use the -n option will exit the script prematurely. This is done to prevent some basic mistakes that occur often (e.g. you ask for two entire nodes to the scheduler but then tell mpirun to use only 16 cores (1 node) thus keeping an entire node unavailable for nothing). Other variables you may want to give to CPMD still work (e.g. output redirection).

This script can only be ran inside a PBS job.

Alternatively, the traditional way to run CPMD is also available: $ mpirun -n 16 $CPMD

As shown above, the variable $CPMD is set, for ease of use, to the full path of the binary (cpmd.x). The directory of CPMD itself is not in the $PATH. Please either use cpmd.bellatrix (which is preferred) or $CPMD.

Since parallelization is quite efficient you'll probably want to use a line like:
 * 1) PBS -l select=2:ncpus=16:mpiprocs=16:mem=10000mb

on the top of your script. This specific case asks for two sets of 16 CPU and 16 MPI processes with 10000 MB of RAM. The job, thus, asks for a total of 32 cores and ~20 GB of RAM. Any of these numbers can be changed, depending on your needs.

Do I have access to it?
It is available to all members of the cpmd-soft group. You can check if you are a member of the group by using the command "id". You will see something like: $ id uid=33333(myusername) gid=10111(myunit) groups=65115(dit-clusters-users),65359(bellatrix-users),63486(cpmd-soft)

You may have a different set of groups but you need cpmd-soft to be there. Trying to load the module without belonging to the group will result in a warning message.

How to get the right to use it?
If you are not part of the cpmd-soft group contact Daniel Jana. He'll inform you on how to be part of the group.