当前位置:文档之家› vasp编译

vasp编译

(1)准备
1.
sudo apt-get install g++
sudo apt-get install build-essential
sudo apt-get install gcc-multilib
sudo apt-get install libstdc++5
sudo apt-get install openjdk-6-jre-headless
sudo apt-get install ia32-libs
sudo apt-get install lib32stdc++6
sudo apt-get install libc6-dev-i386
sudo apt-get install g++-multilib
sudo apt-get install gfrotran
1 2 3 tar -2. xzvf xxx #xxx 指压缩包的名称 cd 解压后目录 ./install.sh
##########安装过程很简单,安装提示就行########
安装完成后,修改环境变量
1 vi ~/.bashrc
在末尾添加
source /opt/intel/bin/compilervars.sh intel64 (64位版本)
source /opt/intel/bin/compilervars.sh ia32 (32位版本)
1 source ~/.bashrc
4. 编译mpi
首先下载mpich2的安装文件
1 2 3 4 5 6 tar mpich2压缩包
cd 文件夹
./configure --prefix=安装目录 f77=ifort f90=ifort fc=ifort
make
make install
vi ~/.bashrc
笔者安装目录在/opt/mpich2,也可以放在其他文件夹中,注意执行make install 用户需要有写入权限
在文件最后写入如下代码
1 2 3 4 #mpi2 start
PATH=/usr/local/mpich2-1.2.1p1/bin:$PATH
export PATH
#mpi2 end
再source 一下
1 source ~/.bashrc
5.编译fftw
1 2 3 4 5 tar 安装文件
cd 文件夹
./configure --prefix=安装目录 F77=ifort F90=ifort GCC=ifort
make
make install all
6.编译vasp
准备 vasp.5.2.tar.gz vasp.5.lib.tar.gz
首先编译的是vasp.lib
1 2 3 4 5 tar xzvf vasp.5.2.tar.gz
tar xzvf vasp.5.lib.tar.gz
cd vasp.5.lib
cp makefile.linux_ifc_P4 makefile
vi makefile
修改19行的 ifc –>ifort
1 make
如果出现 error { gcc:error trying to wxec ‘f951′ :execvp : No such file or directory }
这是gcc 的一个BUG ,解决方法是安装gfortran
1 sudo apt-get install gfortran
然后再重新编译
接着编译vasp
1 2 3 4 cd ../
cd vasp.5.2
cp makefile.linux_ifc_P4 makefile
vi makefile
主要有如下几个改动
1 2 3 4 5 6 7 8 9 10 11 12 1row:53 FC=ifc-->FC=ifort
row:129 BLAS= /opt/libs/libgoto/libgoto.so-->#BLAS= /opt/libs/libgoto/libgoto.so
row:132 LAPACK= ../vasp.5.lib/lapack_double.o-->#LAPACK= ../vasp.5.lib/lapack_double.o row:135后添加新行
MKLINCLUDE=/opt/intel/mkl/include/
MKLPATH=/opt/intel/mkl/lib/intel64/
BLASLAPACK=-L/opt/intel/mkl/lib/intel64/ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -l iomp5 -lpthread
#LIB = -L../vasp.5.lib -ldmy \
../vasp.5.lib/linpack_double.o $(LAPACK) \
$(BLAS)
LIB = -I$(MKLINCLUDE) -L$(MKLPATH) \
-L../vasp.5.lib -ldmy \
$(BLASLAPACK) \
../vasp.5.lib/linpack_double.o
3
1 4 1 5 1 6 1 7 1 8 #158 ff3d后加入库的目录(根据安装ff3d的位置来)FFT3D = fft3dfurth.o fft3dlib.o /usr/local/lib/libfftw3.a
然后make,如果没有编译错误那应该是编译成功了,会产生一个vasp的可执行文件。

1 cp vasp /usr/local/bin/vasp。

相关主题