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

个结果匹配 ""

    无结果匹配 ""