vasp
VASP
VASP全称Vienna Ab-initio Simulation Package,是维也纳大学Hafner小组开发的用于电子结构计算和量子力学-分子动力学模拟软件包。它是目前材料模拟和计算物质科学研究中最流行的商用软件之一。
关于VASP的更多信息请访问VASP官网。
1. 作业提交参数说明
用户可通过公共模板提交VASP作业,与VASP相关的作业参数如下:
参数 | 描述 |
INCAR | 控制参数,包括精度,计算采用的行数等 |
KPOINTS | 实网格密度 |
POSCAR | 体系几何体结构输入 |
Pseudopotentials | 赝势选择。常用赝势类型:X、X_pv、X_sv,X为元素名称。 |
2. VASP作业运行参考
1.modulefile示例
#%Module1.0#####################################################################
proc ModulesHelp { } {
puts stderr " "
puts stderr "This module loads the vasp utility"
puts stderr "\nVersion 5.4.4\n"
}
module-whatis "Name: vasp"
set APPS_HOME /lustre1/app/VASP/5.4.4/intelmpi_2021.1.1/vasp.5.4.4
set qvasppath /lustre1/app/VASP/5.4.4/intelmpi_2021.1.1/qvasp
prepend-path PATH ${APPS_HOME}/bin:${qvasppath}:${qvasppath}/exefile/Tools/USERTooLs/vtstscripts
setenv qvasppath /lustre1/app/VASP/5.4.4/intelmpi_2021.1.1/qvasp
2.执行文件
- INCAR
SYSTEM = qvasp
INCAR-basic
PREC = Normal
ENCUT = 500 eV
NELMIN= 5
LREAL = F
KSPCACING = 0.1
EDIFF = 1E-5
ISMEAR = 0
SIGMA = 0.2
NPAR = 2 ## important to reduce calculate time, equal sqrt(cpu cores)
Ionic Relaxation
ICHARG = 2
EDIFFG = -0.01 force
NSW = 300 max steps for IOM
IBRION = 2
ISIF = 3 suface:2 crystal:3
LCHARG = .FALSE.
LWAVE = F
# Use 'qvasp -cif' to transer format (VESTA or MS)
- KPOINTS
2:Pnmb(53)
1.00000000000000
6.6620543942381492 0.0000000000000000 0.0000000000000000
0.0000000000000000 6.6650191227957718 0.0000000000000000
0.0000000000000000 0.0000000000000000 11.9404463373872787
Mg N
4 40
Direct
0.2495480360020607 -0.0000000000000000 0.3749424038983380
0.7504519639979395 0.5000000000000000 0.8749424038983381
0.7504519639979395 -0.0000000000000000 0.6250575961016619
0.2495480360020607 0.5000000000000000 0.1250575961016618
0.0904359258694523 -0.0000000000000000 0.6264711069313242
0.1524903696983128 -0.0000000000000000 0.7322558777851370
0.3490025211285562 -0.0000000000000000 0.7321024032157769
0.4105613416764144 -0.0000000000000000 0.6262317685486081
0.2503302433927605 -0.0000000000000000 0.5605590667715999
0.9095640741305474 0.5000000000000000 0.1264711069313242
0.8475096303016870 0.5000000000000000 0.2322558777851370
0.6509974788714442 0.5000000000000000 0.2321024032157769
0.5894386583235854 0.5000000000000000 0.1262317685486084
0.7496697566072393 0.5000000000000000 0.0605590667716000
0.9095640741305474 -0.0000000000000000 0.3735288930686756
0.8475096303016870 -0.0000000000000000 0.2677441222148628
0.6509974788714442 -0.0000000000000000 0.2678975967842228
0.5894386583235854 -0.0000000000000000 0.3737682314513913
0.7496697566072393 -0.0000000000000000 0.4394409332283999
0.0904359258694523 0.5000000000000000 0.8735288930686758
0.1524903696983128 0.5000000000000000 0.7677441222148630
0.3490025211285562 0.5000000000000000 0.7678975967842231
0.4105613416764144 0.5000000000000000 0.8737682314513919
0.2503302433927605 0.5000000000000000 0.9394409332284001
0.7506915683326726 -0.0000000000000000 0.8105120794981269
0.7507464541137432 0.8400009100061756 0.8762943528918120
0.7506648610185005 0.9017846148795698 0.9821130451045730
0.7506648610185005 0.0982153851204298 0.9821130451045730
0.7507464541137432 0.1599990899938245 0.8762943528918120
0.2493084316673276 0.5000000000000000 0.3105120794981269
0.2492535458862570 0.6599990899938244 0.3762943528918123
0.2493351389814993 0.5982153851204302 0.4821130451045731
0.2493351389814993 0.4017846148795703 0.4821130451045731
0.2492535458862570 0.3400009100061757 0.3762943528918123
0.2493084316673276 -0.0000000000000000 0.1894879205018731
0.2492535458862570 0.8400009100061756 0.1237056471081876
0.2493351389814993 0.9017846148795698 0.0178869548954270
0.2493351389814993 0.0982153851204298 0.0178869548954270
0.2492535458862570 0.1599990899938245 0.1237056471081876
0.7506915683326726 0.5000000000000000 0.6894879205018731
0.7507464541137432 0.6599990899938244 0.6237056471081880
0.7506648610185005 0.5982153851204302 0.5178869548954270
0.7506648610185005 0.4017846148795703 0.5178869548954270
0.7507464541137432 0.3400009100061757 0.6237056471081880
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
- input文件
job_name=VASP_211214100303
partition=force2
work_dir=/lustre1/forcestack/home/wangjian/workspace/VASP_211214100303
node_num=2
uid=10065
account=00f01k7u
run_time=12:00:00
sum_ntasks=10
cpus_per_task=1
INCAR=/lustre1/software/app-template/VASP/INCAR
KPOINTS=/lustre1/software/app-template/VASP/KPOINTS
POSCAR=/lustre1/software/app-template/VASP/POSCAR
POTCAR=/lustre1/software/app-template/VASP/POTCAR
- 执行脚本
#!/bin/sh
source $1/.env
##check input var
time=`date +%m%d_%H%M%S`
if [ "x$INCAR" == "x" ];then
echo "The INCAR cannot be empty."
exit 1
else
filename=`basename $INCAR`
cp $INCAR $work_dir
fi
if [ "x$POSCAR" == "x" ];then
echo "The POSCAR cannot be empty."
exit 1
else
filename=`basename $POSCAR`
cp $POSCAR $work_dir
fi
if [ "x$KPOINTS" == "x" ];then
echo "The KPOINTS cannot be empty."
exit 1
else
filename=`basename $KPOINTS`
cp $KPOINTS $work_dir
fi
err_log=$work_dir/%j.err
out_log=$work_dir/%j.out
cat > $work_dir/job.slurm <<EOF
#!/bin/bash
#SBATCH --account $account
#SBATCH --ntasks $sum_ntasks
#SBATCH --cpus-per-task $cpus_per_task
#SBATCH --job-name $job_name
#SBATCH --nodes $node_num
#SBATCH --mail-type ALL
#SBATCH --partition $partition
#SBATCH --chdir $work_dir
#SBATCH --time $run_time
#SBATCH -e $err_log
#SBATCH -o $out_log
ulimit -s unlimited
ulimit -l unlimited
source /lustre1/software/mpi/intel/2021.1/setvars.sh
module load mpi/intel/2021.1.1
module load app/VASP/5.4.4/intelmpi_2021.1.1
echo -e "The start time is: \`date +"%Y-%m-%d %H:%M:%S"\`"
echo -e "My job ID is: \$SLURM_JOB_ID"
echo -e "The total cores is: \$SLURM_NPROCS"
echo -e "The \$SLURM_JOB_ID Job info:"
scontrol show job \$SLURM_JOB_ID
cd $work_dir
$Pseudopotentials
mpirun -genv I_MPI_FABRICS ofi vasp_std
echo -e "The end time is: \`date +"%Y-%m-%d %H:%M:%S"\`"
EOF
if [ "x$run_time" == "x" ];then
sed -i '/--time/d' $work_dir/job.slurm
fi
if [ "x$gpus" != "x" ];then
sed -i "/ntasks/a \#SBATCH --gres gpu:$gpus" $work_dir/job.slurm
fi
chown -R $uid:$uid $work_dir