锂离子电池电化学模拟开源软件

发布时间:2021-12-14来源:未知 编辑:admin

广告位置(首页一通--图文)

作者:知乎用户
链接:https://www.zhihu.com/question/397775488/answer/1394252864
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

数学模型模拟电池内部发生的物理和电化学过程,可以帮助理解机理和优化设计电池。电池的数学模型特别多,多个尺度来建模求解,从原子尺度(密度泛函理论)到电池组。大尺度模型通常使用经验方法来预测电池的运行情况。然而,经验模型具有特定领域的使用限制,模拟精度限制了特定领域应用之外的推广。基于基本物理和化学方程式的物理模型,提供了一种理解电池内部所发生过程的方法,但与经验模型相比,通常需要更大的计算能力。

电池内部特别关键的区域是多孔电极,其中锂离子的嵌入与脱出受到控制。电极多孔结构的复杂几何给开发合适的模型带来了实际困难。文献报道使用的关于多孔电极的常见模型如表1所示:

参考文献:Physics based modelling of porous lithium ion battery electrodes—A review

这里先简单介绍几个电池模型相关的软件或代码,后续准备详细描述几个主要的开源软件的相关操作方法和步骤的学习笔记。

1、TauFactor

网站:sourceforge.net/project

TauFactor是一个MatLab应用程序,基于图像的微观结构数据有效地计算迂曲因子、体积分数、表面积和三相交接边界密度等。迂曲因子量化了多孔介质中流动或传输路径的迂回曲折所导致的扩散输运性能的明显降低,TauFactor使用松弛有限差分方法计算该值。该工具提供了一个快速的计算平台,适用于现代断层扫描技术所获取的典型大数据集(>10^8个体素),而不需要很高的计算能力。 主要特征功能包括:

•迂曲因子

•代表性体积单元分析

•图形用户界面

•在线模式

三相边界密度

•表面积密度

•相体积分数

•通量map图

2、OpenPNM, 一种用于多孔介质孔隙网络建模的python源码库

官网:openpnm.org,包括在线帮助文档,代码,实例等。

OpenPNM是一个开源项目,为研究多孔介质提供一个现成的框架来执行各种孔隙网络模拟,是由加拿大安大略省滑铁卢大学化学工程系多孔材料工程与分析实验室(PMEAL)开发的。主要功能包括:

(1)三维网络生成器:基于邻接矩阵的稀疏的通用方法创建任意连接的三次或者随机网络。

(2)网格结构操作工具:查询、检查和操作拓扑几何,包括查找相邻的孔、标记特定的位置、标记或者删除毛孔、添加或者合并孔隙、创建多尺度模型等。以及其他多方面功能,它可以用来保存或者导出数据,以便在以后的计算过程中分析模拟。

参考文献

Gostick et al. OpenPNM: A pore network modeling package. Computing in Science & Engineering. 18(4), p60-74.

Python中OpenPNM库安装

(1)OpenPNM可以使用以下方法从Python包索引安装:

pip install openpnm

(2)或者从Anaconda Cloud 使用如下代码安装:

conda install -c conda-forge openpnm

(3)或者可以从Github下载源代码,然后运行以下命令进行安装:

pip install -e 'path/to/downloaded/files'

实例分析代码:

以下代码说明了如何使用OpenPNM执行汞浸润孔隙的测定模拟

import openpnm as op

pn = op.network.Cubic(shape=[10, 10, 10], spacing=0.0001)

geo = op.geometry.StickAndBall(network=pn, pores=pn.Ps, throats=pn.Ts)

Hg= op.phases.Mercury(network=pn)

phys = op.physics.Standard(network=pn, phase=Hg, geometry=geo)

mip = op.algorithms.Porosimetry(network=pn)

mip.setup(phase=Hg)

mip.set_inlets(pores=pn.pores(['left', 'right', 'top', 'bottom']))

mip.run()

网格可以在ParaView中可视化,如下图所示:

ParaView是一个开源的、多平台的数据分析和可视化应用程序。ParaView用户可以快速构建可视化,使用定性和定量技术分析数据。数据探索可以在三维交互中完成,也可以使用ParaView的批处理功能以编程方式完成。(paraview.org/

浸润曲线可以用 mip.plot_intrusion_curve() 可视化,如下图所示:

3、BruggemanEstimator

BruggemanEstimator,孔隙迂曲度Bruggeman指数估算,一款开源软件代码,通过分析电极表面和截面两张照片中活性物质颗粒的取向分布来估算电极在三个方向上的迂曲度。理论基础和原理可参见文献

参考文献:Ebner M , Wood V . Tool for Tortuosity Estimation in Lithium Ion Battery Porous Electrodes[J]. Journal of the Electrochemical Society, 2014, 162(2):A3064-A3070.

首先需要在电脑安装软件Wolfram Mathmatica,本开源代码在该软件中运行。也可以将代码保存成了CDF文件,不想安装软件,可以下载CDF文件播放器,也可以运行该CDF文件,计算迂曲度指数。

4、batts3D

batts3D是一组python编写的软件库,基于离散元法的三维多孔电极,模拟非均匀介质的可充放电的电化学响应。暂时没有找到网站信息。

Vijayaraghavan等[1]使用batts3D扩展了广泛使用的Bruggeman迂曲度关系,引入了介尺度迂曲度的影响。该方法可用于两个不同尺度的颗粒混合物组合的多极体系,仅使用单一宏观迂曲度表达式形式,模拟结果与实验结果一致的。

[1] Vijayaraghavan B, Ely DR, Chiang Y-M, García-García R, García RE. An analytical method to determine tortuosity in rechargeable battery electrodes. J Electrochem Soc 2012;159:A548–52.

Chung等[2]研究了基于XCT方法的LiMn2O4(LMO)阴极的电化学和化学机械耦合响应。他们使用batts3D对重建图像和计算生成的数据进行了仿真,微观结构的粒径分布影响多孔材料的局部化学和电学行为。

[2] Chung D-W, Shearing PR, Brandon NP, Harris SJ, García RE. Particle size polydispersity in Li-ion batteries. J Electrochem Soc 2014;161:A422–30.

5、Python Battery Mathematical Modelling (PyBaMM)

网站:pybamm.org/github.com/pybamm-team/

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.

Python中PyBaMM库安装

(1)PyBaMM可以使用以下方法从Python包索引安装:

pip install pybamm

(2)或者从Anaconda Cloud 使用如下代码安装:

conda install -c conda-forge pybamm

使用PyBaMM所有默认设置的模型运行1C恒流放电示例

import pybamm

model = pybamm.lithium_ion.DFN() # Doyle-Fuller-Newman model

sim = pybamm.Simulation(model)

sim.solve([0, 3600]) # solve for 1 hour

sim.plot()

模拟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, solver=pybamm.CasadiSolver())

sim.solve()

sim.plot()

6、Dualfoil 5.0,电池电化学模拟的FORTRAN程序

网站:cchem.berkeley.edu/jsng

Doyle-Fuller-Newman模型原创作者开发的模拟代码,可以模拟锂离子、钠离子和镍金属氢化物电池电化学过程。

7、COMSOL multiphysics软件锂离子电池模块

COMSOLMultiphysics仿真环境的电池与燃料电池模块。这种新的可选模块为用户提供了功能齐全且易用的工具,可用于所有主要的电化学电池和燃料电池,包括锂离子电池、镍氢电池、固体氧化物燃料电池、质子交换膜燃料电池等的建模、仿真和研究。利用电池与燃料电池模块,工程师、科学家和研究者们可以快速而准确度的对不同材料、几何构型以及操作条件对电池和材料电池性能的影响进行深入的研究。

8、BatPaC:电动汽车的锂离子电池性能和成本模型

Argonne实验室Paul Nelson团队开展了数十年电池设计工作,基于丰富的经验基础,他们开发了一套计算电动汽车用锂离子电池性能和成本的模型,而且这些设计模型基于MicrosoftOfficeExcel格式,输入输出灵活,直观。该文件来源于cse.anl.gov/batpac/inde

具体的电池设计过程如图所示,输入电池包的需求参数,电池基本设计与性能,以及电极结构等参数,通过表格之间的迭代计算,可以输出电池的基本性能和需求的各种材料数量(计算成本)。

以上简单列举相关模型,后面将继续分享学习笔记


大家都在评