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)
页面执行时间:2.771毫秒