CPMD
This site replaces the former Compute Canada documentation site, and is now being managed by the Digital Research Alliance of Canada. Ce site remplace l'ancien site de documentation de Calcul Canada et est maintenant géré par l'Alliance de recherche numérique du Canada. |
CPMD est un programme de simulation ab initio en dynamique moléculaire basé sur la théorie de la fonctionnelle de la densité (DFT) pour les ondes planes/pseudo-potentiels.
Limites de la licence
Pour utiliser CPMD, vous devez d'abord vous enregistrer et accepter les clauses de la licence. Écrivez ensuite au soutien technique; nous confirmerons votre enregistrement auprès des administrateurs de CPMD avant de vous accorder l'accès à l'application.
Module
Pour charger le module, lancez
module load intel/2020.1.217 openmpi/4.0.3 cpmd/4.3
Installer CPMD localement
La réponse des administrateurs de CPMD peut prendre quelques semaines et même quelques mois. Comme utilisateur enregistré, vous avez accès aux fichiers source de CPMD; vous pouvez donc construire l'application dans votre répertoire /home
avec notre environnement EasyBuild en utilisant la même recette que nous utilisons pour une installation centrale.
Pour CPMD 4.3 dans votre compte sur une de nos grappes, suivez les directives suivantes :
Créez un répertoire local.
$ mkdir -p ~/.local/easybuild/sources/c/CPMD
Placez les tarballs et les rustines (patches) dans ce répertoire.
$ 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
Lancez ensuite la commande EasyBuild.
$ eb CPMD-4.3-iomkl-2020a.eb --rebuild
L'option --rebuild
fait en sorte que EasyBuild utilise l'installation située dans votre répertoire /home
plutôt que celle de l'endroit central.
Une fois l'application installée, déconnectez-vous de la grappe et reconnectez-vous à nouveau
La commande module load cpmd
trouvera l'application dans votre répertoire /home
.
$ module load cpmd
$ which cpmd.x
~/.local/easybuild/software/2020/avx2/MPI/intel2020/openmpi4/cpmd/4.3/bin/cpmd.x
Vous pouvez maintenant l'utiliser dans un script de soumission de tâche.
Exemples de scripts
Pour faire exécuter une tâche, vous devez configurer un fichier d'entrée et obtenir l'accès aux pseudo-potentiels à télécharger du site de CPMD (à condition d'être enregistré).
Si le fichier d'entrée et les pseudo-potentiels sont dans le même répertoire, la commande suivante fait exécuter le programme en parallèle :
srun cpmd.x <input files> > <output file>
(comme dans le script 1)
Si les pseudo-potentiels sont dans un répertoire différent, la commande est
srun cpmd.x <input files> <path to pseudo potentials location> > <output file>
(comme dans le script 2)
&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`"