Chemistry 版 (精华区)
发信人: zjliu (秋天的萝卜), 信区: Chemistry
标 题: VASP程序的编译
发信站: BBS 哈工大紫丁香站 (Thu Jul 8 16:36:28 2004)
发信站: 日月光华
下面以编译VASP4.4.5版本为例,编译更新的版本VASP4.5.5、VASP4.6和VASP5.0(即将
发布)的步骤与此相同。
1、 所需文件和程序
VASP源代码:vasp.4.4.5.tar.gz和vasp.4.lib.tar.gz
数学库:LAPACK和BLAS (http://www.netlib.org/),
或mkl(配合intel的fotran编译器用),
或ATLAS (http://math-atlas.sourceforge.net/)
或Lib GOTO (http://www.cs.utexas.edu/users/flame/goto/)
Fortran编译器:PGI fortran 至少4.0以上版本(http://www.pgroup.com/),
或Intel的 ifc (8.0以上版本是ifort,
http://www.intel.com/software/products/compilers/flin/),前者可以从网站上下载
http://www.intel.com/software/products/compilers/flin/),前者可以从网站上下载
到15天的试用版本,后者可以从网站下载到免费的版本。
2、下面采用PGI fortan编译器pgf90、ATLAS数学库对VASP4.4.5进行编译
这里假定已经安装好了fortran编译器,所有文件都放在/home/xxxx/VASP_SRC目录下,
机器的操作系统是Linux: Redhat9.0。
a) 从http://math-atlas.sourceforge.net/下载atlas3.6.0_Linux_P4SSE2.tar.gz,并
用如下命令解压:tar xzvf atlas3.6.0_Linux_P4SSE2.tar.gz
解压后得到一个目录Linux_P4SSE2,在此目录下有个lib子目录,该lib子目录中的文件
为libatlas.a, libcblas.a, libf77blas.a, liblapack.a, 这些就是编译vasp时所需要
的数学库文件之一。
b) 用如下命令解压vasp.4.4.5.tar.gz和vasp.4.lib.tar.gz:
tar xzvf vasp.4.4.5.tar.gz
tar xzvf vasp.4.lib.tar.gz
解压后分别得到目录vasp.4.4和vasp.4.lib,目录vasp.4.4中文件是vasp的主要源代码
,vasp.4.lib是编译vasp时需要的一些特定的数学库程序,在这两个目录中都有编译时
,vasp.4.lib是编译vasp时需要的一些特定的数学库程序,在这两个目录中都有编译时
所用的makefile文件,针对机器和fortran编译器,选择相应的makefile。
c) 进入vasp.4.lib目录,选择makefile.linux_pg,并把它拷贝成makefile,然后键入m
ake命令开始编译。整个命令如下:
cd vasp.4.lib
cp makefile.linux_pg makefile
make
编译成功后,得到libdmy.a文件。
d) 退出vasp.4.lib目录,进入vasp.4.4目录,选择makefile.linux_pg,并把它拷贝成m
akefile,编辑makefile文件,通过修改LIB变量的赋值而采用基于ATLAS的数学库文件,
修改的地方和方法是:
在第87和88行前加上#,把这两行注释掉,然后去掉第91,92和93行前的#。
修改前和后的内容为分别为:
LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
../vasp.4.lib/lapack_double.o -L/usr/local/lib /usr/local/lib/libblas.a
#
# the following lines should allow you to link to atlas based blas
#LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
# ../vasp.4.lib/lapack_double.o -L/usr/local/lib \
# -L$(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONTB/ -lf77blas –latla
s
#LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
# ../vasp.4.lib/lapack_double.o -L/usr/local/lib
/usr/local/lib/libblas.a
#
# the following lines should allow you to link to atlas based blas
# the following lines should allow you to link to atlas based blas
LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
../vasp.4.lib/lapack_double.o -L/usr/local/lib \
-L../Linux_P4SSE2/lib/ -lf77blas -latlas
修改后保存makefile文件,键入make命令开始编译vasp。整个命令为:
cd ..
cd vasp.4.4
cp makefile.linux_pg makefile
编辑修改makefile文件
make
编译成功后,就可以得到VASP的可执行文件vasp。
e) 以root帐号登录机器,把成功编译VASP后得到的vasp放到/bin目录下,则任何一个普
通用户都可以使用vasp。此时vasp可以当成于一个linux的命令来使用了,不再需要把va
sp拷贝到当前的计算目录下。
--
╔═══════════════════╗
║★★★★★友谊第一 比赛第二★★★★★║
╚═══════════════════╝
※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 202.118.229.*]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.234毫秒