返回案例库

精选案例 · 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:表观放热功率,单位 W
  • mass_kg:电池或样品质量,单位 kg
  • cp_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 样品池热容
  • 热损失修正
  • 仪器校准因子
  • 电池内部非均匀温度

所以它适合作为建模前的第一版数据处理结果。

如果后面要做更严格的热失控机理模型,可以再加入这些修正。

返回顶部