VMware 虚拟机安装VASP全过程

楼主也是第一次安装,感觉安装起来特别的麻烦,并且在安装的过程中参考了很多别人的经验,所以把自己的安装过程分享给大家,希望对大家有所帮助。另外,其中很多设置楼主也不是很懂,也是尝试自己设置的,并不确定是否合理,欢迎各位大神给修改意见。

1. 安装CentOS7系统

这部分主要参考我要自学网刘贝斯老师的Linux从零到精通教程第八节。这是一份视屏教程挺详细的,所以就直接放上来了,我的磁盘空间给了100G,内存8G。

软件:CentOS7的软件是在六维空间上下载的,我要自学网上也有。
注意:之后Intel Parallel Studio XE安装需要至少2GB的内存,一定要给够。

2. 安装VASP

之后的安装主要参考:Intel Parallel Studio XE 编译VASP
其中也会用到Ubuntu VASP安装和运行
两份参考文件写的都很专业的,我这里主要写按照这个安装的过程和我的电脑中出现的问题
注意:Intel Parallel Studio XE 编译VASP中的编译注意一定要看一下

  • 安装编译依赖

运行:

yum install glibc-devel.i686 
yum install libstdc++.so.6  
ldconfig
yum install gcc-c++

在安装libstdc++.so.6时,出现多版本问题,解决方法:Linux之yum安装出现Error: Multilib version problems found解决

  • 安装Intel Parallel Studio XE 2018

使用学校的学生邮箱可免费在Intel Parallel Studio XE官网上下载Intel Parallel Studio XE最新版本,并获取安装序列号
下载之后,运行:

./install.sh

根据提示进行安装,默认安装位置在/opt/intel,也可以自定义 ,同时根据提示安装缺少的依赖。

其中第三步的先决条件情况中,选2:
VMware 虚拟机安装VASP全过程_第1张图片

  • 添加PATH

仅此次登陆生效
下面的路径与实际路径与intel编译器的版本有关,版本变更后适当修改

    source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/compilervars.sh intel64
    source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/iccvars.sh intel64
    source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/ifortvars.sh intel64
    source /opt/intel/compilers_and_libraries/linux/mkl/bin/mklvars.sh intel64
    source /opt/intel/impi/2018.3.222/bin64/mpivars.sh

永久生效
修改/etc/profile(所有用户)或者~/.bashrc(单个用户) ,具体含义添加PATH
我在bashrc中添加了以下内容(可能不太准确,但是到现在还没报错,所以就这样用的,若有大神看到,希望能给出修改意见,非常感谢):

source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/compilervars.sh intel64
export PATH=/opt/intel/compilers_and_libraries_2018.3.222/linux/bin:$PATH
export PATH=/opt/intel/compilers_and_libraries/linux/mkl/bin:$PATH
export PATH=/opt/intel/impi/2018.3.222/bin64:$PATH
export LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/lib/intel64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/intel/lib/intel64:$LD_LIBRARY_PATH

可用which icc ifort icpc mpiifort检查是否添加成功
之后编译,若提示xxx:command not found,则再source一遍上述命令
在编译后运行vasp时,若上述文件不在PATH内,也无法运行,需要先执行一遍
修改/etc/profile或~/.bashrc中就无需上述操作,登陆时source一下或着添加到文件永久修改都可以,看个人喜好

  • 编译FFTW

在FFTW官网下载FFTW的最新版本,解压,进入解压后的文件夹,生成使用intel编译支持并行的makefile文件

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

这里好多帖子都说一定要加–enable-mpi否则在安装好的lib文件夹内无法生成此次编译VASP所必须的libfftw3_mpi.a文件

在这里我的电脑出现了,configure: error: C compiler cannot create executables问题,之后添加对比之前的安装情况,添加了一下依赖:

yum install glibc-devel

添加PATH
在~/.bashrc中添加

export PATH=/opt/fftw/bin:$PATH
export LD_LIBRARY_PATH=/opt/fftw/lib:$LD_LIBRARY_PATH
  • 安装VASP

进入软件解压后文件夹:

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

修改makefile.include文件:参考Intel Parallel Studio XE 编译VASP
14行开始编译器配置

FC         = mpiifort
FCL        = mpiifort -mkl

23行开始,数学库配置如下

MKLROOT=/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl
MKL_PATH   = $(MKLROOT)/lib/intel64
BLAS       =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
LAPACK     =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
BLACS      =-L$(MKL_PATH) -lmkl_blacs_intelmpi_lp64
SCALAPACK  = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)

30行,配置为(其中/opt/fftw是我编译后安装的目录)

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

编译完成。我的makefile.include

安装:

make

大约30分钟,就在./build中生成了gamma版本的vasp,非线性版本的vasp,标准版本的vasp

gam  ncl  std

每个文件夹中都有一个vasp的可执行文件。

添加环境变量

把VASP添加到PATH后,可以通过直接输入vasp运行
例如我,新建了一个文件夹,里面创建三个软连接,分别指向三个版本的vasp,再将该目录设置为PATH目录,通过vasp_gam,vasp_ncl,vasp_std分别运行三个版本的vasp

mkdir ~/soft/vasp
cd ~/soft/vasp
ln -s /home/lwl/Desktop/vasp.5.4.4/build/gam/vasp vasp_gam
ln -s /home/lwl/Desktop/vasp.5.4.4/build/ncl/vasp vasp_ncl
ln -s /home/lwl/Desktop/vasp.5.4.4/build/std/vasp vasp_std

~/.bashrc中添加

export PATH=/home/lwl/soft/vasp:$PATH

编译~/.bashrc

source ~/.bashrc

或使用完整路径,如/home/lwl/Desktop/vasp5.4.4/build/gam/vasp也可以

之后就可以用啦!

你可能感兴趣的:(VMware 虚拟机安装VASP全过程)