CPMD: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Marked this version for translation)
No edit summary
Line 10: Line 10:


<!--T:3-->
<!--T:3-->
In the past, access to CPMD requires a registration and a confirmation with the developers. Now, it becomes open source and the registration on their website is no longer needed. However, the modules installed on our clusters still protected by a POSIX group.  
In the past, access to CPMD required registration and confirmation with the developers, but now that it is open source, registration on their website is no longer needed. However, the modules installed on our clusters are still protected by a POSIX group.  


<!--T:47-->
<!--T:47-->
Before you can start using [http://cpmd.org CPMD] on our clusters, you have to contact [[Technical_support | send us a support request]] and ask to be added to a POSIX group that will allow you to access the software.
Before you can start using [http://cpmd.org CPMD] on our clusters, [[Technical_support | send us a support request]] and ask to be added to the POSIX group that will allow you to access the software.


= Module = <!--T:14-->
= Module = <!--T:14-->
Line 28: Line 28:


<!--T:18-->
<!--T:18-->
Recently it has been our experience that a response from CPMD admins can unfortunately take weeks or even months. If you are a registered CPMD user, you have access to the CPMD source files and can therefore build the software yourself in your home directory using our software build environment called EasyBuild, using the exact same recipe that we would use for a central installation.
It has recently been our experience that a response from CPMD admins can unfortunately take weeks or even months. If you are a registered CPMD user, you have access to the CPMD source files and can therefore build the software yourself in your /home directory using our software environment called EasyBuild, with the exact same recipe that we would use for a central installation.


<!--T:4-->
<!--T:4-->
Line 34: Line 34:


<!--T:5-->
<!--T:5-->
Create a local directory, first, like so
Create a local directory like so
  $ mkdir -p ~/.local/easybuild/sources/c/CPMD
  $ mkdir -p ~/.local/easybuild/sources/c/CPMD


<!--T:6-->
<!--T:6-->
Place all the CPMD source tarballs and patches into that directory
Place all the CPMD source tarballs and patches into that directory.
<pre>
<pre>
$ ls -al ~/.local/easybuild/sources/c/CPMD
$ ls -al ~/.local/easybuild/sources/c/CPMD
Line 54: Line 54:


<!--T:7-->
<!--T:7-->
Then run the EasyBuild command
Then run the EasyBuild command.
  $ eb CPMD-4.3-iomkl-2020a.eb --rebuild
  $ eb CPMD-4.3-iomkl-2020a.eb --rebuild


<!--T:8-->
<!--T:8-->
The <code>--rebuild</code> option forces EasyBuild to ignore CPMD 4.3 installed in a central location and proceed instead with the installation in your home directory.
The <code>--rebuild</code> option forces EasyBuild to ignore CPMD 4.3 installed in a central location and proceed instead with the installation in your /home directory.


<!--T:9-->
<!--T:9-->
Line 64: Line 64:


<!--T:10-->
<!--T:10-->
Now, when you type <code>module load cpmd</code>, the software installed in your home directory will get picked up.
Now, when you type <code>module load cpmd</code>, the software installed in your /home directory will get picked up.


<!--T:11-->
<!--T:11-->

Revision as of 19:55, 15 December 2023

Other languages:

CPMD is a plane wave/pseudo-potential DFT code for ab initio molecular dynamics simulations.

License limitations[edit]

In the past, access to CPMD required registration and confirmation with the developers, but now that it is open source, registration on their website is no longer needed. However, the modules installed on our clusters are still protected by a POSIX group.

Before you can start using CPMD on our clusters, send us a support request and ask to be added to the POSIX group that will allow you to access the 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 recently been our experience that a response from CPMD admins can unfortunately take weeks or even months. If you are a registered CPMD user, you have access to the CPMD source files and can therefore build the software yourself in your /home directory using our software 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 the cluster of your choice:

Create a local directory 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 in your /home directory.

Once the software is installed, log out and log back in.

Now, when you type module load cpmd, the software installed in 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 the pseudo-potentials available for download from the 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> (as in the script 1)

It is also possible to put the pseudo-potentials in another directory and run the code as follows:

srun cpmd.x <input files> <path to pseudo potentials location> > <output file> (as in the script 2)

File : 1-h2-wave.inp

&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


File : run-cpmd.sh

#!/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`"


File : run-cpmd.sh

#!/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`"


Related links[edit]