XRD 衍射匹配说明
物相鉴定 · 靶材选择 · 匹配原理 · API 端点
概述
XRD(X 射线衍射)物相鉴定是材料表征的核心手段。本平台基于 pymatgen 从全量材料的 CIF 晶体结构预计算衍射峰, 构建覆盖 HEA / TRA / ELA 多数据集的 XRD 库。你只需粘贴实验测得的衍射峰 2θ(°)列表, 系统即按峰位与强度相似度返回最相近的晶体结构,辅助快速物相鉴定。
- 输入:2θ 列表(可带强度
2θ:强度),支持逗号 / 空格 / 换行分隔。 - 输出:候选材料(MP-ID、数据集、F1、查全率、匹配峰及 hkl),可展开查看完整衍射图。
- 多靶材:支持 Cu / Mo / Co / Cr / Ag 等常见靶材,衍射峰位置随波长变化。
靶材选择
不同靶材波长不同,衍射峰的绝对位置随之改变;选型需结合样品的吸收系数、铁磁性与分辨率需求。
| 靶材 | 波长 (Å) | 优势 | 注意事项 |
|---|---|---|---|
| Cu Kα | 1.5406 | 通用性强,波长适中,适合大多数样品(有机物、无机材料)。 | 对吸收系数高的样品(如含铁材料)可能有较强吸收效应。 |
| Mo Kα | 0.7093 | 穿透力强,适合高吸收系数材料(金属、含铁化合物)。 | 波长较短,灵敏度较低,可能不适合低吸收系数样品。 |
| Co Kα | 1.7889 | 适合铁磁性样品(铁、钢等),减少荧光干扰。 | 波长较长,对有机材料可能不适用。 |
| Cr Kα | 2.2909 | 适用于特殊铁磁材料与部分金属材料。 | 波长过长,对某些样品分辨率较低。 |
| Ag Kα | 0.5608 | 适合非常高吸收系数的材料(重金属化合物)。 | 波长过短,灵敏度可能不足。 |
匹配原理
检索采用「三强峰优先」策略:每个材料在数据库中预存其 三强峰(按强度由强到弱峰 1 ≥ 峰 2 ≥ 峰 3)。 你的实验峰也取强度最高的 3 个作为搜索关键,优先在主库三强索引上召回候选,再取候选完整图谱匹配其余峰, 以 F1 与 查全率 排序。
- 三强峰:建议直接提供三强峰(强度最高的 3 个);至少需 3 个峰方可检索。
- 三强命中:候选材料三强峰中与查询关键峰匹配的个数(0–3),排序的首要依据。
- 查全率:你的实验峰中被解释的比例,越高越可信。
- F1:查准率与查全率的调和平均,兼顾命中与精简。
- 峰位容差:默认 0.7°,控制峰位匹配的允许偏差。
- hkl 标记:六方 / 三方晶系为 4 指数 Miller-Bravais,其余为 3 指数。
- 排序优先「三强命中数 → F1 → 查全率」。
API 端点
/api/v1/xrd
XRD 衍射匹配通过统一端点提供,按传入参数自动切换三种模式:匹配模式(传 peaks,按实验峰检索相似材料)、图谱模式(传 mp_id,返回该材料完整衍射峰)、浏览模式(均不传,返回前 N 条默认列表)。参数优先级为 peaks > mp_id > 浏览。速率限制与错误响应遵循平台统一策略,详见 API 端点文档。
查询参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| peaks | string | - | 衍射峰列表,逗号 / 空格 / 换行分隔,形如 21.2,44.5,64.8 或 21.2:80,44.5:50(2θ:强度);传入即进入匹配模式,至少需 3 个峰 |
| mp_id | string | - | 材料 ID(如 mp-16496);传入即返回该材料完整衍射图谱(图谱模式) |
| tolerance | float | 0.7 | 峰位容差(°),控制峰位匹配的允许偏差(0.1–5) |
| limit | int | 10 / 50 | 匹配模式返回 1–200 条;浏览模式返回 1–50 条(默认 10) |
| target | string | CuKa | 靶材(辐射源):CuKa / MoKa / CoKa / CrKa / AgKa;衍射峰位置随波长变化 |
| format | string | json | 返回格式:json(默认,完整 JSON 信封)或 raw(纯文本 xy,含 hkl 与 # generated using pymatgen 注释) |
匹配模式:按衍射峰匹配材料
curl "https://heas.labs.gt.ac.cn/api/v1/xrd?peaks=21.2,44.5,64.8:80&tolerance=0.7&limit=50&target=CuKa"
{
"success": true,
"query": {
"peaks": [{"t":21.2,"i":80},{"t":44.5,"i":50},{"t":64.8,"i":30}],
"tolerance": 0.7
},
"count": 1,
"results": [
{
"mp_id": "mp-16496",
"type": "HEA",
"formula": "AlFe3",
"score": 0.912,
"strong_hits": 3,
"recall": 1.0,
"matched": 3,
"query_peaks": 3,
"matched_peaks": [
{"query_t":21.2,"match_t":21.18,"match_hkl":"(111)","delta":0.02},
{"query_t":44.5,"match_t":44.52,"match_hkl":"(200)","delta":0.02},
{"query_t":64.8,"match_t":64.79,"match_hkl":"(220)","delta":0.01}
],
"three_strong": [21.18, 44.52, 64.79]
}
]
}
匹配结果 results[] 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| mp_id | string | 材料 ID |
| type | string | 数据集:HEA / TRA / ELA |
| formula | string | 化学式 |
| score | float | F1 综合得分(查准率与查全率的调和平均) |
| strong_hits | int | 三强命中数(0–3),排序首要依据 |
| matched_peaks | array | [{query_t, match_t, match_hkl, delta}],逐个实验峰的最近邻匹配 |
| three_strong | array | 材料三强峰 2θ 位置(由强到弱) |
图谱模式:获取材料衍射图谱
curl "https://heas.labs.gt.ac.cn/api/v1/xrd?mp_id=mp-16496&target=CuKa"
{
"success": true,
"data": {
"mp_id": "mp-16496",
"type": "HEA",
"n_peaks": 28,
"radiation": "Cu Kα",
"wavelength": 1.5418,
"three_strong": [21.18, 44.52, 64.79],
"three_strong_by_target": {"CuKa": [21.18, 44.52, 64.79]},
"peaks": [
{"t":21.18,"i":100,"hkl":"(111)"},
{"t":44.52,"i":55,"hkl":"(200)"},
{"t":64.79,"i":35,"hkl":"(220)"}
]
}
}
# XRD pattern
mp_id: mp-16496
type: HEA
radiation: Cu Kα
wavelength: 1.5418 A
# generated using pymatgen
2theta(deg) intensity(%) hkl
21.1800 100.00 (111)
44.5200 55.00 (200)
64.7900 35.00 (220)
浏览模式:默认衍射图谱列表
curl "https://heas.labs.gt.ac.cn/api/v1/xrd?limit=10&target=CuKa"
{
"success": true,
"query": {"mode":"browse","limit":10,"target":"CuKa"},
"count": 1,
"results": [
{
"mp_id": "mp-1",
"type": "ELA",
"element": "Cs",
"n_peaks": 12,
"three_strong": [28.45, 40.12, 65.33],
"formula": "Cs"
}
]
}
常见问题
- 为什么不同靶材结果不同?
- 衍射峰位置由波长决定,不同靶材(波长不同)下同一材料的 2θ 峰位不同,匹配需使用与实验一致的靶材库。
- 少量主峰能否匹配?
- 可以。主峰(前几个强峰)命中即可获得高查全率,系统优先返回能解释最多实验峰的材料。
- hkl 中为什么有 4 个数字?
- 六方 / 三方晶系采用 Miller-Bravais 四指数 (h,k,i,l),其余晶系为三指数 (h,k,l),均为标准表示。