VASP软件简介:
VASP 是一个复杂的软件包,用于使用赝势或投影缀加波方法和平面波基组进行从头算的量子力学分子动力学(MD)模拟。VASP 所采用的方法基于(有限温度)局域密度近似,以自由能作为变分量,并在每个 MD 时间步精确评估瞬时电子基态。VASP 采用高效的矩阵对角化方法和高效的 Pulay/Broyden 电荷密度混合方法。
这些技术避免了最初的 Car-Parrinello 方法中可能出现的所有问题,该方法基于电子和离子运动方程的同时积分。离子和电子之间的相互作用由超软Vanderbilt赝势(US-PP)或投影缀加波(PAW)方法来描述。对于过渡金属和第一周期元素,US-PP(和PAW方法)可以显著减少每个原子的平面波数量。VASP可以计算力和完整的应力张量,并用于使原子弛豫至其瞬时基态。
VASP 指南是为有经验的用户编写的,不过即使是初学者阅读也会有所收获。本书主要是一本参考指南,解释了代码中实现的大多数文件和控制标志。本书还试图让读者了解 VASP 是如何工作的。不过,关于底层算法的更完整描述可以在其他地方找到。随着代码中新功能的增加,本指南也在不断完善。因此,您手中的版本有可能已经过时。用户可以不时查看在线版本的 VASP 指南,了解代码中添加的新功能。
下面简要介绍 VASP 代码的一些亮点:
VASP使用:PAW 方法或超软赝势。因此,即使对于过渡金属和第一周期元素(如 C 和 O),基组的大小也可以保持很小。一般来说,描述块体材料每个原子不需要超过 100 个平面波 (PW),在大多数情况下,甚至每个原子 50 个平面波就足以进行可靠的描述。
在任何平面波程序中,代码某些部分的执行时间都是按 N3 尺度计算的,其中 N 是系统中的价电子数。在 VASP 中,立方部分的指前因子几乎可以忽略不计,从而实现了与体系大小相关的高效缩放。这是通过在实空间中计算非局域势函数的贡献和保持正交化的数量较小来实现的。对于大约有 2000 个电子能带的体系,N3 部分与其他部分的计算量相当。因此,希望 VASP 能够适用于多达 4000 个价电子的体系。
VASP 采用相对“传统”和”老式”的自洽循环来计算电子基态。将这种方案与高效的数值方法结合起来,可以实现对Kohn-Sham泛函的自洽解的高效、稳定和快速计算。实施的迭代矩阵对角化方案(RMM-DISS和blocked Davidson),这可能是目前最快的方案之一。
VASP 包含功能齐全的对称性代码,可自动确定任意构型的对称性。
对称性代码还可用于设置Monkhorst Pack特殊点,从而高效计算块体材料和对称团簇。通过展宽(smearing)或四面体(tetrahedron)方法对布里渊区(Brillouin zone)中的能带结构能量进行积分。对于四面体方法,可以使用Blochl的修正方法,去除线性四面体方法的二次误差,从而在相同特殊点数目的情况下实现快速收敛。
VASP 在超大型处理器、矢量计算机和并行计算机上运行同样出色。目前支持以下平台:
--Pentium Duo, Intel(R) Core(TM)2, Intel(R), i-7(TM).
--Athlon64(TM) and Opteron(TM) based PC’s under LINUX. – Presently, only the Intel(R) Fortran compilers are supported.
--MPI bases parallelization, with excellent scaling on multicore machines (Nehalem(TM), Opteron(TM), Intel Core(TM)2 Quad core, INTEL i-7(TM)).
(for a performance profile of these machines have a look at the Section 3.8).
此外,我们还提供了以下平台的 makefile。由于这些机器大多数无法访问,因此通常无法提供对这些平台的支持(括号中的值表示 VASP 运行时是否存在问题:++ 没有问题,性能卓越;+ 通常没有问题;0 目前未知;- 不太可能运行):
--IBM-SP2, SP3, SP4, Blue Gene (++) --S GI Power Challenge, Origin 2000, Origin 200 (+) --Cray T3D and T3E (+) --Cray vector machines (+) --NEC vector machines (+) --Fujitsu vector machines (0) --HP (PA-RISC), and other models (0)对于这些平台,我们发布了 makefile,但如果编译失败或可执行文件在执行过程中崩溃,则无法提供帮助。
新增功能:
本节重点介绍 VASP 代码的新功能和重要功能。如果您将 VASP 升级到新版本,可能会发现本节非常有用。不过,新用户通常可以跳过本节。
1.1 VASP 4.6
VASP.4.6很稳定,升级也只是进行了微小的改进,通常只是提高解决已知的编译器问题的稳定性。
1.2 VASP 5.2.2:发布说明
我们很高兴地宣布发布维也纳模拟仿真软件包 VASP 的新版本--VASP.5.2。新版本包含许多增强程序包功能的附加功能--我们特别强调使用精确非局域交换或混合泛函进行计算,以及进行多体扰动(GW)计算的能力。下面列出了所有新功能,包括相关出版物的参考文献。
VASP5.2 的新功能
在大规模并行机上对内存的要求更低
(感谢 IBM Blue Gene团队的支持)
- 新的梯度校正泛函
- AM05 [49, 50, 51]
- PBEsol [52]
- 可使用标准 PBE POTCAR 文件应用新函数(改进的单中心处理方法)
- 对于以下变化使用有限差分法
- 离子位置
- 晶格矢量
这样就可以自动确定二阶导数,得出
原子间力常量和声子(需要超晶胞方法)
弹性常数
在计算过程中自动考虑并降低对称性。
与离子位置变化有关的线性响应
离子位置
静电场[108]
这样就可以计算二阶导数,得出
原子间力常量和声子(需要超晶胞方法)
Born有效电荷张量
静态介电张量(电子和离子贡献)
内部应变张量
压电张量(电子和离子贡献)
线性响应仅适用于局域和半局域泛函。
基于精确非局域交换和混合泛函的方法
Hartree-Fock 方法
杂化泛函,特别是 PBE0 和 HSE06 [92, 99, 100]
屏蔽互换(sX)
测试中:简单模型 GW-COHSEX(应用经验屏蔽互换原子核)
测试中:杂化泛函 B3LYP
通过对本征态求和得到的频率相关介电张量
在独立粒子近似下
在随机相近似(RPA)中,通过 GW 例程实现
可用于局域、半局域、杂化泛函、屏蔽交换相关和 Hartree-Fock方法
等离子极模型速度下的完全频率相关 GW [111, 112]
单次G0W0
在 G 和 W 中的特征值之间进行迭代,直到达到自洽[114]
测试中:通过 G中迭代本征态(以及可选W)进行自洽GW 计算
测试中:使用RPA近似计算关联能得到GW计算的总能量[119]
在LDA 中 引入G 和 W 的顶点修正(局域场效应)(仅适用于非旋极化)[114]
测试中:在W 中引入多体顶点修正(仅适用于非旋极化)
测试中:
- 通过求解Cassida 方程实现 TD-HF 和 TD-杂化泛函(仅限非自旋极化,使用Tamm-Dancoff 近似)[106]
- 在 GW 基础上使用 Bethe-Salpeter方法
(仅非自旋极化,使用 Tamm-Dancoff 近似)
对于所有标有 "测试中 "的功能,目前尚无支持。这些功能以其现状提供,预计它们是稳定的,但尚未得到广泛应用和测试。最终,这些功能可能会得到全面支持。
重要提示:本版本代码仅经过英特尔 Fortran 编译器的测试(ifc.10.X、ifc.11.X)。目前不支持其他编译器。
重要提示:新版 VASP 实现的某些功能(精确交换、杂化泛函和 GW 计算)在计算上非常耗费资源。我们建议所有有兴趣使用这些功能的 VASP 用户查阅上述出版物。
有兴趣升级许可证或获得新的 VASP.5.2 许可证的用户请联系
Doris.Vogtenhuber@univie.ac.at Dr. Doris Vogtenhuber Computational Materials Science Universitat Wien¨ Sensengasse 8/12A-1090 WIEN, AUSTRIA
1.3 VASP 5.2:手册更新
HF(第 6.71 节)、介电和光学特性及密度泛函扰动理论(第 6.72 节)以及 GW(第 6.73 节)和 MP2(第 6.76 节)手册已发布(对于一些更高级的功能手册仍在编写中)。
赝势数据库部分已经更新(支持原子核弛豫的 10 个新 PAW 势函数数据集即将发布)。新势垒不再进行实空间优化,需要用户在 vasp 中自行进行优化。(LREAL = Auto).
自 VASP.5.2 版起,VASP 支持 PAW 球内梯度修正的非球形贡献。在 VASP.4.6 版中,这些贡献只包含在总能量中。必须在 INCAR 文件中设置 LASPH = .TRUE 以选择此功能(见第 6.44 节)。
VASP.5.2 支持对称自适应有限差分方法,即 VASP 能够确定超胞中哪些原子需要位移,并进行位移操作。如果需要,它还能在位移过程中根据需要降低对称性,并确定所有原子间力常量(见第 6.22.6 节)。此外,它还支持离子位移的线性响应计算(见第 6.22.7 节)。