||
最近重新安装vasp5.4.1,发现都写的很复杂,包括需要专门安装FFT等,实际上利用intel自带的MKL库,也能顺利编译。前提条件,系统中已经安装intel和openmpi等,并设置好环境变量。我的系统中intel和openmpi版本分别是2015 Update 3和openmpi-3.0.0,将系统自带的Makefile.include.linux.intel稍作修改即可,参考http://cms.mpi.univie.ac.at/wiki/index.php/Installing_VASP。特别注意,BLACS处不修改的话,也能编译,但是运行时出错。
操作步骤如下:
(1)在同一文件夹中解压vasp5.4.1和vasp 5.lib;
(2)进入vasp.5.4.1中,修改Makefile.include.linux.intel改名为makefile.include,并按照如下修改其内容;
(3)make all 即可得到三个不同的版本vasp_std, vasp_gam, vasp_tcl
# Precompiler options
CPP_OPTIONS= -DMPI -DHOST=\"IFC91_ompi\" -DIFC \
-DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \
-DMPI_BLOCK=8000 -DscaLAPACK -Duse_collective \
-DnoAugXCmeta -Duse_bse_te \
-Duse_shmem -Dtbdyn
CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
FC = mpiifort 此处需要修改为:mpif90
FCL = mpiifort -mkl 此处需要修改为:mpif90 -mkl
FREE = -free -names lowercase
FFLAGS = -assume byterecl
OFLAG = -O2
OFLAG_IN = $(OFLAG)
DEBUG = -O0
MKL_PATH = $(MKLROOT)/lib/intel64
BLAS =
LAPACK =
BLACS = -lmkl_blacs_intelmpi_lp64 此处需要修改为:-lmkl_blacs_openmpi_lp64
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \
$(HOME)/local/interfaces/fftw3xf/libfftw3xf_intel.a
INCS =-I$(MKLROOT)/include/fftw
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS)
OBJECTS_O1 += fft3dfurth.o 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 = icc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1
FREE_LIB = $(FREE)
OBJECTS_LIB= linpack_double.o getshmem.o
# Normally no need to change this
SRCDIR = ../../src
BINDIR = ../../bin
参考:http://bbs.keinsci.com/thread-5747-1-1.html(计算化学公社)
http://hmli.ustc.edu.cn/doc/app/vasp.5.4.1-vtst.htm
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 08:19
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社