3. 晶体结构与倒空间工程化建模

DFT能带与态密度计算的可靠性,首先取决于晶体结构模型与倒空间采样是否被正确工程化。结构文件中的晶格参数、原子坐标、对称性设置,以及后续布里渊区路径和k点网格,共同决定了计算能否复现实验趋势、能否给出收敛的总能与可比较的能带。本节围绕“结构—倒空间—k点收敛”这条主线,说明实际建模中应如何组织输入、如何生成高对称路径,以及如何用系统化测试确定k点网格。

一、晶格参数与原子坐标:结构建模的起点

晶体结构建模的第一步是确定晶格类型与晶格常数。以纤锌矿ZnO为例,其六方晶系常用晶格参数为a=b=3.25 Å、c=5.21 Å,α=β=90°、γ=120°。在VASP的POSCAR中,需要先给出缩放因子,再给出三个晶格矢量,最后给出原子种类、数量与分数坐标。分数坐标与笛卡尔坐标的转换关系为r = x·a₁ + y·a₂ + z·a₃,其中a₁、a₂、a₃为晶格矢量。若使用分数坐标,原子在晶胞中的位置不随晶格常数缩放而改变,便于后续做体积弛豫或应变扫描。

原子坐标的准确性直接影响内坐标与对称性判断。例如ZnO纤锌矿结构中,Zn位于(1/3, 2/3, 0)和(2/3, 1/3, 1/2),O位于(1/3, 2/3, u)和(2/3, 1/3, 1/2+u),其中u≈0.375。若u值给错,Zn-O键长和内部自由参数都会偏离,导致带隙和态密度峰位出现系统性误差。因此,建模时应优先采用实验或已有结构优化得到的晶格参数与内坐标,并在计算前用对称性分析工具检查空间群是否为P6₃mc。

结构文件中的晶格常数、原子坐标和对称性设置必须一致。若后续要做能带计算,建议先完成一次结构弛豫,再用弛豫后的CONTCAR作为静态计算和能带计算的起点。

二、布里渊区与高对称路径生成

倒空间工程化的核心是布里渊区(BZ)与高对称路径。BZ是倒格子的维格纳-赛茨原胞,高对称点位于BZ的顶点、棱心和面心。不同晶系的高对称点命名不同:面心立方常用Γ、X、W、K、L、U,六方常用Γ、M、K、A、L、H。能带计算不能只取一个k点,而应沿高对称点之间的路径采样,才能把色散关系完整呈现出来。

以六方ZnO为例,常用路径为Γ→M→K→Γ→A→L→H→A。该路径覆盖了面内与面外方向,能够同时反映价带顶和导带底附近的色散。生成路径时,应使用与结构一致的晶格类型和空间群,避免把六方结构误设为立方路径。实际流程中,可先用SeeK-path或Materials Project的BZ路径工具生成KPOINTS文件,再检查路径是否闭合、点间分段是否合理。若路径过长,可适当减少每段点数,但必须保证高对称点本身被包含。

晶体结构 → 倒空间 → k点收敛:工程化建模链路 晶体结构输入 晶格类型:六方 P6₃mc a=b=3.25 Å, c=5.21 Å 原子坐标(分数) Zn(1/3,2/3,0) O(1/3,2/3,0.375) 对称性检查 空间群、键长、内坐标 u 结构弛豫 ISIF=3, 力收敛 0.01 eV/Å 输出 CONTCAR 作为后续计算结构 倒空间与高对称路径 布里渊区:六方 BZ 高对称点 Γ, M, K, A, L, H 路径生成 Γ→M→K→Γ→A→L→H→A KPOINTS 文件 Line mode,每段 20–40 点 常见错误 路径与晶系不匹配、点缺失 输出能带图 E(k) 色散关系 k点网格收敛性测试 测试序列 3×3×2 → 5×5×3 → 7×7×4 → 9×9×6 观察量 总能量、费米能、带隙 收敛判据 ΔE < 1 meV/atom 确定生产网格 如 9×9×6 或更密 态密度计算 更密网格 + 展宽方法 结构一致性 → 路径正确性 → k点收敛性:三者缺一不可,任何一步偏差都会传递到能带与态密度结果

三、k点网格收敛性测试方法

k点网格是倒空间积分的离散化方式。对于三维体材料,常用Monkhorst-Pack网格,如9×9×6;对于二维材料,面内网格应足够密,而垂直方向通常取1。收敛性测试的目标是找到“再加密网格后总能量、费米能或带隙变化小于设定阈值”的最小网格。工程上常用判据为:总能量变化小于1 meV/atom,或带隙变化小于0.01 eV。

具体测试可按以下流程执行。首先固定截断能、泛函和结构,只改变k点网格。以ZnO为例,可依次测试3×3×2、5×5×3、7×7×4、9×9×6、11×11×7。每次计算后记录总能量、费米能和带隙。若从7×7×4到9×9×6的总能量变化已小于1 meV/atom,且带隙变化小于0.01 eV,则可认为9×9×6已收敛。若未达到,则继续加密到11×11×7。注意,金属体系对k点更敏感,可能需要更密网格和展宽方法;半导体和绝缘体通常收敛更快。

# 示例:ZnO k点收敛测试记录表(示例数据,非实测)
# 网格       总能量(eV)     费米能(eV)    带隙(eV)
3×3×2      -28.4132        -1.842        0.82
5×5×3      -28.4276        -1.856        0.91
7×7×4      -28.4318        -1.861        0.94
9×9×6      -28.4325        -1.862        0.95
11×11×7    -28.4327        -1.862        0.95
# 判据:从7×7×4到9×9×6,ΔE=0.0007 eV/atom < 1 meV/atom,带隙变化0.01 eV,认为9×9×6收敛。

需要强调的是,k点收敛测试必须与截断能收敛测试分开进行。若同时改变截断能和k点网格,就无法判断误差来源。推荐先固定一个较高的截断能(如500 eV),完成k点收敛;再固定收敛后的k点网格,测试截断能。这样得到的参数组合才具有可复现性。

能带计算与态密度计算的k点策略不同:能带计算使用高对称路径的Line mode,态密度计算使用Monkhorst-Pack网格。两者不能混用同一个KPOINTS文件。态密度通常需要比自洽计算更密的网格,并可配合ISMEAR=-5或四面体方法提高精度。

四、工程化建模的检查清单

在实际项目中,建议把结构、倒空间和k点收敛作为三个独立检查点。结构检查包括晶格常数、原子坐标、空间群和键长;倒空间检查包括BZ类型、高对称点命名和路径连续性;k点检查包括测试序列、收敛判据和最终网格。只有三者都通过,后续的能带与态密度结果才具备可比性和可复现性。

检查项 关键内容 常见问题
晶格参数 a、b、c、α、β、γ与晶系一致 六方误用立方参数
原子坐标 分数坐标、内坐标u、占位正确 u值偏差导致带隙错误
布里渊区路径 Γ→M→K→Γ→A→L→H→A 路径不闭合或点缺失
k点网格 9×9×6或更密,ΔE<1 meV/atom 网格过疏导致能量不收敛

综上,晶体结构与倒空间工程化建模不是简单的文件填写,而是从晶格参数、原子坐标到布里渊区路径和k点网格的系统性校准过程。只有把结构一致性、路径正确性和k点收敛性同时控制住,后续的能带色散和态密度峰位才具有物理意义,也才能与实验或其他计算结果进行可靠比较。