CPMD: Difference between revisions
Line 82: | Line 82: | ||
<code>srun cpmd.x <input files> <path to pseudo potentials location> > <output file></code> | <code>srun cpmd.x <input files> <path to pseudo potentials location> > <output file></code> | ||
<tabs> | |||
<tab name="INPUT"> | |||
{{File | |||
|name=1-h2-wave.inp | |||
|lang="txt" | |||
|contents= | |||
&INFO | |||
isolated hydrogen molecule. | |||
single point calculation. | |||
&END | |||
&CPMD | |||
OPTIMIZE WAVEFUNCTION | |||
CONVERGENCE ORBITALS | |||
1.0d-7 | |||
CENTER MOLECULE ON | |||
PRINT FORCES ON | |||
&END | |||
&SYSTEM | |||
SYMMETRY | |||
1 | |||
ANGSTROM | |||
CELL | |||
8.00 1.0 1.0 0.0 0.0 0.0 | |||
CUTOFF | |||
70.0 | |||
&END | |||
&DFT | |||
FUNCTIONAL LDA | |||
&END | |||
&ATOMS | |||
*H_MT_LDA.psp | |||
LMAX=S | |||
2 | |||
4.371 4.000 4.000 | |||
3.629 4.000 4.000 | |||
&END | |||
}} | |||
</tab> | |||
<tab name="Script 1"> | |||
{{File | |||
|name=run-cpmd.sh | |||
|lang="bash" | |||
|contents= | |||
#!/bin/bash | |||
#SBATCH --account=def-someacct | |||
#SBATCH --nodes=1 | |||
#SBATCH --ntasks-per-node=4 | |||
#SBATCH --mem-per-cpu=2500M | |||
#SBATCH --time=0-1:00 | |||
# Load the modules: | |||
module load intel/2020.1.217 openmpi/4.0.3 cpmd/4.3 | |||
echo "Starting run at: `date`" | |||
CPMD_INPUT="1-h2-wave.inp" | |||
CPMD_OUTPUT="1-h2-wave_output.txt" | |||
srun cpmd.x ${CPMD_INPUT} > ${CPMD_OUTPUT} | |||
echo "Program finished with exit code $? at: `date`" | |||
}} | |||
</tab> | |||
<tab name="Script 2"> | |||
{{File | |||
|name=run-cpmd.sh | |||
|lang="bash" | |||
|contents= | |||
#!/bin/bash | |||
#SBATCH --account=def-someacct | |||
#SBATCH --nodes=1 | |||
#SBATCH --ntasks-per-node=4 | |||
#SBATCH --mem-per-cpu=2500M | |||
#SBATCH --time=0-1:00 | |||
# Load the modules: | |||
module load intel/2020.1.217 openmpi/4.0.3 cpmd/4.3 | |||
echo "Starting run at: `date`" | |||
CPMD_INPUT="1-h2-wave.inp" | |||
CPMD_OUTPUT="1-h2-wave_output.txt" | |||
PP_PATH=<path to the location of pseudo-potentials> | |||
srun cpmd.x ${CPMD_INPUT} ${PP_PATH} > ${CPMD_OUTPUT} | |||
echo "Program finished with exit code $? at: `date`" | |||
}} | |||
</tab> | |||
</tabs> | |||
</translate> | </translate> |
Revision as of 20:04, 31 March 2021
CPMD is a plane wave/pseudopotential DFT code for ab initio molecular dynamics simulations.
License limitations[edit]
Before you can start using CPMD, you have to register and accept the CPMD license terms and then send us a support request stating that you have in fact registered and accepted CPMD license terms. Afterwards, we will get in touch with the CPMD admins to confirm your registration, and then will grant you access to the CPMD software.
Module[edit]
You can access CPMD by loading a module.
module load intel/2020.1.217 openmpi/4.0.3 cpmd/4.3
Local installation of CPMD[edit]
It has been our experience, however, lately that a response from CPMD admins can take weeks or even months. If you are a registered CPMD user, you will have access to the CPMD source files, and therefore can build the software yourself in your home directory using our software build environment called EasyBuild with the exact same recipe that we would use for a central installation.
Below are instructions on how to build CPMD 4.3 under your account on a cluster of your choice:
Create a local directory, first, like so
$ mkdir -p ~/.local/easybuild/sources/c/CPMD
Place all the CPMD source tarballs and patches into that directory
$ ls -al ~/.local/easybuild/sources/c/CPMD cpmd2cube.tar.gz cpmd2xyz-scripts.tar.gz cpmd-v4.3.tar.gz fourier.tar.gz patch.to.4612 patch.to.4615 patch.to.4616 patch.to.4621 patch.to.4624 patch.to.4627
Then run the EasyBuild command
$ eb CPMD-4.3-iomkl-2020a.eb --rebuild
The --rebuild
option forces EasyBuild to ignore CPMD 4.3 installed in a central location and proceed instead with the installation into your home directory.
Once the software is installed, log out and log back in.
Now, when you type module load cpmd
, the software installed into your home directory will get picked up.
$ module load cpmd
$ which cpmd.x
~/.local/easybuild/software/2020/avx2/MPI/intel2020/openmpi4/cpmd/4.3/bin/cpmd.x
You can use it now as usual in your submission script.
Example of job script[edit]
To run a job, you will need to set an input file and access to pseudo-potential that are available for download from CPMD website after authentication {only for registered users}.
If the input file and the pseudo-potentials are in the same directory, the command to run the program in parallel is:
srun cpmd.x <input files> > <output file>
It is also possible to put the pseudo potential on another directory and run the code as follow:
srun cpmd.x <input files> <path to pseudo potentials location> > <output file>
&INFO
isolated hydrogen molecule.
single point calculation.
&END
&CPMD
OPTIMIZE WAVEFUNCTION
CONVERGENCE ORBITALS
1.0d-7
CENTER MOLECULE ON
PRINT FORCES ON
&END
&SYSTEM
SYMMETRY
1
ANGSTROM
CELL
8.00 1.0 1.0 0.0 0.0 0.0
CUTOFF
70.0
&END
&DFT
FUNCTIONAL LDA
&END
&ATOMS
*H_MT_LDA.psp
LMAX=S
2
4.371 4.000 4.000
3.629 4.000 4.000
&END
#!/bin/bash
#SBATCH --account=def-someacct
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem-per-cpu=2500M
#SBATCH --time=0-1:00
# Load the modules:
module load intel/2020.1.217 openmpi/4.0.3 cpmd/4.3
echo "Starting run at: `date`"
CPMD_INPUT="1-h2-wave.inp"
CPMD_OUTPUT="1-h2-wave_output.txt"
srun cpmd.x ${CPMD_INPUT} > ${CPMD_OUTPUT}
echo "Program finished with exit code $? at: `date`"
#!/bin/bash
#SBATCH --account=def-someacct
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem-per-cpu=2500M
#SBATCH --time=0-1:00
# Load the modules:
module load intel/2020.1.217 openmpi/4.0.3 cpmd/4.3
echo "Starting run at: `date`"
CPMD_INPUT="1-h2-wave.inp"
CPMD_OUTPUT="1-h2-wave_output.txt"
PP_PATH=<path to the location of pseudo-potentials>
srun cpmd.x ${CPMD_INPUT} ${PP_PATH} > ${CPMD_OUTPUT}
echo "Program finished with exit code $? at: `date`"