在做电池仿真时,如何处理热源是每个搞热管理的人避不开的话题,通常的处理方式就是给电池一个固定热源,然后稳态或者瞬态计算cell或者pack的热场。这种方式计算简单,效率高。但是电池的发热是根据SOC和温度变化的一个map表,固定热源并不能实时计算出电池真实的温场情况。下面我们就聊一下如何能按照map表的方式进行电池的热仿真
在此先感谢“井工”,此操作的方法是井工最早做的分享,时隔多年再次做一次温习分享。
案例说明
数据处理
1,获取电芯的DCR-map表(不同温度,不同SOC)
2,获取电池的使用电流map表(不同温度,不同SOC)
3,根据q=I²R*X
q------发热功率
I-------电芯的充/放电电流
R------电芯的直流内阻
X------比例系数,根据实际测试总结
4,根据上面三个步骤,将DCR表和电芯map表综合计算就能获得一份电池的发热map表(由于fluent计算时使用的是体积功率w/m³,所以需要记得将功率表转化为,体积功率表)
下图仅作示意
模型
为了好计算本次只画一个电池做计算,如果是实际的pack就同理,将体积功率map表赋值给每个pack中的cell即可。
按照默认流程划分网格,由于简单就不附图说明
求解设置
按照常规的设置
1,打开能量能量方程,瞬态计算
2,给本体、正极、负极赋予相应材质
3,在与空气接触的壁面设置一个换热系数
操作完上述步骤后,先初始化。
重点操作步骤!!!
1,先将本体的温度设置一个监控值,一会用于调用
2,设置电流(初始值只用于启动时的计算)、温度(引用监控值)、SOC(给初始值计算)三个关键参数
3,设置电流的map,用多个if语句将电流map表达出来(建议使用Notepad++写快一下,大多是复 制粘贴),如下
然后确认没问题后粘贴到参数设置中
这里有个bug就是电流得再重复应用一次,21年的bug,现在25年的版本还是存在。
4,设置发热功率map,和电流同样的方式
5,给本体赋予设置好的热源
6,由于fluent的表达式无法处理递归的问题(这里给starccm点赞,它的表达式可以很好的处理,其实可以用同样的方式在starccm中操作),所以计算SOC必须用fluent中Scheme写SOC的计算。
SOC计算公式如下
代码如下
7,然后就可以先设置一个小时间步如0.1S,然后在设置大时间步如1S等来求解计算,
总结
按照上述方式就可以实现,电池的热源按照发热map输入,在计算时可以更加真实观察不同时刻电池的热场情况。