VASP 541¶
Versions et Modules¶
Ce code de calcul est accessible via le module vasp/5.4.1/impi. L'utilisation étant soumise à licence vous devez faire parti du groupe vasp54
un script de soumission est disponible dans le répertoire /gpfs/softs/contrib/apps/vasp/5.4.1/slurm_script/vasp_impi.slurm
il permet d'utiliser la version de vasp compilé avec :
le compilateur compiler/intel/2019.3.199 la version de MPI mpi/intel/2019.3.199
les 3 versions de vasp sont disponibles std, gam et ncl. il suffit pour cela de la spécifier dans le script de soumission
Scripts¶
un script de soumissions est proposé dans le répertoire /gpfs/softs/contrib/apps/vasp/5.4.1/slurm_script/vasp_impi.slurm. Comme vous pouvez le voir ligne 32, ce script utilise vasp_std pour utiliser vasp_gam ou vasp_ncl il vous faudra remplacer vasp_std par vasp_gam ou vasp_ncl.
#!/bin/bash #SBATCH -o vasp.%j.out #SBATCH --nodes 2 #SBATCH --ntasks-per-node 8 #SBATCH --cpus-per-task 4 #SBATCH -t 2-00:00:00 set -x # Load modules, unless already done before job is submitted (remember, # SLURM export the environment as per default, unless you # set --export=NONE module purge module load use.own module load vasp/5.4.1/impi export SJID="$SLURM_JOB_NAME"_"`echo $SLURM_JOB_ID | cut -d . -f 1`_`date '+%d%m%Y'`" # we place the job in the scratch directory SCRDIR=/scratch/$USER/$SJID mkdir -p $SCRDIR cd $SCRDIR echo ##################### env echo ##################### D0=$SLURM_SUBMIT_DIR/$SLURM_JOB_NAME # we copy input file to the scratch directory for infile in INCAR POTCAR POSCAR KPOINTS do cp $D0/$infile $SCRDIR/ done #sed -i "s/^NPAR.*/NPAR = $SLURM_NTASKS /" INCAR # we call vasp_std executable. note you can also call vasp_gam or vasp_ncl #mpirun -np SLURM_NTASKS -env OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK vasp_std > $SLURM_JOB_NAME.out mpirun vasp_std > $SLURM_JOB_NAME.out # we create a result directory an copy results inside mkdir $SLURM_SUBMIT_DIR/$SLURM_JOB_NAME/$SJID && cp ./* $SLURM_SUBMIT_DIR/$SLURM_JOB_NAME/$SJID && rm -rf $SCRDIR
Soumission¶
l'utilisation de ce script demande une certaine organisation des données
l'arborescence doit regrouper dans un répertoire tout les input nécessaire.
Imaginons que vous ayez un répertoire pour vos calcul vasp, dans un souci d'originalité appelons le vasp,
puis un calcul, étant informaticien j’appellerai mon calcul toto (ce qui ne devrais choquer personne).
Mon arborescence devra alors être de la forme :
vasp -| |-toto -| |-INCAR |-POTCAR |-POSCAR |-KPOINTS
Pour lancer le calcul je dois me placer dans le répertoire vasp. Puis lancer la commande :
sbatch -J toto /gpfs/softs/contrib/apps/vasp/5.4.1/slurm_script/vasp_impi.slurm
la dernière partie étant un peu longue je vous propose de raccourcir ce chemin en placant un lien vers le fichier dans votre répertoire personnel, avec la commande :
ln -s /gpfs/softs/contrib/apps/vasp/5.4.1/slurm_script/vasp_impi.slurm ~/.vasp_impi.slurm
ce qui réduira la commande de lancement du job a :
sbatch -J toto ~/.vasp_impi.slurm
votre job apparaîtra dans la liste des job en attente (state PD pour pending) ou partira directement (chanceux!!!). Dés que votre job démarrera un fichier sera créé dans le répertoire toto avec le nom vasp.<numero du job>.out ce fichier n'est pas le résultat de votre calcul mais le compte rendu de l'exécution de votre job. Il pourra vous renseigner sur le pourquoi votre job ne s'est pas passé correctement.
Une fois le job terminé les résultats seront rapatrié dans un répertoire au sein de toto. Ce répertoire ce nomme toto_<numéro du job>_<date de début du calcul>
ce qui devrait donner pour un calcul avec le numéro 29477 l'arborescence suivante:
vasp -| |-vasp.29477.out |-toto -| |-INCAR |-POTCAR |-POSCAR |-KPOINTS |-toto_29477_19042019-| |-toto.out |-CHG |-CHGCAR |-CONTCAR |-DOSCAR |-EIGENVAL |-IBZKPT |-INCAR |-KPOINTS |-OSZICAR |-OUTCAR |-PCDAT |-POSCAR |-POTCAR |-PROCAR |-REPORT |-vasprun.xml |-WAVECAR |-XDATCAR
Pseudo Potentiel¶
Les pseudos potentiels fournis avec vasp 5.4.1 sont dans les répertoires :
/gpfs/softs/contrib/apps/vasp/5.4.1/potpaw/LDA
/gpfs/softs/contrib/apps/vasp/5.4.1/potpaw/PBE
Attention¶
Si vous voulez modifier le fichier INCAR pour lancer un nouveau calcul vous devez attendre que le premier calcul soit parti. En effet la copie du fichier INCAR dans le répertoire de travail ne se fait qu'au début du job, pas lorsque celui ci est en attente. Ou alors me demander je peux fournir un script ou le fichier INCAR est généré dans le script de soumission. Permettant ainsi de soumettre simultanément plusieurs calcul avec des fichier POTCAR KPOINTS POSCAR identiques.
De même si vous avez besoin de fichier d'entrée supplémentaire copier le script dans votre dossier personnel en le renommant.
cp /gpfs/softs/contrib/apps/vasp/5.4.1/slurm_script/vasp_impi.slurm ~/.vasp_mine.slurm
et modifier la ligne
for infile in INCAR POTCAR POSCAR KPOINTSpour ajouter à la liste les fichiers dont vous avez besoin.
De même si vous voulez utiliser une autre version que vasp_std, il vous faudra copier une version du script dans votre dossier personnel.
PS: la version GPU est en attente de compilation