对于燃料电池系统来说,我们通常比较关心一个操作比如拉载电流的变化对系统的影响,当然可以是温度,可以是输出电压,也可以是出口组分的浓度变化,或者其他什么的,这就需要对这个系统进行建模。通过建模把这些规律表现出来并部署到BMS系统上,可以做成最强大脑。
建模一般存在两种思路,一种是通过数据进行建模,比如将历史数据和操作作为神经网络(通常采用的是RNN族)结构或者是一些比较传统的机器学习模型(xgboost)的训练样本(最新的transformer也可以一试),然后接入新的操作进行,在合理的训练样本的情况下,一般来说效果都不会太差。这种方式存在一个缺点就是对机理的描述不是很清楚,在很多老的专家眼里不是很认可(他们很多不了解你是在用什么玩意干什么东西,虽然用机理的数学模型他们也不是很了解,但认可度非常高,同时这个模型对没见过的数据也会胡言乱语),我也尝试做个很多这样的模型,用在燃电或者其他领域,感兴趣可以用联系我。
另外一种就是机理角度进行建模,这里我觉得又可以再分为两种,具体来说可以把机理通过微分-代数方程组的形式表达出来,然后通过求解这个系统的微分代数方程进行。一般来说都是常微分-代数方程组的形式进行系统的仿真呢,可以考虑多种物理现象进来,计算的时间也可以很快,部署方便。工具很多,比如matlab里面的simulink,Python,如果想搞的很详细的话就是Aspen了,结合Aspen dynamic可以做成动态的系统,真的很强大(我也做了这些东西的教程);当然,对于搞科研的来说呢,求解完整的偏微分也是可能的,而且这种东西可以把三维的场求解出来,可视化简直牛逼,一般通过商业软件Fluent或者comsol实现(虽然我也做这些东西,但个人觉得花样多用处少,对于热工部件设计还有用,对于系统建模我呵呵一下,网格太大的话求解的时间区间长度远小与计算所用到的时间,不过据说某为在开发物理引擎算子不知道将来会有多大改善,后面关注一下)
对于半经验或者经验的模型可以归纳为上面的一类,但是如果单纯对每一个物理量线性拟合的话我觉得归纳为数据类型建模会更好。
这里呢,重点关注的是机理模型中的常微分-代数方程组,这里以pemfc 举例,可以通过直接求解这些方程进行哈,原理如下图所示,通过simulink或者Python开发求解过程。
基于时间常微分的PEMFC系统建模
但是这个东西是个电池啊,因此呢我们还有一个角度,即我们不重点考虑其中的关于时间的常微分,而是重点关注物理过程,把时间上的关系通过电容,电感的形式来表达出来,这样的建模很符合电源管理的需求部署也很方便,流程图如下
通过等效电路的形式进行PEMFC系统建模
还记得Aspen吗,这个工具建模就太强大了,强大主要体现在他考虑的很完善哪怕你只是简单的拖一下模块他也可以进行非常非常完备的计算,比如通过什么方程计算物性,通过物性计算你所感兴趣的量封装做的太好了,但是有一个缺点,就是动态的话还是要通过dynamic了实现,而且动态貌似主要还是考虑压力-流量变化来实现的,我没看到计算的原理文档,个人觉得如果不自定义的话dynamic动态模型不是很完善。这种方式最大的缺陷还是这样的模型不好部署,如果你要部署你还得安装Aspen费用太高,体积庞大而且lilux上不支持。走开源的话很多开源的流程模拟软件是没有电解质模型的,还得自己开发,不如直接写微分方程了。
最后就是融合了,把机理和数据融合起来,我个人觉得可以用卡尔曼滤波做,也可以直接加权更有甚者用机理模型产生一堆的数据训练神经网络,反正怎么开心就怎么干方式很多。
个人的一点浅见