Bohrium
robot
新建

空间站广场

论文
Notebooks
比赛
课程
Apps
我的主页
我的Notebooks
我的论文库
我的足迹

我的工作空间

任务
节点
文件
数据集
镜像
项目
数据库
公开
全固态电池:新的锂电池技术以及电化学仿真如何构建新的固态仿真模型
中文
电池
中文电池
KaiqiYang
发布于 2023-10-19
推荐镜像 :Basic Image:bohrium-notebook:2023-04-07
推荐机型 :c2_m4_cpu
赞 5
2
7
锂离子电池的新技术-固态电池
锂电池与电化学模型的相关介绍
电化学模型的基本原理
固态电池与传统锂离子电池的区别
建立固态电池的电化学模型

锂离子电池的新技术-固态电池

锂离子固态电池是一种具有革命性的先进能源存储技术,它采用固态电解质替代传统锂离子电池中的液态电解质。这种新型电池在安全性、能量密度和循环寿命等方面具有显著优势,被认为是未来电动汽车、便携式电子设备和可再生能源储存系统的理想选择。

相较于传统的锂离子电池,固态电池的最大特点是使用固态电解质,这种材料具有高的离子传导性和优异的化学稳定性。由于不存在易燃、易挥发的液态电解质,固态电池显著降低了热失控和燃烧的风险,从而大幅提高了电池的安全性能。

此外,锂离子固态电池具有更高的能量密度,这意味着它可以在相同的体积和重量下储存更多的能量。这对于电动汽车和便携式电子设备而言尤为重要,因为它可以显著提高续航里程和使用时间。根据研究,固态电池的能量密度有望达到目前液态锂离子电池的两倍以上。

锂离子固态电池还具有更长的循环寿命,这意味着它可以经受更多的充放电循环而不会出现明显的性能衰减。这主要归功于固态电解质的优异稳定性,它可以抑制锂枝晶的形成和生长,减少电池内部的副反应,从而延长电池的使用寿命。

然而,锂离子固态电池目前仍面临一些技术挑战,如固态电解质与电极材料之间的界面问题、制造成本和可扩展性等。尽管如此,随着科学家和工程师们在这一领域的不断努力,固态电池在未来有望成为主流的能源存储技术,为人们的生活和工作带来更多便利和绿色环保。

固态电池的仿真与传统锂离子电池有什么区别?考虑到固态电池还在飞速发展,通过仿真能够帮助我们解决什么问题? 本notebook会帮助大家做个简单的介绍。

代码
文本

锂电池与电化学模型的相关介绍

本章节会首先简单介绍传统锂电池的简单背景和基于锂电池应用电化学模型的基础。

锂电池是一种以锂为活性物质的电池,具有高能量密度、低自放电率、长寿命等优点。自20世纪70年代以来,锂电池逐渐成为各类电子产品、电动工具、电动汽车等领域的主要电源。锂离子电池是目前最常见的一种锂电池类型,其具有高能量密度、无记忆效应、低自放电等特点,使得锂离子电池在众多电子产品中得到广泛应用。锂离子电池主要由正极(Cathode)、负极(Anode)、电解液(Electrolyte)和隔离膜(Separator)等组成。其中,正极通常采用锂化合物氧化物(如LiCoO2、LiMn2O4、LiFePO4等)作为活性材料,负极通常采用石墨、硅等含锂材料作为活性材料。电解液是锂离子在电池内部传输的介质,主要由锂盐(如LiPF6、LiClO4等)和有机溶剂(如EC、DMC、DEC等)组成。隔离膜是位于正负极之间的薄膜材料,其作用是阻止正负极之间的直接接触,防止短路,同时允许锂离子在其中自由传输。

锂离子电池的工作原理主要包括充电过程和放电过程两个方面。锂离子电池的工作原理是通过锂离子在正负极之间的往复移动以及电子在外部电路中的流动实现能量的储存与释放。其性能主要受正负极材料、电解液、隔离膜等组成部分的影响。具体来说:
  1. 充电过程:在充电过程中,外部电源对电池施加正向电压。此时,正极中的锂原子失去电子变成锂离子(Li+),并通过电解质传输到负极。与此同时,正极中失去的电子通过外部电路流向负极。当锂离子到达负极后,它们与负极的活性材料结合,形成锂化合物,从而使负极获得电子补充。在充电过程中,锂离子从正极向负极移动,电子则通过外部电路从正极流向负极。

  2. 放电过程:在放电过程中,锂离子电池为外部负载提供电能。与充电过程相反,此时负极中的锂与活性材料脱离,形成锂离子(Li+)和电子,锂离子通过电解质再次回到正极。与此同时,电子通过外部电路从负极流向正极,为外部负载提供电能。当锂离子到达正极后,它们与正极的活性材料结合,补充正极的电子。在放电过程中,锂离子从负极向正极移动,电子则通过外部电路从负极流向正极。

电化学模型的基本原理

基于对锂离子电池工作原理的理解,二十世纪九十年代中期,美国加州大学伯克利分校的M. Doyle、T.F. Fuller和J. Newman以多孔电极和浓溶液理论建立了伪二维(P2D: Pseudo-Two-Dimensional)模型,奠定了电化学机理模型的基础。该模型采用一系列偏微分方程和代数方程组精确描述了电池内部锂离子的扩散与迁移、活性粒子表面电化学反应等物理、化学现象。迄今为止,大多数电化学模型都是在该模型基础上衍生和发展而来的。电化学模型是一种第一原理模型,不仅可以准确仿真动力电池外特性,还可以对动力电池内部特性变化(如电极与电解液中锂离子浓度、反应过电势等难以实测的电池内部物理量)进行仿真。与其他动力电池模型相比,电化学模型能深入描述动力电池内部的微观反应,具有更明确的物理含义。P2D模型具有通用性和可扩展性,适用于不同材料体系的电池,并可以发展和延伸为更复杂的多场耦合模型。因此,P2D模型在电池建模过程中扮演了不可替代的角色。

下图展示了电化学模型中使用的控制方程:

代码
文本

固态电池与传统锂离子电池的区别

固态电池与传统锂离子电池的重要区别在于,固态电解质中阴离子(如氧离子、硫离子等)通常是固定的,不会发生迁移,因此不会导电。这与传统电解液体系阴阳离子都参与导电的行为是不同的。所以在固态电池的电化学建模中,考虑电中性的假设,假设锂离子和阴离子的浓度都不随时间发生变化,而完全通过电导进行离子迁移,不存在由于浓度梯度导致的扩散作用。下图中对比了传统锂离子电池和固态电池的区别,第一张图表示的传统锂电池的工作过程,在隔膜处存在锂离子和阴离子(如PF)的扩散过程,也存在由于电势差导致的迁移过程。而第二张图表示的固态电解质中,只存在锂离子的迁移过程。

根据固态电池的特性,本notebook针对性的修改传统电化学的模型,对提供的设计信息进行建模,预测对应的固态电池电性能。在建模完成后,测试在改变设计后,电性能的改变情况,定性指明设计优化的方向和限制。

所以从模型的角度上讲,,根据此修改,固态电解质中的浓度方程被取消,并且固态电解质的电势控制方程也需要进行修改,将设为0。

代码
文本

建立固态电池的电化学模型

代码
文本

基于pybamm作为求解器,PyBaMM (Python Battery Mathematical Modelling) 是一个开源的Python软件包,用于模拟和分析电池系统的性能。它提供了一个框架,让研究人员和工程师可以快速实现和解决复杂的电池模型,如锂离子电池、铅酸电池等。PyBaMM可以帮助研究和优化电池设计、控制策略和性能预测。PyBaMM是现阶段是求解传统电解液锂离子电池的,但提供了求解的框架,可以基于此重新搭建固态电池的模型。

重新设定固态电解质的控制方程,代替原有的传统锂电池模型,进行固态电池的电化学过程计算。

代码
文本
[1]
!pip install pybamm -q
import pybamm
import numpy as np
import matplotlib.pyplot as plt
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

[notice] A new release of pip is available: 23.2.1 -> 23.3.1
[notice] To update, run: pip install --upgrade pip
代码
文本

将pybamm作为一个基础的模型框架,考虑固态电池的特点,重新搭建固态电解质的电化学模型,这里采用以锂金属为负极材料的固态电池作为案例,对锂金属为负极的情况,一般认为负极的电势为0。

代码
文本
[2]
model = pybamm.BaseModel()
代码
文本

定义正极材料中的活性材料的电势:

代码
文本
[3]
phi = pybamm.Variable("Positive electrode potential [V]", domain = 'positive electrode')
代码
文本

定义对应的固态电解质部分和正极材料部分的自变量电势(这里把固态的电解质部分认为是电池的隔膜)

代码
文本
[4]
phi_e_s = pybamm.Variable("Separator electrolyte potential [V]", domain = "separator")
phi_e_p = pybamm.Variable("Positive electrolyte potential [V]", domain = "positive electrode")
代码
文本

把两部分结构的电解质电势函数结合作为整体的变量:

代码
文本
[5]
phi_e = pybamm.concatenation(phi_e_s, phi_e_p)
代码
文本

定义正极材料中的颗粒浓度的变量:

代码
文本
[6]
c = pybamm.Variable("Positive particle concentration [mol.m-3]", domain = "positive particle",
auxiliary_domains = {"secondary": "positive electrode"},)
代码
文本

定义模型中需要使用的参数

代码
文本
[7]
from scipy import constants
F = pybamm.Parameter("Faraday constant [C.mol-1]") #法拉第常数
R = pybamm.Parameter("Molar gas constant [J.mol-1.K-1]") #气体常数
T = pybamm.Parameter("Temperature [K]") #温度

a = pybamm.Parameter("Surface area per unit volume [m-1]") #正极活性材料比表面积
R_p = pybamm.Parameter("Positive particle radius [m]") #正极材料颗粒大小
L_s = pybamm.Parameter("Separator thickness [m]")#固态电解质厚度
L_p = pybamm.Parameter("Positive electrode thickness [m]")#正极单面厚度
A = pybamm.Parameter("Electrode cross-sectional area [m2]") #极片总的截面积

sigma = pybamm.Parameter("Positive electrode conductivity [S.m-1]") #正极材料的电导率
kappa = pybamm.Parameter("Electrolyte conductivity [S.m-1]")#固态电解质的电导率
D = pybamm.Parameter("Diffusion coefficient [m2.s-1]") #正极材料的扩散系数

I_app = pybamm.Parameter("Applied current [A]") #施加的电流大小
c0 = pybamm.Parameter("Initial concentration [mol.m-3]") #正极材料初始嵌锂浓度

epsilon_e_pos = pybamm.Parameter("Positive electrode porosity") #正极极片中固态电解质的体积占比
epsilon_s_pos = pybamm.Parameter("Positive electrode active material volume fraction")#正极极片中活性物质的体积占比

#定义正极的电池布鲁格曼系数,表示正极片中的电导率由于多孔材料导致的修正
brug_pos_se = pybamm.Parameter("Positive electrode Bruggeman coefficient (solid electrolyte)")
brug_pos_am = pybamm.Parameter("Positive electrode Bruggeman coefficient (electrode)")

sigma_Li = pybamm.Parameter("Li metal electron conductivity [S.m-1]") #定义锂金属的电导率
L_Li = pybamm.Parameter("Li metal anode thickness [m]") #定义锂金属的厚度

i0_Li = pybamm.Parameter("Li plating exchange current density [A.m-2]") #定义锂金属的交换电流密度
代码
文本

定义电化学反应中交换电流密度、正极材料OCP的曲线

代码
文本
[8]
c_surf = pybamm.surf(c) # 定义表面的浓度
inputs = {"Positive particle surface concentration [mol.m-3]":c_surf}
j0 = pybamm.FunctionParameter("Positive electrode exchange-current density [A.m-2]", inputs) #定义正极材料的交换电流密度
U = pybamm.FunctionParameter("Positive electrode OCP [V]", inputs) #定义正极材料的OCP曲线
# inputs = {"Positive electrode active material volume fraction": epsilon_s_pos, "Positive particle radius [m]": R_p}
# a = pybamm.FunctionParameter("Surface area per unit volume [m-1]", inputs)
代码
文本
[9]
j_s = pybamm.PrimaryBroadcast(0, "separator") #定义在固态电解质中的界面反应电流为0
j_p = 2 * j0 * pybamm.sinh((F/2/R/T) * (phi-phi_e_p - U)) #定义正极中的颗粒与固态电解质的反应电流
j = pybamm.concatenation(j_s,j_p)
tor_s = pybamm.PrimaryBroadcast(1,"separator")
tor_p = pybamm.PrimaryBroadcast(epsilon_e_pos ** brug_pos_se, "positive electrode") #定义修正过的有效电导率
tor = pybamm.concatenation(tor_s, tor_p)
代码
文本
[10]
i = -sigma * (epsilon_s_pos ** brug_pos_am) * pybamm.grad(phi) #定义活性材料中电流
i_e = -kappa * pybamm.grad(phi_e) * tor #定义电解质中的电流
model.algebraic = {
phi: pybamm.div(i) + a * j_p,
phi_e: pybamm.div(i_e) - a * j,
}
# particle equations (mass conservation)
N = -D * pybamm.grad(c) # 定义正极颗粒中的扩散flux
dcdt = -pybamm.div(N)
model.rhs = {c: dcdt}

eta_Li = 2 * R * T / F * pybamm.arcsinh( I_app / A /(2* i0_Li))
phis_Li = 0
delta_phi = eta_Li
delta_phis_Li = I_app / A * L_Li / sigma_Li
ref_pot = phis_Li - delta_phis_Li - delta_phi

#定义边界条件
model.boundary_conditions = {
c: {"left": (pybamm.Scalar(0), "Neumann"), "right": (-j_p/F/D, "Neumann")},
phi_e: {"left": (ref_pot, "Dirichlet"), "right": (pybamm.Scalar(0), "Neumann")},
phi: {"left": (pybamm.Scalar(0), "Neumann"), "right": ( -I_app / A/sigma, "Neumann")}
}
#定义初始值
inputs = {"Initial concentration [mol.m-3]": c0}
U_init = pybamm.FunctionParameter("Positive electrode OCP [V]", inputs)
model.initial_conditions = {
c: c0,
phi: U_init,
phi_e: 0,
}
代码
文本
[11]
#定义模型中的需要输出的一些变量结果
model.variables = {
"Positive electrode potential [V]": phi,
"Electrolyte potential [V]": phi_e,
"Positive particle concentration [mol.m-3]": c,
"Positive particle surface concentration [mol.m-3]": c_surf,
"Voltage [V]": pybamm.boundary_value(phi, "right"),
"Positive electrode OCP [V]": pybamm.boundary_value(U, "right"),
"Current [A]" : I_app,
}
代码
文本

定义模型中需要的参数常量和函数作为模型输入

代码
文本
[12]
c_max = pybamm.Parameter("Maximum concentration in positive electrode [mol.m-3]")
def exchange_current_density(c_surf):
k = 6* 10 ** (-9)
# c_e = 1000
return k * c_surf ** 0.5 * (c_max -c_surf) ** 0.5

def open_circuit_potential(c_surf):
sto = c_surf / c_max
u_eq = (
-0.8090 * sto
+ 4.4875
- 0.0428 * pybamm.tanh(18.5138 * (sto - 0.5542))
- 17.7326 * pybamm.tanh(15.7890 * (sto - 0.3117))
+ 17.5842 * pybamm.tanh(15.9308 * (sto - 0.3120))
)
return u_eq

def surface_area_pos(epsilon_s_pos, R_p):
return 3* epsilon_s_pos/ R_p

param = pybamm.ParameterValues(
{
"Surface area per unit volume [m-1]": 3 * epsilon_s_pos / R_p,
"Positive particle radius [m]": 3.79e-6,
"Separator thickness [m]": 8e-5,
"Positive electrode thickness [m]": 8.8e-5,
"Electrode cross-sectional area [m2]": 0.044064,
"Applied current [A]": 1,
"Positive electrode conductivity [S.m-1]": 61.9,
"Electrolyte conductivity [S.m-1]": 130,
"Diffusion coefficient [m2.s-1]": 1e-12,
"Faraday constant [C.mol-1]": 96485,
"Initial concentration [mol.m-3]": 17038.0,
"Molar gas constant [J.mol-1.K-1]": 8.314,
"Temperature [K]": 298.15,
"Maximum concentration in positive electrode [mol.m-3]": 63104.0,
"Positive electrode exchange-current density [A.m-2]": exchange_current_density,
"Positive electrode OCP [V]": open_circuit_potential,
"Positive electrode porosity":0.4,
"Positive electrode active material volume fraction":0.4,
"Positive electrode Bruggeman coefficient (solid electrolyte)": 1.5,
"Positive electrode Bruggeman coefficient (electrode)": 1.5,
"Li metal electron conductivity [S.m-1]":100,
"Li metal anode thickness [m]": 1e-6,
"Li plating exchange current density [A.m-2]": 20
}
)
代码
文本

定义模型中的几何结构,因为锂金属负极通常是直接在表面沉积的,所以不需要设定锂金属负极的几何,而是把锂金属负极的影响作为边界条件加入。

代码
文本
[13]
r = pybamm.SpatialVariable("r", domain = ["positve particle"], auxiliary_domains={"secondary": "positive electrode"}, coord_sys="spherical polar")
x_s = pybamm.SpatialVariable("x_s", domain = ["separator"], coord_sys="cartesian") #定义固态电解质的厚度
x_p = pybamm.SpatialVariable("x_p", domain = ["positive electrode"], coord_sys="cartesian") #定义正极材料的厚度
#定义计算的整体几何
geometry = {"separator": {x_s: {"min": -L_s, "max":0}},
"positive electrode": {x_p: {"min": 0, "max": L_p}},
"positive particle": {r: {"min": 0, "max":R_p}},
}

代码
文本
[14]
param.process_model(model)
<pybamm.models.base_model.BaseModel at 0x7f5a83e2d0c0>
代码
文本

定义模型的网格

代码
文本
[15]
param.process_geometry(geometry)
submesh_types = {
"separator": pybamm.Uniform1DSubMesh,
"positive electrode": pybamm.Uniform1DSubMesh,
"positive particle": pybamm.Uniform1DSubMesh,
}
var_pts = {x_s: 10, x_p: 20, r: 30}
mesh = pybamm.Mesh(geometry, submesh_types, var_pts)

spatial_methods = {
"separator": pybamm.FiniteVolume(),
"positive electrode": pybamm.FiniteVolume(),
"positive particle": pybamm.FiniteVolume(),
}
disc = pybamm.Discretisation(mesh, spatial_methods)
disc.process_model(model)
<pybamm.models.base_model.BaseModel at 0x7f5a83e2d0c0>
代码
文本

进行相应的求解器定义,和计算时间定义

代码
文本
[16]
solver = pybamm.CasadiSolver(root_tol=1e-3) #定义求解器设置
t_eval = np.linspace(0,18000,361) #定义计算的时间
solution = solver.solve(model,t_eval) #求解模型
代码
文本

展示计算得到的电压曲线,从最初的搭建开始notebook,完成了完整的固态电池的仿真过程,通过改变参数,则可以进一步验证不同的参数改变后的计算结果。

代码
文本
[19]
plt.plot(t_eval, solution["Voltage [V]"].data)
plt.xlabel("time [s]")
plt.ylabel("voltage [V]")
代码
文本
中文
电池
中文电池
已赞5
本文被以下合集收录
电池计算
微信用户70yQ
更新于 2024-09-06
8 篇1 人关注
MD
bohr61096f
更新于 2024-08-27
47 篇0 人关注
推荐阅读
公开
正极材料DFT计算-Piloteye实现和结果讲解
正极 DFT+U PiloteyeLiCoO2正极材料DFT+UPiloteye
正极 DFT+U PiloteyeLiCoO2正极材料DFT+UPiloteye
dengb@dp.tech
发布于 2023-08-25
3 赞7 转存文件
公开
通过电压特征来预测电芯剩余寿命
中文锂电池
中文锂电池
KaiqiYang
发布于 2023-08-22
4 赞7 转存文件