密度泛函理论计算软件VASP最全入门干货:四个输入文件逐行详解

🏛️ 365bet体育在线开户 ⏳ 2026-01-11 08:32:32 👤 admin 👁️ 7671 💎 436
密度泛函理论计算软件VASP最全入门干货:四个输入文件逐行详解

VASP(Vienna Ab initio Simulation Package)是一个基于 Fortran 的从头计算软件包,主要用于进行密度泛函理论(DFT)计算,以处理材料的电子结构。它采用平面波基组和赝势方法,适用于模拟固体、表面、分子和纳米结构的电子、结构和动力学性质。VASP 的主要功能包括电子结构计算、离子弛豫(结构优化)、分子动力学模拟、带结构分析以及各种高级功能如杂化泛函、GW 方法和机器学习力场。它的目的是通过量子力学原理从第一性原理模拟材料行为,帮助研究者预测材料的物理和化学性质,而无需实验数据。VASP 是材料科学、凝聚态物理和计算化学领域的标准工具之一,由维也纳大学开发,是专有软件,需要许可证。

运行 VASP 计算通常需要四个主要输入文件:INCAR、POSCAR、KPOINTS 和 POTCAR。这些文件定义了计算参数、原子结构、k 点采样和赝势。VASP 使用合理的默认值,但这些文件允许用户自定义计算。输出文件包括 OUTCAR(详细日志)、CONTCAR(更新后的结构)和 WAVECAR(波函数)等。下面详细解释每个输入文件的目的、格式以及各行(或部分)的含义和用途。

一、INCAR 文件

目的

INCAR 是 VASP 的核心输入文件,用于控制计算的算法、参数和行为。它决定了 VASP “做什么”和“如何做”,包括电子结构优化、离子弛豫、分子动力学等。如果某些参数未指定,VASP 会使用默认值。但 INCAR 是最常见的错误来源,因此需要仔细理解每个标签的含义。

格式

INCAR 是一个标签格式的自由 ASCII 文本文件。每行通常是一个语句,格式为 标签 = 值。支持多语句在一行(用分号 ; 分隔)、长行续行(用反斜杠 )、引号内换行,以及注释(用 # 或 !)。空行通常被忽略,但制表符可能引起问题。

各行/标签的含义和用途(常见示例)

INCAR 中的行是键-值对,不是固定顺序。以下是常见标签的详细解释,按类别分组。每个标签后是示例行、值范围和用途。

系统描述标签:

SYSTEM = Rhodium surface calculation 含义:系统名称或描述,为计算体系起名字。用途:仅用于标识,不影响计算。输出文件会回显此信息,便于管理多个计算。

启动和电荷初始化标签:

ISTART = 0 含义:0 表示从头开始计算;1 表示从 WAVECAR 读取轨道。用途:控制计算是否续算。默认 0,用于新任务;用于重启时设为 1 以加速收敛。2 只在计算体积-能量相关曲线的时候用到。3 在重启分子动力学计算的时候使用,同时需要WAVECAR、CHGCAR(用于储存电荷密度信息)文件。

ICHARG = 2 含义:0 代表由WAVECAR计算电荷密度信息,若没有WAVECAR文件,则默认ICHARG = 2;1 代表由CHGCAR文件读取。如果没有CHGCAR文件,则由初猜产生;2 代表由程序初猜产生;ICHARG = 3 在重启分子动力学计算时使用;11/12/13 在做非自洽计算时使用、DOS和能带计算时使用。

电子结构参数标签:

ENCUT = 300.00 含义:平面波截断能量(单位 eV)。 用途:定义波函数扩展的能量上限。通常至少等于 POTCAR 中的 ENMAX,以确保精度。过低导致不准,过高增加计算成本。

ALGO = Normal 含义:电子最小化算法(Normal、Fast、All 等)。 用途:选择优化方法。Normal 是标准 Davidson 算法;Fast 更快但可能不稳定。

NELM = 60 含义:电子最小化步数的最大值。 用途:限制每离子步的电子迭代次数。默认 60,如果未收敛可增大。

EDIFF = 1E-06 含义:电子最小化的能量收敛阈值(单位 eV)。 用途:当能量变化小于此值时停止电子循环。用于控制精度;更严格的值(如 1E-08)用于高精度计算。当EDIFF =0 时,将严格执行NELM电子自洽步骤。

ISMEAR = 0含义:展宽方法(-1 为 Fermi 展宽;0 为 Gaussian;-4/-5 为四面体方法)。 用途:处理部分占据轨道。Fermi 展宽适合金属;四面体适合半导体/绝缘体。不同的值适用于不同的体系:导体,半导体,绝缘体;( 0 (Gaussian Smearing) 可以满足大部分的体系(金属,导体,半导体,分子))

SIGMA = 0.05 含义:展宽宽度(单位 eV)。 用途:控制展宽强度。过大导致能量不准,过小可能不收敛。典型值 01-0.2。

1)金属 ISMEAR = 1 ; SIGMA = 0.1(默认0.2,也可以用0.05)2)绝缘体或半导体 ISMEAR = 0 ; SIGMA = 0.053)气体分子,原子体系计算: ISMEAR = 0 ;SIGMA = 0.01

离子弛豫/分子动力学标签:

EDIFFG = -1E-02 含义:离子弛豫的力收敛阈值(单位 eV/Å)。负值表示力阈值,正值表示能量阈值。 用途:决定何时停止结构优化。当所有力小于 |EDIFFG| 时停止。

NSW = 20 含义:离子步数。 用途:设置弛豫或 MD 的步数。0 表示只做单点能计算;>0 启用离子运动。

IBRION = 2 含义:结构优化算法(2 为共轭梯度;1 为 准牛顿法RMM-DIIS)。 用途:选择优化器。共轭梯度稳定;RMM-DIIS 更快但可能不稳。

POTIM = 0.5 含义:离子步长(单位 Å,或 MD 时 fs)。 用途:控制离子移动幅度。MD 时为时间步长。

性能优化标签:

KPAR = 4 含义:k 点并行组数。 用途:并行化 k 点计算,提高效率。

NCORE = 4 含义:每个轨道的核数。 用途:优化并行性能。

LREAL = A 含义:使用实空间投影(A 为原子级)。 用途:加速计算,但略微牺牲精度。适合大系统。

提示:VASP 在 OUTCAR 中回显 INCAR 设置,便于验证。标签不区分大小写,但值需精确。

二、POSCAR 文件

目的:

POSCAR 定义系统的原子结构,包括晶胞几何和离子位置。它是计算的起点,支持选择性动力学(固定某些原子)和初始速度(用于 MD)。格式与输出文件 CONTCAR 兼容,用于重启。

格式:

POSCAR 是固定顺序的纯文本文件。各部分按行分隔,有些可选。

各行的含义和用途(示例注解)

以下是典型 POSCAR 的行-by-行解释,使用立方 BN 示例。

第 1 行:注释示例:Cubic BN 含义:系统描述(最多 40 字符)。 用途:标识文件,不影响计算。

第 2 行:缩放因子示例:57 含义:通用缩放因子 s(或三个数分别缩放 x/y/z)。负值表示目标体积。 用途:缩放晶格矢量和笛卡尔位置。单位 Å,确保结构尺寸正确。

第 3-5 行:晶格矢量示例:0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0 含义:三个晶格矢量 的笛卡尔分量(未缩放)。 用途:定义单元胞。实际矢量 = 此 × s。用于计算倒易空间。

第 6 行:物种名称(可选)示例:B N 含义:元素符号列表。 用途:注释,必须匹配 POTCAR 顺序。不允许重复名称(在某些模式下)。

第 7 行:每个物种的离子数示例:1 1 含义:每个元素的原子数。 用途:定义总原子数和分配。顺序匹配 POTCAR。

第 8 行:选择性动力学(可选)示例:Selective dynamics 含义:启用后,每位置行添加 T/F 标志(T=允许移动,F=固定)(如0 0.0 0.0 F F F)。 用途:控制弛豫中哪些坐标可变。适用于表面或缺陷模拟。

第 9 行:位置模式示例:Direct 含义:Direct 表示分数坐标;Cartesian 表示绝对 Å。 用途:指定位置类型。Direct 适合周期系统。

后续行:离子位置(每原子一行)示例:00 0.00 0.00 0.25 0.25 0.25 含义:每个原子的 x y z 坐标(Direct: 分数;Cartesian: Å × s)。如果选择性动力学,添加 T/F。 用途:定义原子位置。顺序按物种数分配(第一行 B,第二行 N)。需至少 7 位精度以保持对称性。

可选部分:晶格速度(MD 重启)示例:从 CONTCAR 复制。 含义:晶格矢量的速度(当单元胞可变时)。 用途:仅用于 MD 续算,不手动编辑。

可选部分:离子速度示例:Direct 后每原子一行速度。 含义:初始速度(Direct: 分数/步;Cartesian: Å/fs)。 用途:初始化 MD。通常用 INCAR 的 TEBEG 热初始化。

可选部分:MD 额外数据 含义:预测-校正坐标和恒温器数据。 用途:仅用于 MD 重启,不编辑。

提示:使用工具如 VESTA 检查结构。精度高以避免对称问题。

三、KPOINTS 文件

目的:

KPOINTS 指定 Brillouin 区中的 k 点采样,用于积分电子结构。如果缺失,使用 INCAR 的 KSPACING。k 点收敛对精度至关重要。

格式

支持自动、正则网格、线模式和显式列表。固定顺序。

各行的含义和用途

不同模式下行不同。以下按模式解释。

自动模式(已弃用):

第 1 行:注释,如 Fully automatic mesh。用途:描述。

第 2 行:0。含义:自动生成。

第 3 行:Auto 或 A。含义:激活自动。

第 4 行:10。含义:长度参数 ,决定细分。用途:生成 Gamma 中心网格。建议用 KSPACING 代替。

正则 k 点网格(Gamma 或 Monkhorst-Pack,最常用):

第 1 行:注释,如 Regular k-point mesh。

第 2 行:0。含义:自动计数。

第 3 行:Gamma 或 Monkhorst。含义:网格类型(G: Gamma 中心;M: Monkhorst-Pack)。

第 4 行:4 4 4。含义:沿倒易矢量的细分 N1 N2 N3。用途:定义网格密度。选择比例匹配倒易矢量长度。

第 5 行(可选):0 0 0。含义:移位 s1 s2 s3。用途:调整网格位置,避免对称问题。

线模式(带结构):

第 1 行:注释,如 k points along high symmetry lines。

第 2 行:40。含义:每段点数。用途:决定分辨率。

第 3 行:line mode 或 L。含义:激活线模式。

第 4 行:fractional 或 Cartesian。含义:坐标系。

后续成对行:如 0 0 0 Γ 和 5 0.5 0 X。含义:路径端点和标签。用途:生成高对称路径上的 k 点。用于后处理(ICHARG=11)。

显式列表模式:

第 1 行:注释。

第 2 行:4。含义:k 点数。

第 3 行:Cartesian。含义:坐标系。

后续行:0 0.0 0.0 1。含义:x y z 和权重。用途:自定义 k 点,适用于特殊情况如四面体方法扩展。

提示:对称性会减少 k 点(ISYM>0)。Gamma 适合某些晶格以保持对称。

四、POTCAR 文件

目的

POTCAR 包含每个元素的赝势数据,用于描述原子核-电子相互作用。它由单个元素 POTCAR 拼接而成,必须与 POSCAR 顺序匹配。

格式

纯文本,由头信息和表格数据组成。不编辑。

各部分/行的含义和用途

POTCAR 是拼接的,通常不按行手动创建。但理解其内容:

头信息标签:

TITEL = PAW_PBE Ti_pv 07Sep2000 含义:赝势标题,包括类型(PAW)、泛函(PBE)、元素和日期。 用途:标识赝势。

LEXCH = PE 含义:交换-相关泛函。 用途:读入但不控制计算(用 INCAR 覆盖)。

ZVAL = 4 含义:价电子数。 用途:计算总电子数。

POMASS = 47.867 含义:原子质量(原子单位)。 用途:MD 时用于动力学;可调整轻元素。

ENMAX = 400 和 ENMIN = 300 含义:默认截断能量。 用途:建议 ENCUT 值;VASP 用最大值。

EAUG = 600 含义:增强电荷截断。 用途:内部计算。

原子配置块:如量子数 n, l, j、能量和占据。 含义:参考状态定义。 用途:设置赝势参考。

表格数据块:赝势的数值表。用途:核心计算数据。

结束:End of Dataset。

生成方式:cat POTCAR_Al POTCAR_C > POTCAR。重要性:确保计算准确性和可重复性。

相关掠夺

365bet体育在线开户
圆圆的月亮像什么的比喻句

圆圆的月亮像什么的比喻句

🗓️ 07-10 👁️ 4667
365bet体育在线开户
食物语膳具怎么刷比较好(膳具刷取技巧2024)

食物语膳具怎么刷比较好(膳具刷取技巧2024)

🗓️ 09-21 👁️ 4861
365bet在线体育投注网
凯尔·库兹马

凯尔·库兹马

🗓️ 07-02 👁️ 5908