话不多说,直接上教程~~~
一.环境包
系统:Ubuntu14.04
1.以下软件需要自行单独安装
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
以下为12.04系统默认自带,建议检查,使用g++ -v之类的代码;注意gcc和g++的版本应一致。
sudo apt-get install g++
以下视情况安装。
#安装amd64版本的编译器也需要一些32位库支持,使用命令安装:
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
二.安装inter fortran compiler 2013
1. 下载,http://pan.baidu.com/s/1o6sPd8m
2. cd 目录 ./install.sh
3.ENTER
4.view license,一路空格,最后accept
5.Alternative activation, use a license file, provide the full path, 输入:目录/lic文件名 (具体内容可能有出入)
6.目录已存在,overwrite yes。
7.加入环境路径,在主目录下(通常为/home/你的用户名,也就是打开终端时显示的路径)按ctrl+h,显示隐藏文件,打开.bashrc, 在最后插入
source /opt/intel/bin/compilervars.sh intel64
source /opt/intel/mkl/bin/mklvars.sh intel64 lp64
(根据情况改代码目录,32位用ia32, 64位用intel64,这里我安装的是64位系统。)
8.source ~/.bashrc (以后若出现 make:找不到ifort,gfortran 命令、文件之类的,再source .bashrc一下就好了)
9.验证:which ifort显示路径;
测试:新建文本文档,文件名hello.f90,文本如下:
program main
write(*,*) "hello"
stop
end
终端输入:cd 目录,ifort -o hello hello.f90,运行./hello, 出现hello.
三.安装fftw (这里我是选择单独安装的,大家可以按照其他教程所示,用自带的fftw,相应的更改makefile的内容)
1.下载:http://www.fftw.org/
2.解压
3.cd 目录
4. ./configure --prefix /usr/local/fftw
5.make
6.make install
7.把初始下载文件夹fftw/api/fftw3.f拷贝到VASP.5.3文件夹下.
四.安装Openmpi
1. 在网上http://www.open-mpi.org/software/ompi/v1.6/ ,下载openmpi-1.6.5.tar.gz
2. 解压
3.cd 目录
4. sudo ./configure --prefix=/usr/local/openmpi CC=gcc CXX=c++ F77=(/完整路径/)ifort FC=(/完整路径/)ifort (如果显示ifort无法工作,这里添加完整路径)
5.make all install
6.在openmpi目录下新建一个openmpi.sh ,内容如下,目录自改
export PATH=/usr/local/openmpi/ bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi/lib:$LD_LIBRARY_PATH
export MANPATH=/usr/local/openmpi/share/man:$MANPATH
然后在home目录.bashrc插入
source /usr/local/openmpi/openmpi.sh
最后 source ~/.bashrc
7.测试Openmpi是否安装成功。
1).验证: which mpirun, mpic++, mpif77,mpif90等,应显示/home/txc/install/openmpi-1.6.5/bin/mpirun 之类
2)测试: cd 目录/examples
make
mpirun -np 2 hello_c (2为双核)
应出现:
Hello, world, I am 0 of 2
Hello, world, I am 1 of 2
五.安装vasp 5.3.5
(重要:每次修改了makefile.linux_ifc_P4后,建议删掉整个5.3或者5.lib的文件夹重新插入makefile.linux_ifc_P4,然后进行重新安装;5.3的文件夹还需插入fftw3.f)
1.下载,解压
2.修改 vasp.5.lib 下的makefile.linux_ifc_P4文件
CPP = gfortran -E -P -C $*.F >$*.f (这里使用gfortran,不要问我为什么,需要提前sudo apt-get install gfortran)
FC=ifc改为 FC=ifort
FFLAGS = -O2 -FI
3.cd 主目录, source ~/.bashrc
4. cd vasp.5.lib目录
5.cp makefile.linux_ifc_P4 makefile
6.make(成功应生成libdmy.a,文件大小为120KB)
7.修改 vasp.5.3下的makefile.linux_ifc_P4文件 (-L:指定lib库路径,-l:指定库文件名,具体目录自行修改)
详细修改见附件里的makefile.linux_ifc_P4(这里为了安装VTST, 在source里已经添加了部分函数库,在后面后说到)
8.把fftw/api/fftw3.f拷贝到VASP.5.3文件夹下
9. 添加VTST.
1)在VTST官网上下载vtstcode以及vtstscripts文件夹,http://theory.cm.utexas.edu/vtsttools/installation.html.
2)将vtstcode以及vtstscripts文件下的所有文件,全部复制到vasp5.3文件夹下,覆盖。
3)更改main.F文件
CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &
LATT_CUR%A,LATT_CUR%B,IO%IU6)
改为
CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &
TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)
4) 在makefile.linux_ifc_P4文件中,最后的souce, 在chain.o之前添加(附件里我已添加)
bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \
fire.o lanczos.o neb.o qm.o opt.o
10.cd 主目录, source ~/.bashrc
11.cd vasp.5目录
12.cp makefile.linux_ifc_P4 makefile
13.make(等待10分钟左右,成功应生成名为 vasp 的可执行程序)
Done!
特别感谢:
1. luzihen的帖子 http://muchong.com/bbs/viewthread.php?tid=7989994
2. txcokokok的帖子http://muchong.com/bbs/viewthread.php?tid=7943283&authorid=2243418 |