2. 晶体结构基础与VASP结构文件

在VASP中,所有周期性晶体计算的起点都是一个结构文件。它告诉程序:晶胞长什么样、原子在哪里、哪些原子要参与计算。理解晶格、分数坐标、对称性与空间群,以及POSCAR/CONTCAR的格式规则,是后续建模、扩胞、缺陷构造和选择性动力学计算的基础。

晶格与分数坐标:结构的两个核心要素

晶体结构由两部分描述:晶格决定周期性重复的几何框架,基元决定每个格点上的原子种类与位置。VASP采用三维周期性边界条件,晶格用三个晶格矢量 a₁、a₂、a₃ 表示,写成3×3矩阵。矩阵的每一行对应一个晶格矢量在笛卡尔坐标系下的分量,单位通常为Å。

原子位置使用分数坐标(也称直接坐标)表示,即相对于晶格矢量的比例系数。若某原子的分数坐标为 (u, v, w),其笛卡尔坐标由 r = u·a₁ + v·a₂ + w·a₃ 给出。分数坐标的好处是:扩胞、改变晶格常数或施加应变时,原子相对位置保持不变,无需重新换算。分数坐标通常取0到1之间,超出范围可通过平移周期性等价归位。

判断坐标类型:POSCAR中若某行只有三个数且数值多在0~1之间,通常是分数坐标;若数值较大且与晶格常数同量级,则可能是笛卡尔坐标。VASP通过该行首字符是否为 D 或 C 来区分,缺省为分数坐标。

对称性与空间群:为什么它们影响计算

晶体的对称性由一系列对称操作描述,包括旋转、镜面、反演、平移以及它们的组合(螺旋轴、滑移面)。所有对称操作的集合构成空间群,共有230种。空间群符号如 Fm-3m、P6₃/mmc、Pnma,其中第一个字母表示布拉维格子类型(P简单、F面心、I体心、C底心等),后续符号描述各方向上的对称元素。

对称性对VASP计算有直接影响。开启 ISYM=2(默认)时,VASP会利用空间群对称性约化k点、加速电荷密度对称化,并减少需要计算的本征值数量。但若结构存在磁性、缺陷或表面重构,对称性可能被破坏,此时需要降低 ISYM 或使用 ISYM=0 关闭对称性。此外,ISIF=3 做全弛豫时,对称性约束会限制晶胞形变方向,必须确认空间群设置与物理预期一致。

POSCAR/CONTCAR格式详解

POSCAR是输入结构文件,CONTCAR是VASP弛豫后输出的结构文件,两者格式相同。一个典型POSCAR包含以下部分:

TiO2 rutile
1.0
4.5937 0.0000 0.0000
0.0000 4.5937 0.0000
0.0000 0.0000 2.9587
Ti O
2 4
Direct
0.000000000 0.000000000 0.000000000
0.500000000 0.500000000 0.500000000
0.304700000 0.304700000 0.000000000
0.695300000 0.695300000 0.000000000
0.804700000 0.804700000 0.500000000
0.195300000 0.195300000 0.500000000

逐行说明:第一行是注释,可任意填写;第二行是统一缩放因子,若为负数则表示目标体积;第3~5行是三个晶格矢量;第6行是元素符号,顺序必须与第7行的原子数一一对应;第7行是各元素原子数;第8行是坐标类型,Direct 表示分数坐标,Cartesian 表示笛卡尔坐标;之后每行是一个原子的三个坐标。若使用选择性动力学,第8行后还会多一行 Selective dynamics,每个原子坐标后跟三个 T 或 F 标记,分别表示该方向是否允许弛豫。

元素排序与选择性动力学标记

元素排序必须与原子数行严格对应。例如 Ti O 对应 2 4,则前2个原子是Ti,后4个原子是O。若顺序写反,VASP会按错误元素分配势函数,导致能量和力完全错误。CONTCAR中元素顺序与POSCAR一致,但原子坐标会更新为弛豫后的位置。

选择性动力学通过 Selective dynamics 行和每个原子后的 T/F 标记实现。例如在表面吸附计算中,常固定底部两层原子,只让表面原子和吸附物弛豫:

Selective dynamics
Direct
0.000000000 0.000000000 0.000000000 F F F
0.500000000 0.500000000 0.500000000 F F F
0.304700000 0.304700000 0.000000000 T T T
...

三个标记分别对应分数坐标的三个方向。注意:T/F 约束的是分数坐标方向,而非笛卡尔方向。对于非正交晶胞,分数坐标方向与笛卡尔方向不一致,固定某一分数坐标方向并不等于固定某个笛卡尔方向。若需要固定笛卡尔方向,应改用 Cartesian 坐标并配合约束,或通过 ICONST 等更精细的方式处理。

POSCAR 文件结构与数据流 POSCAR / CONTCAR 文件 第1行:注释(任意文本) 第2行:统一缩放因子 第3~5行:晶格矢量 a₁ a₂ a₃ 每行3个分量,单位Å 决定晶胞形状与体积 第6行:元素符号(如 Ti O) 第7行:各元素原子数(如 2 4) 第8行:Direct / Cartesian 可选:Selective dynamics 原子坐标 + T/F 标记 VASP读取 VASP 内部处理 晶格矩阵 → 倒格矢、k点网格 对称性约化(ISYM) 分数坐标 → 笛卡尔坐标 r = u·a₁ + v·a₂ + w·a₃ 元素排序 → 势函数分配 POTCAR 顺序必须匹配 T/F 标记 → 约束矩阵 控制原子是否弛豫 输出:CONTCAR(更新坐标) 蓝:文件结构 | 绿:处理逻辑 | 红:约束控制

实操要点与常见错误

构建POSCAR时,建议先用Materials Project、ICSD或VESTA获取标准结构,再手动核对元素顺序和原子数。常见错误包括:元素符号与原子数不匹配、坐标类型行拼写错误、选择性动力学标记数量与原子数不一致、CONTCAR直接覆盖POSCAR导致原始结构丢失。每次修改结构后,可用 vaspkit 或 pymatgen 快速检查晶格参数和原子间距是否合理。

对于含磁性元素的体系,还需在POSCAR中通过 MAGMOM 标签(写在INCAR中)指定初始磁矩,并确认空间群是否允许自旋极化。若结构来自CONTCAR,注意其坐标已弛豫,直接用于后续计算前应确认是否满足新的对称性要求。

结构文件是VASP计算的“输入契约”:晶格定义周期框架,分数坐标定义原子位置,元素排序定义势函数映射,T/F标记定义自由度。四者一致,计算才能正确启动。