层错构型(Stacking Fault)
Group: Defect | Class: StackingFaultCard
功能说明
沿指定 Miller 晶面做相对滑移,生成不同位移量的层错结构。选定 hkl 晶面后,从指定层开始将上层原子整体平移,扫描位移步长覆盖堆垛错配路径。
操作示例
场景:模型在层错能曲线上完全失真
你在 fcc Cu 上训练了一个 NEP 模型,体相弹性能和力都很好。然后你尝试算 (111) 面的广义层错能(GSFE)曲线——模型预测的层错能是 DFT 参考值的 3 倍,曲线形状也不对。
诊断思路: GSFE 曲线是体系在不同滑移位移下的能量响应。训练集里所有结构都是完美晶体,没有任何原子层之间发生了相对位移的构型。模型对”层间滑移”这个自由度的能量函数完全靠外推。需要沿目标滑移方向生成一组已知位移量的层错结构。
输入: 一个 fcc Cu 的超胞,c 轴已沿 [111] 方向
目标: 沿 (111) 面,从 0 到 1.0 的位移范围,步长 0.1,生成 11 个层错构型
参数设置:
h k l=[1, 1, 1]Step=[0.0, 1.0, 0.1](单位 Å,沿面内滑移方向)Layers=[3]
输出: 11 个结构(位移 0.0, 0.1, 0.2, …, 1.0),上层原子相对下层整体平移指定距离,带 SF(hkl=111,d=...) 标签
怎么验证训练集质量改善:
重训后重新计算 GSFE 曲线,形状和峰值应接近 DFT 参考
检查位移量最大的构型是否还保持合理键长(不会严重重叠)
如果只有一条滑移方向不够,换
hkl= 110 或 100 覆盖不同滑移系统步长太长可能漏掉能量鞍点——GSFE 场景建议步长 ≤ 0.05
什么时候加这张卡、什么时候不加
加:
模型对层错能、堆垛缺陷、滑移路径预测差
研究塑性、位错、相变相关的力学性质
训练集只有完美晶格,缺少层间位移自由度样本
不加:
体系不关心塑性/位错,只做弹性或振动性质
体系不是层状或晶体结构(如非晶、分子液体)
参数说明
HKL(hkl)
Sequence[int],默认 (1, 1, 1)。Miller 指数,定义你要切哪个晶面做滑移。
低指数面(111, 110, 100)是最常见的滑移系统,你应该先从这几个试起。中指数(222, 311)对应次密排面,高指数(333+)是更高阶滑移系统——先用低指数验证通了再往上走。
Step(step)
Sequence[float],默认 (0.0, 1.0, 0.5)。[起始, 结束, 步长],单位 A。沿 hkl 面内滑移方向平移上层原子,分层方向由 hkl 法向决定。
步长越小、范围越宽,输出的层错构型越多。保守用 [0.0, 0.3, 0.1] 出 4 个点;平衡用 [0.0, 0.6, 0.1] 出 7 个点;如果你要扫完整 GSFE 曲线,用 [0.0, 1.0, 0.05] 出 21 个点。
Layers(layers)
int,默认 1。从第几层开始做相对位移。
单层滑移(1)覆盖绝大多数需求;多层滑移(2-5)适合研究厚 slab 中间层的错排行为。
推荐预设
快速验证((111) 面,粗步长 0.1,4 个点)
{
"class": "StackingFaultCard",
"check_state": true,
"hkl": [1, 1, 1],
"step": [0.0, 0.3, 0.1],
"layers": [1]
}
常规 GSFE 曲线((111) 面,步长 0.05,13 个点)
{
"class": "StackingFaultCard",
"check_state": true,
"hkl": [1, 1, 1],
"step": [0.0, 0.6, 0.05],
"layers": [1]
}
全位移路径覆盖((111) 面,步长 0.1,11 个点)
{
"class": "StackingFaultCard",
"check_state": true,
"hkl": [1, 1, 1],
"step": [0.0, 1.0, 0.1],
"layers": [2]
}
推荐组合
Stacking Fault→Atomic Perturb:层错 + 局域坐标噪声,同时覆盖缺陷和热扰动Super Cell→Stacking Fault:先扩胞,再在足够大的胞里做层错多条不同 hkl 的 Stacking Fault 卡并联:覆盖不同滑移系统
常见问题
输出只有一个结构。 步长 ≤ 0 或 step 的 start == end 时只产生一个结构。
位移后原子严重重叠。 小步长(如 0.05)通常不会。大步长(如 0.5+)在密集晶面可能产生重叠,抽查最近邻距离。
层错面不是我想要的。 确认 hkl 定义的面法向是否与你的预期滑移面一致。
输出标签
SF(hkl={h}{k}{l},d={位移量})
可复现性
无随机性。同参数同输入 → 严格一致输出。