关于 tooluniverse-inorganic-physical-chemistry
面向化学研究与问答的 ToolUniverse 无机和物理化学技能,结合数据库查询与定量计算。内容涵盖晶体结构验证和检索、平衡计算及多类化学问题的推理指南。
主要功能
- 01晶胞计算与结构验证
- 02COD 实验结构检索
- 03溶解度与平衡求解
- 04成键和对称性分析指南
- 05光谱与热力学计算方法
适用场景
- 01验证给定的晶胞和密度数据
- 02查找已收录结构及文献信息
- 03计算含同离子或络合物的溶解度
- 04分析分子对称性与光学活性
MCP 相关
列出 CrystalStructure_validate 和 EquilibriumSolver_calculate 等 MCP/SDK 工具,并说明可用于检索晶体结构和化学数据。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-inorganic-physical-chemistry安装后在 Claude Code 中输入/tooluniverse-inorganic-physical-chemistry确认已加载。
附带文件scripts/equilibrium_solver.py
详细介绍
无机与物理化学
推理策略
1. 晶体结构问题
给定晶体结构数据时,务必进行计算,不要猜测:
-
计算晶系对应的晶胞体积:
- 立方:V = a^3
- 四方:V = a^2 * c
- 正交:V = a * b * c
- 单斜:V = a * b * c * sin(beta)
- 三斜:V = abc * sqrt(1 - cos^2(alpha) - cos^2(beta) - cos^2(gamma) + 2*cos(alpha)*cos(beta)*cos(gamma))
- 六方:V = a^2 * c * sqrt(3)/2
-
验证密度:d = (Z * M) / (V * Na * 1e-24),其中 V 的单位为 ų,M 的单位为 g/mol,Na = 6.022e23
-
首选:使用
CrystalStructure_validate工具(通过 MCP/SDK)。备用方案:python3 skills/tooluniverse-organic-chemistry/scripts/crystal_validator.py --a X --b Y --c Z --alpha A --beta B --gamma G --Z N --MW M --density D -
批量比较时(找出错误的数据集):将数据集保存为 JSON 数组,并使用
--datasets path/to/datasets.json -
需要真实的实验晶体数据时(而非验证用户提供的数字),使用 Crystallography Open Database(COD)工具——见下文。
CrystalStructure_validate用于检查已有数字的内部一致性;COD 用于查询实际存档的结构。
查询真实晶体结构(COD)
COD_search_structures 和 COD_get_structure 可查询 Crystallography Open Database(包含 500,000 多种通过实验测定的结构——无机、有机、矿物和金属有机结构)。当给出化合物/矿物名称、化学式、元素或空间群,并且需要真实的晶胞参数、空间群和出版信息,而非根据给定数字进行计算时,请使用这些工具。
COD_search_structures({"el1":"Cu","el2":"O","nel":"2","sgNumber":"225","results":5}) # binary Cu-O compounds, FCC space group
COD_search_structures({"mineral":"calcite","results":5})
COD_search_structures({"text":"aspirin","results":5}) # free-text also matches organic/pharmaceutical crystals, not just inorganic
COD_get_structure({"id":"1011240"}) # full detail (a,b,c,alpha,beta,gamma,vol,Z,sg,sgNumber,doi,...) for one COD entry
已在线验证:COD_search_structures({"el1":"Si","el2":"O","nel":"2","results":10}) 会返回真实的 SiO2 多晶型条目(例如 COD ID 1000007,a=9.7397,b=8.9174,c=5.2503 Å);COD_get_structure({"id":"1515581"}) 会返回真实的阿司匹林晶体数据(P 1 21/c 1,sgNumber 14,晶胞体积 825.44 ų,温度 123 K)。工作流程:先搜索(按化学式/元素/矿物/文本)以查找候选 COD ID,然后对特定 ID 调用 COD_get_structure,获取包含 DOI/期刊/作者信息的完整记录。query/text、spacegroup/sg 和 max_results/results 均为别名对,可任选其一。
注意:某些搜索条件组合确实会返回零条结果(已在线验证)——若返回空的 data: [] 且 count: 0,表示 COD 中没有匹配的结构,并非查询出错;在断定该化合物不在 COD 中之前,请尝试放宽筛选条件(移除 sgNumber、扩大 nel 范围)。
2. 成键与共价性问题
关键推理模式:
- 共价性 = 金属与配体之间的轨道混合。重叠越大,共价性越强。
- 镧系/锕系:Ce(IV) 的 4f 轨道通常比 Ce(III) 表现出更强的共价混合——较高氧化态下更收缩的 4f 轨道会增强其与配体轨道的重叠
- 但是:共价性增强并不总意味着键更强——这取决于具体的轨道相互作用
- d 区与 f 区:d 轨道的径向延展性更强,因此比 f 轨道形成更强的共价键
- 霞石效应:配合物中的电子间排斥减弱,表明存在共价性。效应越大,共价性越强。
3. 稀有气体化学
- Xe 化合物:XeF2(线形)、XeF4(平面正方形)、XeF6(畸变八面体)
- XeF4 的合成:需要在较高温度(400°C)和压力下使 Xe 与 F2 反应。使用特定方法(紫外光解、电放电)也可在较低温度下制得
- 关键:温度阈值会影响合成效率。务必查阅,不要猜测——检索文献中的具体合成条件。
4. 对称性与点群
- 确定分子形状
- 找出对称元素:C_n 轴、镜面(σ_h、σ_v、σ_d)、反演中心(i)、非正规旋转(S_n)
- 使用
python3 skills/tooluniverse-organic-chemistry/scripts/chemistry_facts.py point_groups查询点群 - 光学活性:要求不存在非正规旋转轴(S_n,包括 σ = S_1 和 i = S_2)。手性点群:C_1、C_n、D_n、T、O、I
- 具有光学活性的晶类:缺少镜面和反演中心的压电非中心对称晶类
5. 热力学与动力学
计算,不要估算——编写 Python 代码计算:
- 吉布斯自由能:ΔG = ΔH - TΔS
- 平衡常数:K = exp(-ΔG/RT)
- 阿伦尼乌斯方程:k = A * exp(-Ea/RT)
- 能斯特方程:E = E° - (RT/nF) * ln(Q)
- 克劳修斯-克拉佩龙方程:ln(P2/P1) = -ΔH_vap/R * (1/T2 - 1/T1)
6. 溶解度与平衡计算
首选:使用 EquilibriumSolver_calculate 工具(通过 MCP/SDK),并提供 type、ksp、stoich 等参数。备用方案:直接运行 equilibrium_solver.py。
# Simple Ksp: MaXb(s) <-> aM + bX
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
--type ksp_simple --ksp 5.3e-27 --stoich 1:3
# Ksp + complex formation (e.g., Al(OH)3 in water with Al(OH)4- complex)
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
--type ksp_kf --ksp 5.3e-27 --kf 1.1e33 --stoich 1:3
# Common ion effect (e.g., AgCl in 0.1M NaCl)
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
--type common_ion --ksp 1.77e-10 --stoich 1:1 --common-ion 0.1
要点:
ksp_kf模式使用数值方法(牛顿法)求解完整的电荷平衡系统——同时考虑游离阳离子、络合阴离子和 OH-/H+- 对于
MX_b + X- <-> MX_(b+1)-,K_overall = Ksp * Kf common_ion模式使用二分法,结合额外离子浓度求解精确的 Ksp 表达式- 始终指定与盐化学式相符的
--stoich a:b(例如,Al(OH)3 用 1:3,CaF2 用 1:2,AgCl 用 1:1)
7. 光谱解析
- 紫外-可见光谱:d-d 跃迁(较弱,Laporte 禁阻)、LMCT/MLCT(较强)、π→π*(有机物)
- 红外光谱:官能团区(4000-1500 cm⁻¹)、指纹区(1500-400 cm⁻¹)
- NMR:化学位移反映电子环境。计算峰数时,找出对称等价的质子。
- 计算峰数:绘制结构,找出所有对称操作,将等价的 H 原子分组。使用
python3 skills/tooluniverse-organic-chemistry/scripts/chemistry_facts.py查询参考数据。
可用工具
| 工具 | 用途 |
|---|---|
PubChem_get_CID_by_compound_name | 根据名称获取化合物 CID |
PubChem_get_compound_properties_by_CID | 根据 CID 获取详细化合物数据 |
ChEMBL_search_molecules | 查询生物活性化合物 |
PubMed_search_articles | 查询合成条件和性质相关文献 |
CrystalStructure_validate 工具(或备用方案 crystal_validator.py) | 验证晶体结构数据的一致性 |
EquilibriumSolver_calculate 工具(或备用方案 equilibrium_solver.py) | 计算 Ksp、络合形成和同离子溶解度 |
COD_search_structures / COD_get_structure | 从 Crystallography Open Database 查询实际存档的晶体结构(晶胞、空间群、DOI) |
查询,不要猜测
- 稀有气体化合物的合成条件因方法而异——回答前先查阅文献
- 晶体结构参数必须通过计算得出,不能估算
- 成键描述(共价或离子)需要考虑具体的轨道因素——不要将一个体系的结论泛化到其他体系