interp1函数matlab_【原创】干货:用MATLAB搭建电化学单粒子模型(中)
上一期讲到Eq.1中所需要求解的参数,我们已经获取了3个,需要注意的是,上期所获得的电化学反应过电势已经转化成时间的函数,接下来只需要求正负极的固相电势随时间的变化就可以了。
Eq.1
固相电势与材料的soc或体相锂离子浓度有关,其电位由材料颗粒表面锂离子浓度决定。即:
Eq.13
我们可以通过扣电或者三电极来获得正负极平衡电势随锂离子浓度的变化关系。为了方便对比MATLAB与COMSOL里两者单粒子模型的仿真结果,我们使用与COMSOL中模型相同的参数,其中正、负极电位-soc曲线如下:
那么对于某一时刻t,正极的电位E_pos我们可以通过MATLAB里的插值函数interp1获取,
>>soc_surf=cs,surf(t)/csmax_pos %%表面soc求解 >>E_pos=interp1(soc,Eeq_pos,soc_surf) %%表面电势求解 |
这样决定全电池电位E_cell的5个参数我们就都已经求出来了。下面来看下仿真结果的对比,可以看到我们搭建的模型Modeling-spb倍率放电曲线与COMSOL结果spb吻合度较高。中间部分位置电位有偏差,可能来源于我们的模型中为了方便求解使用了三参数抛物线法对锂离子扩散的偏微分方程进行了降阶近似处理。COMSOL中放电末端电压直线下降,可能是软件内截至条件设置的关系。
为了进一步考察我们搭建模型的适用性,我们将单粒子模型中两个重要的动力学参数参考交换电流密度i0ref与锂离子扩散系数Ds调低,再与COMSOL结果对比,可以看到模型仍然试用。
关于模型的求解时间,我们的模型对1C倍率放电的求解时间是7.3秒,而COMSOL是4秒。
在整个模型的搭建过程中,中间卡住了几次,但过一段时间回头看看对参数的含义又会有新的理解,建模才得以继续。整个模型还存在可以改进的地方,即是对固相内锂离子扩散的偏微分方程的直接求解。MATLAB中同样有函数可以直接求解偏微分方程,这个我们或许得留待以后再讨论了。
至此,电化学单粒子模型的搭建与校验已经完成。前面没有提到的是,单粒子模型对电池内部情况做了以下几个假设:
1.局部电势和电解质浓度差被忽略,用一个溶液内阻Rsol来代替;
2.固相电势梯度被忽略;
3.不同位置颗粒等效;
4.单粒子模型满足固相扩散和嵌锂反应动力学;
5.一般满足薄电极,高导电性的电极。
为什么会有过电位?为什么会有过电位
电池欧姆极化,电化学极化,扩散极化随soc的变化是什么规律?它们随电流大小的变化是什么样的?传荷内阻的大小和什么参数有关?正负极传荷内阻的规律是一样的吗?正极传荷内阻随soc的变化为什么是船形/碗形的?
下一期我们提取模型中的过程参数来看一看。
系列文章
【原创】干货:用MATLAB搭建电化学单粒子模型(上)
interp1函数matlab_【原创】干货:用MATLAB搭建电化学单粒子模型(中)相关推荐
- R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值.plot.roc函数绘制ROC曲线.添加置信区间.为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来 目录
- fopen函数matlab_无网格法与Matlab程序设计(11)——无网格径向基插值法:程序实现...
参考资料 G.R.Liu Y.T.GU著 王建明 周学军译 <无网格法理论及程序设计> 数值实现 Matlab 2019a 前情回顾 石中居士:无网格法与Matlab程序设计(8)--无网 ...
- matlab中N=256值是什么,应用MATLAB确定邓肯-张双曲线模型中的K,n参数
应用MATLAB确定邓肯-张双曲线模型中的K,n参数 简介:接合承德中密砂常规三轴试验数据,介绍应用Matlab语言编写计算及绘图程序来处理试验数据的方法,可显著提高试验研究的数据处理效率和结果的可视 ...
- 2函数 matlab_(2)Matlab函数“fmincon”非线性优化问题
MATLAB中的优化工具箱具有线性和非线性求解器."fmincon"是非常常见而又有效的solver.目标函数可以是代数方程,微分方程,连续变量,离散或整数变量等. 但是注意的是: ...
- 用matlab画x开立方,SWAT模型中气象数据库和土壤数据库的构建方法.pdf
SWAT模型中气象数据库和土壤数据库的构建方法.pdf 第29卷第12期 河南科学 V01.29No.12 2011年12月 HENANSCIENCE DeC.20ll 1)12-1458-06 文章 ...
- python装饰器带参数函数二阶导数公式_机器学习【二】单变量线性回归
吴恩达机器学习笔记整理--单变量线性回归 通过模型分析,拟合什么类型的曲线. 一.基本概念 1.训练集 由训练样例(training example)组成的集合就是训练集(training set), ...
- tanh函数matlab_[转]Matlab常用函数
计算样本的百份位数 Matlab的常用内部数学函数 指数函数 exp(x) 以e为底数 对数函数 log(x) 自然对数,即以e为底数的对数 log10(x) 常用对数,即以10为底数的对数 log2 ...
- 【原创】关于MATLAB中imagesc函数图像保存的问题
这几天我在搞用contourlet变换来做图像融合. 期间,遇到了一个问题,就是将得到的多层矩阵用contourlet反变换后,得到的不是一个正规的图片矩阵,就是每个像素点灰度值大小都在0~255之间 ...
- thinkphp json_原创干货 | Thinkphp序列化合总
听说转发文章 会给你带来好运 最近Thinkphp几个版本都出了反序列化利用链,这里集结在一起,下面是复现文章,poc会放在最后01Thinkphp5.1.37 环境搭建 composercreate ...
最新文章
- oracle判断非空并拼接,oracle sql 判断字段非空,数据不重复,插入多跳数据
- Win10上装虚拟机运行Ubuntu16.04
- float16/32/64对神经网络计算的影响
- Python_管理项目
- RHEL 5.4 安装Oracle 11gR2, 准备篇...
- 前端之旅,正式启航~【前端学习路线图+配套学习视频+师长指点】
- android设置输入框输入字符限制,Android里限制EditText控件可以输入字符内容的范围的方法...
- String类及其构造器和常用方法
- CCP(Cost complexity pruning) on sklearn with python implemention
- R语言与正态总体均值的区间估计
- java method_JAVA Method的解析
- 【组图】地震前线归来--心中的震撼
- Android上按钮解决快速点击问题
- 正态分布的前世今生:正态魅影
- DirectX 9.0c游戏开发手记之RPG编程自学日志之17: Drawing with DirectX Graphics (用DirectX图形绘图)(第13节)
- 决策树结果可视化中文乱码问题解决方案
- 服务器系统事件6013,系统-事件ID:6013
- 线性代数 --- 用条件数(condition number)来判断矩阵是否可逆
- win7锁定计算机快捷键6,win7锁定计算机快捷键_win10 锁定计算机
- poi excel版本问题