用途:pycalphad 用于在固定总元素摩尔分数、指定压力和一组有限温度下,计算 CALPHAD 平衡相分数与相成分。配套脚本执行真实 pycalphad 平衡计算,检查质量守恒,提高采样密度重复计算,并分别导出各稳定成分集。
主要能力:支持从 TDB 数据库读取热力学模型,选择数据库中的元素与相,按亚点阵模型要求包含 VA(空位)。可导出 report.json 记录设置、版本、TDB/设置 SHA-256、排除相、请求/求解器/重构总成分及各温度结果与校验;导出 phase-equilibria.csv,每行对应每个温度与采样轮次中的一个稳定顶点,含相名、摩尔相分数与元素摩尔分数。all_checks_passed 要求相分数之和与总成分残差在质量平衡容差内、相总量在相分数容差内稳定、pdens 加倍时系统吉布斯能稳定。
使用方式:从集合根目录运行示例命令:uv run --no-project --python 3.12 --with pycalphad==0.11.2 --with numpy==2.5.3 python skills/pycalphad/scripts/equilibrate.py skills/pycalphad/assets/ideal-cu-ni.tdb skills/pycalphad/assets/equilibrium.json equilibrium-result。需复制 assets/equilibrium.json,指定恰好 N-1 个元素摩尔分数和一个非空位依赖元素,依赖分数为 1 减去独立分数之和,不做静默归一化;设定 K 和 Pa。使用前需把质量百分比或质量分数转换为摩尔分数。数据库温度区间若已知则声明,未知设为 null,超出声明区间会失败。
适用场景:合金相平衡计算,例如给定总成分与温度列表求稳定相分数与相成分。示例假设模型在 X(Ni)=0.5、101325 Pa 下:900 K 仅 FCC_A1;1100 K 为 0.5 FCC_A1 + 0.5 LIQUID;1300 K 仅 LIQUID。该资产是原创假想教学模型,并非真实 Cu-Ni 评估数据库。
限制:平衡受所选数据库、组元、相和条件约束;不预测析出速率、保留的亚稳显微组织或数据库中缺失相的性质。数值校验通过不代表数据库实验准确。行为受数据库来源、许可、评估、有效温压与成分范围限制。不支持带电物种约束、外部化学势、自定义模型、活度参考态变更和数据库优化。pycalphad 0.11.2 会将独立摩尔分数裁剪到 [1e-10, 1-1e-10],因此不要将裁剪后的多元计算视为精确纯组元或超痕量结果。全部计算本地执行,不上传 TDB,不支持 URL 下载数据库。