1. 程式人生 > >VASP安裝與執行

VASP安裝與執行

VASP(Vienna Ab-initio Simulation Package)是進行電子結構計算以及分子動力學模擬等軟體包。
VASP安裝需要的軟體

  • intel編譯器以及License檔案
  • fftw
  • vasp安裝包

本文未使用其他教程推薦的安裝openmpi,GotoBLAS2,ATLAS等數學庫,intel編譯器的MKL(核心數學庫)中均含有相關庫。因此,本文主要使用intel的核心數學庫,相應的編譯器配置選擇intel編譯器。數學庫以及對應的編譯器設定最好一致,不然安裝過程會報各種未知錯誤。

安裝intel編譯器

下載intel編譯器。從intel官網註冊帳號,使用郵箱申請序列號以及license檔案。在安裝之前必須準備好有效的License檔案,安裝過程需要用到。
解壓安裝包 -進入該資料夾–安裝

tar -zxvf parallel_studio_xe_2015.tgz
cd parallel_studio_xe_2015
./install.sh

接下來進入安裝,使用預設選項即可,中間會詢問你證書檔案在什麼位置

Please type the full path to your license file :

intel編譯器會預設安裝在/opt/intel/目錄下。安裝完成後需要新增PATH到環境變數中。
vim ~/.bashrc ,修改單個使用者,插入以下程式碼:

source /opt/intel/composer_xe_2015.0.090/bin/compilervars.sh intel64
source /opt/intel/composer_xe_2015.0.090/bin/iccvars.sh intel64
source /opt/intel/composer_xe_2015.0.090/bin/ifortvars.sh intel64
source /opt/intel/composer_xe_2015.0.090/mkl/bin/mklvars.sh intel64
source /opt/intel/impi/5.0.1.035/bin64/mpivars.sh

要根據自己安裝的intel編譯器版本號和安裝目錄,找到上述四個檔案對應的位置,新增載~/.bashrc 檔案中。新增完成後,執行一遍該命令:

source ~/.bashrc

接下來使用如下命令檢查是否新增成功。

which icc ifort icpc mpiifort

fftw安裝

本教程沒有使用intel編譯器自帶的fftw,下載fftw軟體,官網下載http://www.fftw.org/
同樣先進行解壓–進入該資料夾–編譯

tar -xzvf fftw-3.3.7.tar.gz
cd fftw-3.3.7

接下來需要配置-編譯。可以依據./configure -help檢視資訊,新增一些引數優化編譯的目錄。
所需要的優化有:安裝目錄的選擇,是否編譯mpi並行版本,以及指定何種編譯器。以下是通過./configure -help選項檢視的引數優化語法:
安裝目錄

–prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]

是否編譯mpi版本的fftw庫,本文使用編譯並行版本的fftw。

–enable-mpi compile FFTW MPI library

還有指定的編譯器以及部分編譯引數,如下:

CC C compiler command
CFLAGS C compiler flags
LIBS libraries to pass to the linker, e.g. -l
CPP C preprocessor
MPICC MPI C compiler command
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags

預設是使用GNU編譯器。為了使用intel編譯器,我們需要指定:CC =icc F77=ifort。剩餘相關的引數通常保持預設即可。於是最終的配置可以寫成:

./configure –prefix=/opt/fftw/ CC=icc F77=ifort MPICC=mpiicc –enable-mpi
make
make install

VASP安裝

下載並解壓VASP軟體,得到vasp.5.lib和vasp.5.4.1資料夾。不同版本的vasp名稱會有所不同。
vasp安裝的重點是makefile檔案的配置:

cd vasp.5.4.1
cp arch/makefile.include.linux_intel makefile.include

編譯器的配置,找到變數FC和FCL。為了保證數學庫跟呼叫的編譯器一致,我們在這裡需要設定fortran編譯器使用intel的編譯器mpiifort。

FC = mpiifort
FCL = mpiifort -mkl

數學庫的配置。我們使用intel的mpi,所以在變數中設定了mkl_blacs_intelmpi_lp64。如果使用openmpi,則根據安裝設定相應的連結數學庫

MKL_PATH = /opt/intel/mkl/lib/intel64
BLAS =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64
LAPACK =
BLACS =
SCALAPACK =

fftw的配置。根據自己安裝目錄找到對應的檔案位置。

OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \
/opt/fftw/lib/libfftw3_mpi.a
INCS =-I/opt/fftw/include

編譯make all。成功編譯後會在bin資料夾中生成三個可執行檔案,對應gamma版本的vasp,標準版本的vasp和非線性版本的vasp。

vasp_gam vasp_ncl vasp_std

把VASP新增到環境變數中後,才可以直接通過命令vasp執行。接下來需要新增環境變數

vim ~/.bashrc

在該文加中新增如下命令:PATH根據自己的安裝情況填寫檔案目錄,以下是使用標準版本的vasp

PATH=/home/xinming/vasp/vasp.5.4.1/build/std:$PATH

新增完成後

source ~/.bashrc
特別感謝cndaqiang同學提供的幫助,以上的安裝步驟是在他探索的基礎上進行的總結。

vasp執行相關

使用vasp計算,首先準備好四個輸入檔案:POSCAR,POTCAR,KPOINTS,INCAR。將這四個輸入檔案放在一個資料夾中。在檔案目錄下使用命令:

vasp

這四個檔案已經告訴vasp如何去計算,新增完環境變數後使用vasp命令,直接運行了程式
由於一般研究中用到的計算體系都比較大,更傾向於使用平行計算。上述也是在個人筆記本中安裝了並行版本的vasp程式。同樣進入工作目錄,使用命令:

mpirun -np 4 vasp

命令引數-np表示使用四個節點。執行過程中是使用top命令檢查處理器程序狀態,看vasp是否成功執行。執行後的輸出檔案還在該工作目錄下。