How to Run CPMD
The CPMD code is a parallelized plane wave / pseudopotential implementation of Density Functional Theory, particularly designed for ab-initio molecular dynamics.
Version 3.15.1 of CPMD
has been installed in "/share/apps/cpmd/" on Lewis.
The executables/utilities are installed under "/share/apps/cpmd/bin/".
To check all the executables/scripts including CPMD programs, trajectory conversion tool,
3D-maps generation and conversion tool, power spectrum of autocorrelation function, and
metadynamics free energy reconstruction tool, type
ls /share/apps/cpmd/bin/There are both serial and parallel versions of the CPMD program. The serial version is
"cpmd.x", and the parallel version is "cpmd_MPI.x".
The pseudopotential files required by CPMD are placed in
"/share/apps/cpmd/lib/".
There are seven pseudopotential libraries available in the directory,
as detailed in the following table:
| # | Name | Library |
|---|---|---|
| 1 | PP_LIBRARY | Standard CPMD pseudopotential library |
| 2 | pseudo_extlib | Extended CPMD pseudopotential library (M. Boero) |
| 3 | vdb | Ultrasoft CPMD pseudopotential library (M. Boero and J. Hutter) |
| 4 | Goedecker/pade | LDA Goedecker pseudopotentials |
| 5 | Goedecker/pbe | Perdew-Burke-Ernzerhof Gradient Corrected |
| 6 | Goedecker/bp | Becke-Perdew Gradient Corrected |
| 7 | Goedecker/blyp | Becke-Lee-Yang-Parr Gradient Corrected |
"/share/apps/cpmd/CPMD-test/" directory,
which includes some test examples with input and reference outputs.
Users may copy those files to their own directory and learn how to run the CPMD programs.
1. Set the Environment Variable
Users may include the executables in their PATH by typing the following command so that they don't have to include the path in their commands to run the CPMD program/tools.
export PATH=$PATH:/share/apps/cpmd/binor add the above command to your "~/.bashrc" file.
2. Run the CPMD serial Jobs with cpmd.x
Assuming users have processed/prepared all the necessary input files for CPMD (see"/share/apps/cpmd/CPMD-test/"for examples), the command to submit an MD simulation job on lewis via LSF may look like thisbsub < jobfilewhere "jobfile" is a LSF job script file that may look like this.# Set job parameterswhere
#BSUB -J jobname
#BSUB -oo jobname.o%J
#BSUB -eo jobname.e%J
# Start CPMD job
cpmd.x file.in /share/apps/cpmd/lib/PP_LIBRARY/ > test.out
"jobname"is an arbitrary name users want to set,"cpmd.x"is the serial CPMD program,"file.in"is the input file, and/share/apps/cpmd/lib/PP_LIBRARY/is the path to the pseudopotential files for all atomic species specified in"file.in". Users may also choose other pseudopotential library according to their simulated system. Afer the above job is finished, the results will be saved in"test.out".
3. Run the CPMD MPI Jobs with cpmd_MPI.x
For a paralell MPI job, the job script file might look like thisFor more information about the usage of CPMD, see the CPMD Online Documentation.# Set job parameterswhere
#BSUB -a openmpi
#BSUB -J jobname
#BSUB -oo jobname.o%J
#BSUB -eo jobname.e%J
# Set number of CPUs
#BSUB -n 8
# Start CPMD job
mpirun.lsf cpmd_MPI.x file.in /share/apps/cpmd/lib/PP_LIBRARY/ > test_MPI.out
"#BSUB -a openmpi"is required for an MPI job and should not be changed by users. Here, 8 cpus are used for the job, and users may set more or fewer cpus in their jobs according to the size of simulated systems.
For general information about how to submit jobs via LSF, please go to Submitting Jobs via LSF on Lewis.