PyBaMM电池仿真入门(一)

  1. 简介

PyBaMM(Python Battery Mathematical Modelling)是一个开源的电池仿真功能包,旨在加速电建模的研究。

广义上,PyBaMM包含三个部分:①、用于编写和求解微分方程组的框架 ②、丰富的电池模型和参数库 ③、模拟实验结果和可视化的工具

同时,PyBaMM有极强的灵活性和可拓展性,基于python的开发环境,使得PyBaMM可以方便快捷的与python中其他的功能包进行融合使用,极大的提高了电池建模和仿真,以及数据分析的效率。

点此查看:PyBaMM官方文档

  1. PyBaMM安装

由于PyBaMM只支持在python3.8 和 python3.9环境下安装,且安装可能会和现有的功能包产生冲突,导致安装失败,所以笔者推荐使用Anaconda构建一个纯净的python3.9环境,在此环境下使用命令安装pybamm功能包即可:

pip install pybamm

有关安装的更多问题请点击:

Anconda创建虚拟环境

pip换源(解决网络问题导致安装失败)

pycharm使用Anconda虚拟环境

  1. 简单仿真示例

首先进行一个简单的仿真:

import pybamm

model = pybamm.lithium_ion.DFN()  # 使用锂离子电池库中的DFN模型  
sim = pybamm.Simulation(model)    # 使用Simulation对模型进行仿真
sim.solve([0, 3600])              # 仿真时间为3600秒
sim.plot()                        # 画出仿真图像 图像设置为默认

运行结果如图:

4.程序详解

上面的程序实现了一个锂离子电池DFN(P2D)模型的简单仿真示例,下边对使用到的类进行详解:

  1. 电池模型:

PyBaMM中集成了多种电池模型,例如锂离子电池的DFN(即P2D)模型、单粒子模型(SPM)等,以及铅酸电池模型和其他子模型。我们可以在PyBaMM官方提供的接口文档中查询到pybamm包含的所有模型。

点此查看:PyBaMM官方电池模型

如果要使用pybamm中的电池模型,我们只需调用相关的类即可:

model = pybamm.lithium_ion.DFN()  # 使用锂离子电池库中的DFN模型

并且,我们也可以同时调用多个模型,方便我们进行对比:

import pybamm

models = [
    pybamm.lithium_ion.SPM(),
    pybamm.lithium_ion.SPM(),
    pybamm.lithium_ion.DFN(),
]

sims = []
for model in models:
    sim = pybamm.Simulation(model)
    sim.solve([0, 3600])
    sims.append(sim)

pybamm.dynamic_plot(sims, time_unit="seconds")  # 在一张图上打印三个不同模型求解出的变量

这样我们就在一张图上画出了三个模型的求解结果:

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值