计算化学公社

标题: 单机编译vasp 5.4.1 [打印本页]

作者
Author:
lindlar    时间: 2017-5-2 20:10
标题: 单机编译vasp 5.4.1
最近重新安装vasp5.4.1,发现都写的很复杂,包括需要专门安装FFT等,实际上利用intel自带的MKL库,也能顺利编译。前提条件,系统中已经安装intel和openmpi等,并设置好环境变量。我的系统中intel和openmpi版本分别是2011_sp1.10.319和openmpi-1.6.2,将系统自带的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 \
              $(MKLROOT)/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

作者
Author:
hopedream    时间: 2017-5-24 18:12
楼主厉害,请教一下:初学者如何学习vasp。现在提交input文件,Input文件用什么编写,如何提交到服务器都不会,这些看什么资料啊
作者
Author:
lindlar    时间: 2017-5-24 18:17
网上搜搜,应该有很多教程的
作者
Author:
sobereva    时间: 2017-5-25 02:32
hopedream 发表于 2017-5-24 18:12
楼主厉害,请教一下:初学者如何学习vasp。现在提交input文件,Input文件用什么编写,如何提交到服务器都不 ...

用任何程序都不要脱离手册
作者
Author:
hopedream    时间: 2017-5-26 16:01
sobereva 发表于 2017-5-25 02:32
用任何程序都不要脱离手册

好的,谢谢社长!
作者
Author:
hopedream    时间: 2017-5-26 16:01
lindlar 发表于 2017-5-24 18:17
网上搜搜,应该有很多教程的

好的,谢谢!
作者
Author:
lukewithyou    时间: 2017-8-18 17:05
楼主,请问我在学校服务器编译时候出现这个
make[1]: Entering directory `/public/home/houxh5697/LUKE/vasp/vasp.5.4.1/build/std'
makefile:52: Extraneous text after `else' directive
makefile:59: Extraneous text after `else' directive
makefile:59: *** only one `else' per conditional.  Stop.
make[1]: Leaving directory `/public/home/houxh5697/LUKE/vasp/vasp.5.4.1/build/std'
make: *** [std] Error 2
是怎么一回事?




欢迎光临 计算化学公社 (http://ccc.keinsci.com/) Powered by Discuz! X3.3