参考环境配置VASP的最简单的安装方法(含全程视频演示) - 第一性原理 (First Principle) - 计算化学公社 (keinsci.com)
解压
[root@mgt BIOVIA_test]# cd /share/
[root@mgt share]# tar -zxf vasp.5.4.4.tar.gz
编译环境文件
[root@mgt vasp.5.4.4]# cp /share/vasp.5.4.4/arch/makefile.include.linux_intel /share/vasp.5.4.4
[root@mgt vasp.5.4.4]# ls
arch bin build makefile makefile.include.linux_intel README src
[root@mgt vasp.5.4.4]# mv makefile.include.linux_intel makefile.include
[root@mgt vasp.5.4.4]# ls
arch bin build makefile makefile.include README src
Intel CPU 修改 makefile.include 加上-xhost
AMD 会报错不加
这样编译器会使得编译出的程序能够利用当前机子CPU能支持的最高档次的指令集以加速计算
AMD参考在AMD机器上安装DFT计算软件VASP.6.2.0简明教程 - 第一性原理 (First Principle) - 计算化学公社 (keinsci.com)
AMD可手动查询自己支持的指令集并修改: 如:
OFLAG = -O2 -xCORE-AVX2
环境变量
编译完成后,在vasp.5.4.4/bin目录下出现了vasp_gam、vasp_ncl、vasp_std三个可执行文件,分别是Gamma only版,非共线版和标准版。
[root@mgt bin]# ls
vasp_gam vasp_ncl vasp_std
路径变量,可加入~/.bashrc中,重新登陆生效
export PATH=$PATH:/share/vasp.5.4.4/bin
测试
创建一个新文件夹用于测试,然后将IN-short 改名为INCAR,用4核运行
[root@mgt ~]# cd /share/vasp.5.4.4
[root@mgt vasp.5.4.4]# mkdir test_vasp_std && cd test_vasp_std
[root@mgt test_vasp_std]# ls
benchmark.Hg.tar.gz
[root@mgt test_vasp_std]# tar -zxf benchmark.Hg.tar.gz
[root@mgt test_vasp_std]# cd vasp.Hg/
[root@mgt vasp.Hg]# mv IN-short INCAR
[root@mgt vasp.Hg]# mpirun -np 4 vasp_std
结果
running on 4 total cores
distrk: each k-point on 4 cores, 1 groups
distr: one band on 1 cores, 4 groups
using from now: INCAR
vasp.5.4.4.18Apr17-6-g9f103f2a35 (build Apr 18 2024 17:19:50) complex
POSCAR found : 1 types and 50 ions
scaLAPACK will be used
LDA part: xc-table for Ceperly-Alder, standard interpolation
-----------------------------------------------------------------------------
| |
| W W AA RRRRR N N II N N GGGG !!! |
| W W A A R R NN N II NN N G G !!! |
| W W A A R R N N N II N N N G !!! |
| W WW W AAAAAA RRRRR N N N II N N N G GGG ! |
| WW WW A A R R N NN II N NN G G |
| W W A A R R N N II N N GGGG !!! |
| |
| Your FFT grids (NGX,NGY,NGZ) are not sufficient for an accurate |
| calculation. |
| The results might be wrong |
| good settings for NGX NGY and NGZ are |
| 32 32 and 32 |
| Mind: This setting results in a small but reasonable wrap around error |
| It is also necessary to adjust these values to the FFT routines you use|
| |
-----------------------------------------------------------------------------
POSCAR, INCAR and KPOINTS ok, starting setup
FFT: planning ...
WAVECAR not read
entering main loop
N E dE d eps ncg rms rms(c)
RMM: 1 -0.514508049955E+05 -0.51451E+05 -0.13177E+05 316 0.780E+02
RMM: 2 -0.527604960133E+05 -0.13097E+04 -0.23677E+04 316 0.234E+02
RMM: 3 -0.529744058124E+05 -0.21391E+03 -0.41278E+03 316 0.116E+02
RMM: 4 -0.531145778668E+05 -0.14017E+03 -0.15768E+03 316 0.784E+01
RMM: 5 -0.531789246722E+05 -0.64347E+02 -0.67159E+02 316 0.452E+01
RMM: 6 -0.532265055772E+05 -0.47581E+02 -0.48010E+02 720 0.309E+01
RMM: 7 -0.532330902720E+05 -0.65847E+01 -0.94349E+01 762 0.919E+00 0.871E+00
RMM: 8 -0.532325872571E+05 0.50301E+00 -0.56444E+01 696 0.112E+01 0.218E+00
RMM: 9 -0.532327666665E+05 -0.17941E+00 -0.66901E+00 700 0.233E+00 0.112E+00
RMM: 10 -0.532327437302E+05 0.22936E-01 -0.95542E-01 697 0.881E-01 0.401E-01
RMM: 11 -0.532327416431E+05 0.20871E-02 -0.16667E-01 695 0.455E-01 0.106E-01
RMM: 12 -0.532327436402E+05 -0.19971E-02 -0.34035E-02 695 0.145E-01 0.467E-02
RMM: 13 -0.532327437229E+05 -0.82713E-04 -0.53240E-03 513 0.507E-02
1 F= -.53232744E+05 E0= -.53232710E+05 d E =-.677966E-01
sbatch脚本
#!/bin/sh
# 告诉操作系统使用 /bin/sh(shell)来执行此脚本。
#SBATCH -N 1
# 向 SLURM 请求 1 个计算节点。
#SBATCH -n 1
# 请求总共 1 个处理器核心。
#SBATCH --ntasks-per-node=1
# 每个节点上的任务数设置为 1。
#SBATCH -w c66
# 指定运行此作业的特定计算节点 "c66"。
#SBATCH --output=%j.out
# 将标准输出重定向到一个名为 “作业ID.out” 的文件,%j 会被替换为实际的作业ID。
#SBATCH --error=%j.err
# 将标准错误重定向到一个名为 “作业ID.err” 的文件,%j 会被替换为实际的作业ID。
source /share/intel/parallel_studio_xe_2020.4.912/bin/psxevars.sh intel64 # 初始化并设置 Intel Parallel Studio XE 环境变量,针对64位架构。
export PATH=/share/vasp.5.4.4/bin:$PATH
# 将VASP的可执行文件目录添加到环境变量PATH,使之可以直接执行vasp_std。
mpirun -np $SLURM_NTASKS vasp_std
# 使用mpirun启动VASP程序,-np 选项 SLURM 默认会分配正确的核心数。
无注释版
#!/bin/sh
#SBATCH -N 1
#SBATCH -n 1
#SBATCH --ntasks-per-node=1
#SBATCH --output=%j.out
#SBATCH --error=%j.err
source /share/intel/parallel_studio_xe_2020.4.912/bin/psxevars.sh intel64
export PATH=/share/vasp.5.4.4/bin:$PATH
mpirun -np $SLURM_NTASKS vasp_std