编译和安装

基本安装操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令解压VASP安装包。

    cd /path/to/VASP
    tar -xvf vasp.5.4.4.tar.gz

  3. 执行以下命令进入解压后的目录。

    cd vasp.5.4.4

  4. 若之前加载过环境配置,则可跳过该步骤。根据实际安装路径设置编译器以及Hyper MPI,前置编译环境的配置。例如:

    export INCLUDE=/path/to/hypermpi/hmpi/include
    export PATH=/path/to/hypermpi/hmpi/bin:/path/to/hypermpi/ucx/bin:$PATH
    export OPAL_PREFIX=/path/to/hypermpi/hmpi/
    export LD_LIBRARY_PATH=/path/to/hypermpi/hmpi/lib:/path/to/hypermpi/ucx/lib:$LD_LIBRARY_PATH
    export PATH=/opt/compiler/bisheng-compiler-1.3.3-aarch64-linux/bin:$PATH
    export LD_LIBRARY_PATH=/opt/compiler/bisheng-compiler-1.3.3-aarch64-linux/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:/path/to/SCALAPACK:/path/to/FFTW/lib:$LD_LIBRARY_PATH

    毕昇编译器和Hyper MPI的环境变量需要在配置编译环境之前设置。

  5. 执行以下命令创建并编写“makefile.include”文件。

    1. 创建“makefile.include”文件。
      vi makefile.include
    2. 按“i”进入编辑模式,编写“makefile.include”文件,添加如下部分。
      ##Precompiler options
      CPP_OPTIONS= -DHOST=\"LinuxGNU\" \
                    -DMPI -DMPI_BLOCK=8000 \
                    -Duse_collective \
                    -DscaLAPACK \
                    -DCACHE_SIZE=5000 \
                    -Davoidalloc \
                    -Duse_bse_te \
                    -Dtbdyn \
                    -Duse_shmem
      CPP        = flang -E -P -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)
      FC         = mpif90
      FCL        = mpif90
      FREE       = -ffree-form -ffree-line-length-none
      FFLAGS     = -w
      OFLAG      = -O1 -ffp-contract=fast  -ffpe-trap=invalid,zero,overflow
      OFLAG_IN   = $(OFLAG)
      DEBUG      = -O0
      LLIBS      = -L/path/to/SCALAPACK -lscalapack -L/path/to/OPENBLAS/lib -lopenblas
      FFTW       ?= /path/to/FFTW
      LLIBS      += -L$(FFTW)/lib -lfftw3
      INCS       = -I$(FFTW)/include
      OBJECTS    = fftmpiw.o fftmpi_map.o  fftw3d.o  fft3dlib.o
      OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
      OBJECTS_O2 += fft3dlib.o
      # For what used to be vasp.5.lib
      CPP_LIB    = $(CPP)
      FC_LIB     = $(FC)
      CC_LIB     = clang
      CFLAGS_LIB = -O
      FFLAGS_LIB = -O1
      FREE_LIB   = $(FREE)
      OBJECTS_LIB= linpack_double.o getshmem.o
      # For the parser library
      CXX_PARS   = clang++
      LIBS       += parser
      LLIBS    += -Lparser -lparser -lstdc++
      # Normally no need to change this
      SRCDIR     = ../../src
      BINDIR     = ../../bin
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  6. 执行以下命令进行编译安装。

    make std

    若还需要生成“vasp_gam”“vasp_ncl”,则执行以下命令。

    make all

(可选)扩展安装操作步骤

VTST过渡态工具安装。

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 上传VTSTcode安装包至VASP安装同级目录下。
  3. 执行以下命令解压VTSTcode安装包。

    cd /path/to/VASP
    tar -xvf vtstcode-179.tgz

  4. 执行以下命令备份VASP安装包“src”目录下的“chain.F”文件。

    cp vasp.5.4.4/src/chain.F vasp.5.4.4/src/chain.F_bak

  5. 执行以下命令将“vtstcode-179”目录下文件复制并覆盖到“src”下。

    cp vtstcode-179/* vasp.5.4.4/src/

  6. 执行以下命令修改“src/main.F”文件。

    1. 打开算例文件。
      vi vasp.5.4.4/src/main.F
    2. 按“i”进入编辑模式,将“src/main.F”文件的第3146和3147行的语句改为如下内容。
      CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &  TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)

      执行6.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  7. 执行以下命令修改编译配置文件。

    1. 打开算例文件。
      vi vasp.5.4.4/src/.objects
    2. 按“i”进入编辑模式,在第71和72行之间添加如下内容。
      bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \
      fire.o lanczos.o neb.o qm.o opt.o \

      执行7.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  8. 执行以下命令进行编译安装。

    make std

    若还需要生成vasp_gam和vasp_ncl,则执行以下命令。

    make all

(可选)扩展安装操作步骤

VASPsol工具安装。

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令下载并解压VASPsol安装包。

    cd /path/to/VASP
    wget https://github.com/henniggroup/VASPsol/archive/refs/tags/V1.0.tar.gz
    tar -xvf V1.0.tar.gz

  3. 执行以下命令将“VASPsol”目录下文件复制并覆盖到“src”下。

    cp VASPsol-1.0/src/solvation.F vasp.5.4.4/src/

  4. 执行以下命令修改基本安装操作步骤5的“makefile.include”文件。

    1. 打开“makefile.include”文件。
      vi makefile.include
    2. 按“i”进入编辑模式,将“-Dsol_compat”添加到“CPP_OPTIONS”中。
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  5. 执行以下命令编译安装。

    make std

    若还需要生成“vasp_gam”“vasp_ncl”,则执行以下命令。

    make all

Wannier 90接口安装操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令在VASP安装同级目录下,解压wannier90-1.2安装包。

    cd /path/to/VASP
    tar -xvf wannier90-1.2.tar.gz

  3. 执行以下命令使用“make.sys.gfort”代替编译文件“make.sys”。

    cd wannier90-1.2
    cp config/make.sys.gfort make.sys

  4. 执行以下命令修改“make.sys”在文件。

    1. 打开算例文件。
      vi make.sys
    2. 按“i”进入编辑模式,修改第4行的内容。
      F90 = flang
      在“make.sys”文件末尾增加一行,添加如下内容。
      LIBS = -L/path/to/SCALAPACK -L/path/to/OPENBLAS/lib -lscalapack -lopenblas

      执行4.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  5. 执行以下命令进行安装。

    make wannier lib test

    生成libwannnier.a函数库,此函数库要加入VASP安装编译中。

  6. 执行以下命令修改VASP编译文件“makefile.include”。

    cd /path/to/VASP/vasp.5.4.4
    vi makefile.include

  7. 按“i”进入编辑模式,修改“makefile.include”文件的内容。

    将第10行修改为:

    -Duse_shmem -Dtbdyn -DVASP2WANNIER90

    在第18与19行之增加:

    WANNIER90 = /path/to/VASP/wannier90-1.2/libwannier.a

    修改第20行的内容在LLIBS加入wannier接口参数:

    LLIBS = $(WANNIER90) -L/path/to/SCALAPACK -lscalapack -L/path/to/OPENBLAS/lib -lopenblas

    执行6之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

  8. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  9. 执行以下命令进行编译。

    make std