层错构型(Stacking Fault)
Group: Defect
Class: StackingFaultCard
Source: src/NepTrainKit/ui/views/_card/stacking_fault_card.py
功能说明
沿指定晶面与滑移步长生成层错样本(stacking fault),补充位错相关局域构型。
它最适合的场景是:沿特定滑移面构造层错,补充位移错配附近的结构样本。如果你更关心完整工作流而不是单个参数,请先看下面的“操作示例”。
操作示例
场景:沿特定滑移面构造层错,补充位移错配附近的结构样本
输入: 一个适合沿某个 hkl 面滑移的超胞结构
目标: 系统扫描层错位移,而不是靠随机扰动碰运气得到错层构型
参数设置:
hkl先选滑移面layers控制从哪一层开始做相对位移step先用细步长扫过位移路径
输出: 一批层间发生相对滑移的结构,适合层错能面或缺陷训练
怎么验证结果合理:
检查位移方向与目标滑移面一致
确认层错不是整体刚性平移
若结构重叠严重,先减小位移步长
适用场景与不适用场景
数据症状 (Dataset symptom): 层错能或滑移路径预测误差大。
目标任务 (Target objective): 覆盖层错与滑移位移通道。
建议添加条件 (Add-it trigger): 缺陷力学/塑性相关任务。
不建议添加条件 (Avoid trigger): 与位错缺陷无关任务。
物理提示 (Physics caution): 重点检查缺陷附近的局部配位和是否形成孤立原子或明显断裂。
输入前提
先选低指数
hkl平面验证。先小
step试跑再扩展。
参数说明(完整)
hkl (h k l)
UI Label:
h k l字段映射 (Field mapping): 序列化键
hkl<-> 界面标签h k l。控件标签 (Caption):
h k l。控件解释 (Widget): 区间输入
SpinBoxUnitInputFrame(min/max/step三输入框)。类型/范围 (Type/Range): list[3], integers
默认值 (Default):
[1, 1, 1]含义 (Meaning): Miller 指数 (hkl plane)。
对输出规模/物理性的影响: 定义层错/滑移操作的晶面。
物理直觉 / 典型值: 先从小范围试跑并抽查输出,再决定是否扩大范围;范围越宽,覆盖越广,但极端构型风险也越高。
推荐范围 (Recommended range):
保守:低指数(1-2)
平衡:中指数(2-4)
探索:高指数(4-6)
step (Step)
UI Label:
Step字段映射 (Field mapping): 序列化键
step<-> 界面标签Step。控件标签 (Caption):
Step。控件解释 (Widget): 区间输入
SpinBoxUnitInputFrame(min/max/step三输入框)。类型/范围 (Type/Range): list[3], displacement
[start,end,step]默认值 (Default):
[0.0, 1.0, 0.5]含义 (Meaning): 步长区间 (step range)。
对输出规模/物理性的影响: 主控扫描位移幅度与分辨率。
物理直觉 / 典型值: 它通常是控制变化幅度的主旋钮;先从能看清趋势的小幅度起步,再决定是否扩到探索档。
推荐范围 (Recommended range):
保守:0 到 1,step 0.5
平衡:0 到 1,step 0.25
探索:0 到 1,step 1
layers (Layers)
UI Label:
Layers字段映射 (Field mapping): 序列化键
layers<-> 界面标签Layers。控件标签 (Caption):
Layers。控件解释 (Widget): 数值输入
SpinBoxUnitInputFrame。类型/范围 (Type/Range): int(单值输入)
默认值 (Default):
[1]含义 (Meaning): 层参数 (layer index/count)。
对输出规模/物理性的影响: 控制操作层位或层数覆盖。
物理直觉 / 典型值: 这类参数主要控制方向、分层或周期;先用最容易人工检查的简单方向和短范围做验证。
推荐范围 (Recommended range):
保守:1-1
平衡:1-2
探索:2-5
推荐预设(可直接复制 JSON)
保守(Safe)
{
"class": "StackingFaultCard",
"check_state": true,
"hkl": [
1,
1,
1
],
"step": [
0.0,
0.3,
0.1
],
"layers": [
1
]
}
平衡(Balanced)
{
"class": "StackingFaultCard",
"check_state": true,
"hkl": [
1,
1,
1
],
"step": [
0.0,
0.6,
0.2
],
"layers": [
1
]
}
激进/探索(Aggressive/Exploration)
{
"class": "StackingFaultCard",
"check_state": true,
"hkl": [
1,
1,
1
],
"step": [
0.0,
1.0,
0.25
],
"layers": [
2
]
}
推荐组合
Stacking Fault -> Atomic Perturb: 在层错构型周围补充局部扰动。
缺陷强度上升前,通常先用
Super Cell扩大母胞,避免小胞里缺陷相互作用过强。缺陷生成后建议抽查最短键长、局部配位和是否出现明显断裂。
常见问题与排查
输出为空或结构数明显偏少时,先检查规则是否命中、浓度/数量是否过严,或输入超胞是否太小。
若输出结构不合理,优先检查最短键长、局部配位和是否出现整块骨架塌缩,再降低缺陷强度。
参数越界时通常受 UI 范围限制;但“过激而仍在范围内”的配置不会被自动裁剪,程序会继续按当前设置生成结果。
输出标签 / 元数据变更
该卡片输出的 Config_type 标签模式:
SF(hkl={...}{...}{...},d={...})
可复现性说明
该卡片本身无显式随机种子,参数与输入一致时结果应确定。
若上游含随机操作,仍需在 pipeline 层统一控制随机性。