PyBaMM电池仿真入门(一)

PyBaMM是一个基于Python的电池仿真框架,包括微分方程求解器、丰富的电池模型库和可视化工具。它支持锂离子电池的DFN和SPM等模型,并具有高度灵活性,便于与其他Python库集成。安装推荐使用Anaconda创建纯净环境。文章提供了一个简单的DFN模型仿真示例,并展示了如何对比多个模型的结果。
摘要由CSDN通过智能技术生成
  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")  # 在一张图上打印三个不同模型求解出的变量

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值