材料模拟计算软件VASP

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序的主要功能如下: 以平面波为基础的自洽赝势积分; 超软赝势; 实现全电子投影增强波(PAW)方法,覆盖 了周期表中的所有元素; 局 域 密 度 近 似 ( L D A ) 和 广 义 梯 度 近 似 (GGA); 自旋限制和自旋极化; 半相对论性和完全自旋轨道相对论性; 非共线磁力; 关联体系的LDA (GGA)+U计算; 块状体系、表面、界面和分子(超单元结 构); 总能量,力场和完全的压力张量; 格参数和原子位置的同时松弛; 从头计算性的分子动力学; 产生Monkhorst-Pack特殊K点; 在K空间中和拖尾效应(smearing)或四面 体方法(具有Blöchl校正)结合;
1. 背景介绍
VASP(Vienna Ab-initio Simulation Package )是使用 赝势和平面波基组,进行从头量子力学分子动力学 计算的软件包。直接购买的费用大约4万人民币。
VASP的原型是Mike Payne在MIT开发的程序包。 这个程序包产生了两个分支,一个是VASP,一个 是CASTEP。当VASP开始发展的时候,CASTEP这个 名字还没有产生。1989年,Juergen Hafner把VASP的 原型代码从剑桥带回了维也纳,但VASP的真正开 发是在1991年开始的。这个时候,CASTEP实际上 已经进一步发展了很多,但是VASP是基于1989年版 的CASTEP开发的,这个版本的CASTEP只支持局域 赝势和Car-Parrinello型的急速下降算法。1995年, VASP的名字被确定下来,并且成为一个稳定而通用 的从头计算工具。1996年,VASP的FORTRAN 90语 言版本出现,并且开始进行MPI并行化。但是,开 始进行并行化工作的人,J.M. Holender,“抄袭”了 CASTEP的通讯内核,从而引起了CASTEP和VASP的 纠纷。1997年1月,VASP的并行化在英国完成。 1998年,VASP的通讯内核被完全重写,以去除 CASTEP的部分,这导致了VASP对T3D/T3E通讯不再 特别有效率。1999年,投影增强波(PAW)方法被 采用。目前,维也纳大学(University of Vienna)Prof. Dr. Juergen Hafner 和 Prof. Dipl.Ing. Dr. Georg Kresse 研 究组以及德国的Friedrich-Schiller-University的Jürgen Furthmüller研究组共同开发并发展VASP。它是用赝 势平面波方法进行分子动力学模拟的软件包。与同 类的软件相比,它比较早的实现了超软赝势,计算 量相对于一般的模守恒赝势方法大为减少。VASP加 入了对PAW方法的支持,这使得VASP的应用更为广 泛。
b. POTCAR 用于包含VASP计算中使用的赝势。 c. KPOINTS 用于包含 k 点坐标和权重或者用 于创建k点网格的网格尺寸。一般来说,k点越密越 多,计算精度也越高,当然计算成本也越高。对于 k点的需求,金属>半导体>绝缘体,不过,很多时候 主要还是受硬件限制。 d. POSCAR 用于包含晶格几何坐标和离子的位 置。 具体各个参数的说明可以查看VASP使用手册。
5. 总结
VASP广泛使用于材料模拟研究领域,它的代码 使用FORTRAN编写,具有良好的可读性,同时很方 便地进行代码的修改以及与其他代码相结合使用。 它的主要特点在于基组小适于第一行元素和过渡金 属,对于大体系(<4000 价电子)计算快,支持断点 续算功能,但不能计算体系的动力学过程。
59
参考文献: [1] http://cms.mpi.univie.ac.at/vasp/ [2] 《上海超级计算中心科学计算软件集成应用环境》 上海超级计算中心 (2006.7)
4.2 建立作业提交脚本
科学计算应用软件系列介绍
上海超级计算中心的曙光4000A使用的是 PLATFORM公司的LSF作业调度系统,因此需要建立 一个LSF脚本文件来递交作业。递交的作业脚本例如 下:
APP_NAME=”debug” NP=4 NP_PER_NODE=4 RUN=”./vasp” 输出文件主要在OUTCAR中。假定此脚本文件名 为vasp.lsf, 用户可以自行取名。 第一行表示要运行的作业的队列为debug队列; 第二行表示需要的CPU数目;第三行表示每个节点运 行4个CPU;第四行是VASP的可执行程序运行命令。 建立好作业提交脚本后(此处为vasp.lsf),使用 bsub vasp.lsf命令进行提交.
插入# a. 用 # 注 释 第 5 9 和 第 6 1 行 的 F C = p g f 9 0和
FCL=$(FC),因为这两个变量在下面还会被定义;
b. 用#注释第91行的CPP的定义,这个变量下 面还会被定义;
c. 修 改 第 1 0 2 行 的 F F L A G S 的 定 义 , 原 来为 FFLAGS = -Mfree -Mx,119,0x200000,改成FFLAGS = -Mfree
科学计算应用软件系列介绍
57
材料模拟计算软件VASP
张 挺 上海超级计算中心 上海 201203 tzhang@ssc.net.cn
摘要: VASP的全称是“维也纳从头计算模拟包”。本文对VASP的发展背景和程序使用方法做了
初步介绍,描述VASP在上海超级计算中心曙光4000A上的移植过程,以及在曙光4000A上的使 用方法。
3.3 软件的安装编译 3.3.1 拷 贝 v a s p . z i p 到 自 己 的 安 装 目 录 , 解 压 文
件: unzip vasp.zip 3.3.2 进入源文件目录: cd vasp/vasp46/source 3.3.3 选择相应的Makefile,因为我们用的是PGI
编译器和LINUX,所以选择makefile.linux_pg: cp makefile.linux_pg Makefile 3.3.4 编辑Makefile: vi Makefile 3.3.5 修改Makefile: 下文中所谓的用#注释该行是指在该行的行首
d. 修 改 第 1 1 1 行 的 O F L A G 的 定 义 , 原 来为 OFLAG = -O2 -tp p6,改成OFLAG = -O2 -tp k8- 64,其中k8-64是针对Opteron的编译优化选项;
e. 修改第129和130行的关于ATLASHOME和 BLAS的定义:
3.2 上海超级计算中心曙光4000A软硬件环境 硬件环境:曙光4000A集群系统,每节点四路
Opteron 850 CPU、8G内存,Myrinet2000互联计算网 络
操作系统:Turbo Linux 8.0 编译器: PGI 6.0.8 数学库: ACML 3.0.0, ScaLAPACK 1.7, BLACS 1.1 通讯库: MPICH 1.2.6+GM2.1.2
2. 软件功能
VASP中的方法基于有限温度下的局域密度近 似(用自由能作为变量)以及对每一分子动力学步 骤用有效矩阵对角方案和有效Pulay混合求解瞬时电 子基态。这些技术可以避免原始的Car-Parrinello方 法存在的一切问题,而后者是基于电子、离子运动 方程同时积分的方法。离子和电子的相互作用超缓 (Vanderbilt)赝势(US-PP)和投影扩充波(PAW)方法两种 技术都可以相当程度地减少过渡金属或第一行元素 的每个原子所必需的平面波数量。力与张量可以用 VASP很容易地计算,用于把原子衰减到其瞬时基态 中。
可直接注释掉,将BLAS改成自己需要的数学 库,例如
BLAS=  ̄/lib/libacml3-0-0_pgi64.a f. 修改第142行关于LAPACK的定义,如果使 用了acml库,这行可注释掉,否则,用类似BLAS定 义的办法给出LAPACK的定义 g. 注释掉第150行关于LIB的定义;注释掉第 167行关于FFT3D;这些下面还会再定义 h. 去 掉 第 2 0 7 行 和 第 2 0 8 行 的 注 释 ,将 FC=mpif77改成FC=mpif90 i. 去 掉 第 2 1 7 行 和 第 2 1 8 行 的 注 释 , 将- DCACHE_SIZE=2000改成-DCACHE_SIZE=10000 j. 修改第225行的BLACS的定义,比如改成 BLACS= ̄/lib/blacsF77init_MPI-LINUX-0.a  ̄/lib/blacs_ MPI-LINUX-0.a  ̄/lib/blacsF77init_MPI-LINUX-0.a k. 注释掉第226行和第228行SCA_和SCA的定 义,在第231行SCA=处给出scalapack的定义,比 如:SCA= ̄/lib/libscalapack.a l. 去掉第237、238、239行的注释,将LIB的定 义改成LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_ double.o $(SCA) $(BLACS) $(BLAS) m. 去掉第243行FFT3D定义处的注释 3.3.6 编译库文件: cd ../ vasp.4.lib rm -f *.o make -f makefile.linux_pg 3.3.7 编译VASP cd ../source make 生成的可执行文件vasp位于source目录下。
3.1 安装的软硬件要求 硬件要求:支持超标量计算机、矢量计算机、
并 行 计 算 机 ; P I I 、 P I I I 、 P I V 和 A t h l o n 芯 片 的 P C LINUX也被支持
操作系统:LINUX 通讯库:MPI 编译器:PGI或INTEL的FORTRAN 90编译器 数学库:blas,atlas,ScaLAPACK,BLACS
Biblioteka Baidu
58
《高性能计算发展与应用》 2008年第一期 总第二十二期
带结构(自旋限制和自旋极化) 位点、自旋和态的部分波投影密度; 费米水平的部分态密度; 电荷密度和自旋密度; 轨道和轨道密度。
3. 移植和安装
VASP 的源代码可以联系 Prof. Jürgen Hafner (Juergen.Hafner@univie.ac.at)获得最新的VASP。下 文给出VASP4.6.26版的源代码在上海超级计算中心曙 光4000A集群上的安装过程。
4. 使用方法
使用VASP进行计算,用户需要准备输入文件才 可以进行计算。
4.1 建立输入文件 VASP的输入文件主要有四个,分别为KPOINTS、
POSCAR、POTCAR和INCAR。还有一个控制在程序 运行过程中是否停止的输入文件STOPCAR,这个文 件不是必要的。
a. INCAR VASP的主要输入文件,用于告诉 VASP做什么和怎么做。INCAR里命令的输入没有 先后顺序,包含了大量参数,当然很多参数有默认 值,有些关键字之间是相关的,如PREC和ENCUT、 ENMIN等,设置不小心的话关键字的数值之间可能 产生冲突,运行的时候会产生一些很奇怪的报错信 息。此外,如果在win下写文件,然后导入 linux下有 时也会产生一些奇怪的错误。所以建议大家尽量在 linux下书写输入文件。
相关文档
最新文档