精选案例 · Agent / 实践案例
ARC 实验数据处理说明
这个案例围绕「ARC 实验数据处理说明」记录了一条真实 AI 实践线索,正文重点集中在「1. 这个脚本做什么?」「第一步:读取实验数据」,适合先按任务意图阅读再判断复用。
案例速读
README 标题「ARC 实验数据处理说明」下已经出现运行/配置路径、脚本或接口线索、结果证据,正文重点集中在「1. 这个脚本做什么?」「第一步:读取实验数据」,比纯概念介绍更适合进入精选阅读流。 这篇案例的阅读价值在于,它把真实任务、模型辅助过程和可迁移做法放在同一个上下文里,读者可以从 「ARC 实验数据处理说明」、「1. 这个脚本做什么?」、「第一步:读取实验数据」、「2. 为什么要重新计算 dT/dt?」 进入正文。
- 建议重点看 可参考其中的运行与配置路径、包含可迁移的命令、脚本或接口线索、已有结果或观测证据可用于判断复用价值。结合 Agent / 实践案例 和「任务驱动用户、AI 实践者」这一受众定位,它更适合作为任务检索后的精读材料,而不是只看一句短摘要后快速跳过。
- 正文目录和原始材料仍然是判断依据;导读只帮助你更快定位阅读重点。
- 看点
- ARC 实验数据处理说明
- 读者
- 任务驱动用户、AI 实践者
- 复用
- 可参考其中的运行与配置路径
- 结构
- 12 个目录入口
原文内容
ARC 实验数据处理说明
这个小项目用于处理钠离子电池 ARC 热失控实验数据。
在建立 PINN 模型之前,我们先从实验数据中提取几个重要量:
- 温度
T_K - 升温速率
dTdt_K_s - 表观放热功率
Q_TR_W - 自热起始温度
- 最大自热速率及其对应温度
1. 这个脚本做什么?
主程序是:
arc_processing.py
它会读取 ARC 的 CSV 文件,然后完成下面这些步骤。
第一步:读取实验数据
当前文件夹里的数据文件是:
puna-100%SOC.csv
这个 CSV 文件里有时间、温度、压力等数据。
脚本会自动识别两类常见格式。
第一类是整理好的格式:
time_s,T_C,T_K,dTdt_C_min,pressure_bar,dPdt_bar_min
第二类是你现在这个 ARC 导出的格式:
Time/min,Cell-tem(degree),Cell-tem-rate(degree/min),Pressure of can (bar),Pressure Rate of Can(bar/min)
注意:脚本不会直接使用仪器给出的 Cell-tem-rate,而是重新根据温度和时间计算升温速率。
2. 为什么要重新计算 dT/dt?
PINN 建模时,我们通常希望数据处理过程可控。
所以脚本会用:
T_K 和 time_s
重新计算:
dTdt_K_s
也就是:
温度对时间的变化率,单位是 K/s
这里使用的是数值微分方法。
简单理解就是:
某一段时间内温度升高了多少 / 这段时间有多长
3. 表观放热功率怎么算?
脚本使用下面这个公式:
Q_TR_W = mass_kg * cp_J_kgK * dTdt_K_s
含义是:
Q_TR_W:表观放热功率,单位 Wmass_kg:电池或样品质量,单位 kgcp_J_kgK:比热容,单位 J/(kg*K)dTdt_K_s:升温速率,单位 K/s
这个公式是一个简化的 lumped heat capacity 模型。
它的物理含义是:
如果样品升温越快,说明内部表观放热越强。
4. 如何安装环境?
建议使用 Python 3.9 或更新版本。
在 PowerShell 里运行:
cd J:\code\Github\0515-PINN
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
这几行命令的意思是:
- 进入项目文件夹
- 创建一个 Python 虚拟环境
- 启动虚拟环境
- 安装需要的 Python 包
需要安装的包写在:
requirements.txt
包括:
pandas:读取和处理表格数据numpy:做数值计算matplotlib:画图
5. 如何运行?
在项目文件夹里运行:
python arc_processing.py --input "puna-100%SOC.csv" --mass-kg 0.0356 --cp-J-kgK 1100 --threshold-C-min 0.02
这些参数的意思是:
--input "puna-100%SOC.csv":输入的 ARC 数据文件--mass-kg 0.050:样品质量是 0.050 kg--cp-J-kgK 1000:比热容是 1000 J/(kg*K)--threshold-C-min 0.02:自热起始判据是 0.02 C/min
你之后需要根据真实实验参数修改:
--mass-kg
--cp-J-kgK
6. 什么是自热起始温度?
脚本会寻找第一个满足下面条件的温度点:
dT/dt >= 0.02 C/min
这个温度就是自热起始温度。
阈值可以自己改,比如:
python arc_processing.py --threshold-C-min 0.05
这表示使用 0.05 C/min 作为自热起始判据。
7. 程序会输出什么?
运行后,终端会打印:
- 自热起始温度
- 最大自热速率
- 最大自热速率对应的温度
同时会生成处理后的 CSV:
outputs/processed_arc.csv
这个文件包含:
time_s,T_K,dTdt_K_s,Q_TR_W
这些列后面可以用于 PINN 建模。
8. 程序会保存哪些图?
图片会保存在:
outputs/figures/
一共三张图:
01_T_K_vs_time_s.png
02_dTdt_K_s_vs_T_K.png
03_log_dTdt_K_s_vs_inverse_T_K.png
它们分别表示:
图 1:温度随时间变化
T_K vs time_s
用于查看 ARC 实验中温度是如何随时间上升的。
图 2:升温速率随温度变化
dTdt_K_s vs T_K
用于查看在哪个温度区间升温变快。
图 3:Arrhenius 风格图
log(dTdt_K_s) vs 1/T_K
这个图常用于观察热反应是否具有类似 Arrhenius 的温度依赖关系。
后续如果要拟合反应动力学参数,这张图会有帮助。
9. 重要提醒
目前的放热功率计算是表观值:
Q_TR_W = mass_kg * cp_J_kgK * dTdt_K_s
它没有额外考虑:
- ARC 样品池热容
- 热损失修正
- 仪器校准因子
- 电池内部非均匀温度
所以它适合作为建模前的第一版数据处理结果。
如果后面要做更严格的热失控机理模型,可以再加入这些修正。