首页/文章/ 详情

pybamm锂离子电池模拟环境(Python)搭建

1年前浏览8970
前一篇文章介绍了PyBaMM,它是基于Python语言,通过使用最先进的自动微分和数值求解器来解决基于物理的电化学模型。Doyle-Fuller-Newman模型可以在0.1s内求解,而降阶单粒子模型和含电解质的单粒子模型则可以在几毫秒内求解。其他物理过程可以包括:热效应,快速粒子扩散,三维几何效应等等。所有的模型都以灵活的方式实现,并且有广泛的模型和参数集(NCA、NMC、LiCoO2等)。还有一些功能可以模拟任何一组实验指令,比如CCCV或GITT,或者指定程序的循环。


参考文献:Sulzer, V., Marquis, S. G., Timms, R., Robinson, M., & Chapman, S. J. (2020).Python Battery Mathematical Modelling (PyBaMM). ECSarXiv. February, 7.

本文根据自己的实际操作过程详细介绍PyBaMM锂离子电池模拟环境(Python)搭建。

第一步,Python的安装

下载PYTHON软件Anaconda3-5.3.1-Windows-x86_64 (Python3.x版本),并安装该软件。
 
目前,Python编程语言很火爆,安装教程很多,这里不赘述。安装完成后,得到如下图标:

第二步,Python中PyBaMM库安装

右键单击上面图标中的Anaconda prompt,以管理员身份运行Python库安装命令工具pip,如下图所示:

(1)升级PIP工具包
由于我很久之前安装的Anaconda3软件,本人操作过程中,首先升级pip库安装工具,命令为:
pip install upgrade pip

安装没有成功,根据提示,重新输入命令:
Python -m install --upgrade pip
Pip工具升级成功。

(2)安装PyBaMM库
使用以下方法从Python包索引安装:
pip install pybamm
Pybamm库安装成功。

如果网速太慢,可以使用镜像安装,比如
pip install -i https://pypi.tuna.tsinghua.edu.cn /simple pybamm
这样就会从清华这边的镜像去安装pybamm库

国内源有:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/ 
豆瓣:http://pypi.douban.com/simple/

第三步,运行pybamm,测试电化学模拟

(1)双击下图Spyder图标,运行python软件。
软件打开后,界面如下

2)在左侧Editor空白框内输入pybamm代码,调用Doyle-Fuller-Newman (DFN)电化学模型,使用PyBaMM所有默认设置运行1C恒流放电。具体代码如下:

import pybamm

model = pybamm.lithium_ion.DFN()

#调用Doyle-Fuller-Newman (DFN) model

sim = pybamm.Simulation(model) # 仿真
sim.solve([0, 3600]) #求解

sim.plot() 

#绘出主要变量分布图或者随时间变化图


点击菜单栏三角形按钮运行程序,在右侧IPython Console窗口内生成电化学模拟数据图表。

具体图表如下图所示,主要包括负极颗粒表面锂浓度,电解液锂盐浓度,正极颗粒表面锂浓度,电流-时间曲线,电压分布,电解液电位,正极电势,电压-时间曲线。
(3)使用模型默认值演示模拟CCCV实验,具体代码如下:

#定义试验步骤
import pybamm
experiment = pybamm.Experiment(
    [
        "Discharge at C/10 for 10 hours or until 3.3 V",
        "Rest for 1 hour",
        "Charge at 1 A until 4.1 V",
        "Hold at 4.1 V until 50 mA",
        "Rest for 1 hour",
    ] * 3
)
#进行仿真
model = pybamm.lithium_ion.DFN()
sim = pybamm.Simulation(model, experiment=experiment)
sim.solve()
sim.plot()

模拟得到图表结果如下:

这样,PyBaMM锂离子电池模拟环境(Python)搭建完成,后面将继续介绍pybamm具体代码。


~本文完~

来源:锂想生活
化学pythonMathematica试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-09-18
最近编辑:1年前
堃博士
博士 签名征集中
获赞 96粉丝 123文章 367课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈