



弹性常数看起来像一个后处理表格,其实它对前面的结构优化非常敏感。应变幅度太大,结果会混入非线性响应;应变幅度太小,能量差又容易被数值噪声淹没;晶格和内部坐标是否弛豫,也会改变最终 Cij。弹性常数不是把结构优化完再按一次按钮,而是在小应变、弛豫边界和稳定性判据之间取平衡。
用 VASP 做弹性常数时,最先要问的不是 C11 多大,而是你算的是三维体相、二维单层、slab 还是多孔结构。不同模型的厚度定义、真空层、应变方向和力学稳定性判据都不同,直接套用同一套判断很容易出错。




应力-应变法在比较什么?
弹性常数描述的是材料在小形变下,外加应变与响应应力之间的线性关系。对三维晶体,VASP 可以通过有限应变计算应力,也可以用能量-应变曲线拟合。无论哪种方式,前提都是结构已经在零应变附近充分优化。
σi = Σ Cij εj 式(1)
式(1)里,σi 是第 i 个应力分量,εj 是第 j 个应变分量,Cij 是弹性常数矩阵元素。这个关系只在小应变线性区成立;如果应变幅度过大,拟合出来的 Cij 会混入高阶项,数值看似平滑却不再代表线性弹性。
应力-应变法的优点是直接,适合 VASP 输出应力较稳定的三维体相;能量-应变法更像从总能曲率反推弹性响应,对应变点数量和能量精度要求更高。两种方法都能用,但不要把一部分 Cij 来自应力法、另一部分来自能量法后直接拼成同一个矩阵。
图1展示了 2H-MoO₂ 单层的方向相关弹性响应。它提醒我们,弹性常数不是只服务于一个表格,最终常会转化成杨氏模量、剪切模量和泊松比的方向分布。Cij 是张量信息,杨氏模量和泊松比分布才是很多材料讨论里真正要解释的力学表现。

图1 2H-MoO₂ 单层的剪切模量、杨氏模量和泊松比分布。图中说明二维材料弹性常数最终会投影到方向相关的力学响应。DOI: 10.1021/acsomega.5c10173。
Estrain = E0 + 1/2 V0 Ceff δ2 式(2)
式(2)是能量-应变拟合的常见形式。E0 是平衡结构能量,V0 是体积,δ 是施加的小应变,Ceff 是该变形模式对应的有效弹性系数。对二维材料,是否使用三维体积、真空层厚度或换算成二维刚度,必须在结果说明中讲清楚。
图2给出弹性常数和弹性模量随压力变化的例子。外部压力会改变平衡体积和力学响应,所以弹性常数不能脱离结构状态讨论。若优化结构本身没有在目标压力或目标约束下完成,后续弹性结果就会偏离问题设定。

图2 弹性常数、弹性模量和泊松比随压力变化的计算结果。图中展示了同一材料在不同外部条件下弹性参数会系统改变。DOI: 10.1038/s41598-025-99186-3。
对催化材料来说,还要小心 slab 和多孔模型。slab 真空层会进入三维体积,如果直接用 VASP 默认体积换算三维弹性常数,数值会随真空层厚度变化。二维单层更适合报告面内二维刚度,或明确给出采用的有效厚度。只要模型含有大真空层,弹性常数的体积归一化就必须单独说明。




应变太大和太小分别错在哪?
有限应变法通常会测试多个正负应变点,比如围绕平衡结构施加一组小拉伸和压缩。应变太大时,材料已经进入非线性区;应变太小时,能量差和应力差可能接近电子收敛误差。比较稳的做法,是用几组幅度检查拟合曲线是否稳定,而不是只相信一个默认幅度。应变幅度的目标,是让信号大于数值噪声,同时仍留在线性弹性区。
内部原子是否弛豫也要分清。若研究离子弛豫后的静态弹性,应在每个应变晶胞中允许内部坐标放松;若研究夹持离子或高频极限响应,则可以固定内部坐标。两种边界得到的 Cij 不一样,不能混在同一张表里比较。
INCAR 参考示例
下面只是弹性常数任务的起点设置,正式数值需要按材料体系测试 ENCUT、KPOINTS、电子收敛和应变幅度。
/// INCAR 参考示例:弹性常数起点
IBRION = 6
ISIF = 3
POTIM = 0.015
NFREE = 2
EDIFF = 1E-7
PREC = Accurate
如果使用 VASP 内置弹性常数流程,POTIM 可理解为应变步长相关参数;若使用外部脚本枚举应变结构,则要保证每个应变点的 KPOINTS、ENCUT、POTCAR 和电子收敛完全一致。对二维材料,还要避免真空层变化被误读成真实厚度变化。
实际检查时,可以先看零应变结构的残余应力是否很大。若结构优化后仍有明显非目标应力,说明晶格或约束没有处理干净;此时继续施加小应变,拟合曲线会带着初始偏置。对于低对称体系,还要确认应变矩阵和晶轴方向没有写反,否则 Cij 的物理含义会错位。
另一个常见问题是只做拉伸点,不做压缩点。单边拟合容易把结构松弛带来的非对称响应误认为线性弹性。比较稳的做法是采用正负应变点,并检查能量-应变曲线在零应变附近是否近似对称。
图3和图4都展示了三维杨氏模量的空间分布。它们说明弹性各向异性往往比单个 C11 或 C44 更能反映结构相差异。只汇报一个最大模量或最小模量,不能替代完整弹性张量和方向依赖分析。

图3 MLiZnS₂ 系列结构的三维杨氏模量空间分布。图中可以看到弹性各向异性不是单个 C₁₁ 数值能够完全描述的。DOI: 10.1021/acsomega.5c06023。

图4 稳定 MoTe₂ 多晶型的三维杨氏模量分布。图中说明结构相、晶向和弹性张量共同决定材料的力学响应。DOI: 10.1021/acsomega.5c00226。




Born 判据为什么不能乱套?
弹性常数算出来以后,最常见的下一步是套力学稳定性判据。问题是,判据取决于晶系和维度。立方、六方、正交、单斜体系的 Born 稳定条件不同;二维材料也不能简单照搬三维体相的体积和应力定义。
C11 C22 – C122 > 0, C66 > 0 式(3)
式(3)是二维正交体系常见稳定条件的一部分,用来说明 C11、C22、C12 和 C66 之间的约束关系。它不能被随意拿去判断任意晶系;如果晶体对称性不同,必须使用对应的完整稳定条件。力学稳定性判据的第一步,是先确认晶系和弹性矩阵形式,而不是先看某个 Cij 是否为正。
还要区分力学稳定、动力学稳定和热稳定。弹性常数满足 Born 判据,只说明小均匀应变下的力学响应没有立即失稳;声子谱没有虚频才更接近动力学稳定;AIMD 结构不崩则是有限温度下的一个证据。三者互相补充,不能互相替代。
写结论时建议把边界写清楚:当前泛函、赝势、应变幅度、弛豫策略和稳定性判据是什么。若材料是二维单层,还要说明弹性常数是否按二维刚度表达,避免真空层厚度改变导致不同论文之间数值不可比。
如果某个稳定性条件刚好贴近零,比如 C66 很小或 C11 C22 – C122 只略大于零,就不要急着写“力学稳定”。这类边界结果对收敛参数、应变步长和拟合区间都敏感,最好用更严格设置复算,并结合声子谱或 AIMD 继续确认。弹性判据接近临界值时,结论应写成“需要进一步确认”,不要写成绝对稳定。




要点:弹性常数来自小应变下的应力或能量响应,不能脱离结构优化质量。
要点:应变幅度要大于数值噪声、又不能进入非线性区。
要点:内部坐标是否弛豫会改变弹性常数,必须在方法中说明。
要点:力学稳定性判据取决于晶系和维度,不能把一个公式套到所有材料。
