在电池建模仿真中,无论是对标参考性能测试、定制循环工况,还是模拟实际运行状态,制定对应的负载曲线都是其中的重要环节。这篇博客文章分为两个部分,在第一部分中我们介绍了多种负载循环的设定方法。软件的 6.4 版本新增了一项功能,可大幅简化相关操作流程。本文为该系列文章的第二部分,我们将详细介绍一下 负载循环 功能。该功能简捷易用且性能稳定,即便是极为复杂的循环工况也能轻松完成设定。
这是关于定义电池模型负载循环的两篇系列博客中的第二篇,点击可阅读 第一篇。
简介
电池循环工况通常涉及复杂的多步骤流程,并非单纯依靠恒定电流完成充放电、并根据截止电压进行切换那么简单。在实际应用中,电池可能会在电流、电压或功率控制模式下运行,或是采用三者结合的混合控制模式。相关参数既可以是恒定值,也可以是变量,甚至可以通过数据表来设定。不同工作模式之间的切换,既可以依据简单的时长条件,也能基于各类性能输出指标,采用用户自定义的个性化判定规则。此外,负载工况既可以是简单的重复运行序列,也能在整体运行流程中设置嵌套循环。
将这些工况曲线应用到电池模型中时,除了对其进行定义和自定义外,考量其在数值计算层面带来的影响同样至关重要。负载曲线中的突变以及复杂的切换条件,可能会导致仿真过程出现数值稳定性问题。正如第一部分所述,采用基于事件的工况设置方式 —— 无论是直接使用 事件 接口,还是借助预设的 充放电循环 功能 —— 通常是应对负载突变、保证求解器正常运行的最优方案。但 充放电循环 功能仅适用于带有或不带静置阶段的恒流-恒压工况,其工况切换依据为电流与电压阈值。事件接口虽不会对可设置的循环场景类型加以限制,可借助该接口编写负载工况需要具备一定专业能力,面对复杂程度较高的循环工况时,操作也会变得十分繁琐。为解决这一问题,6.4 版本新增了基于事件功能的负载循环功能,以此简化相关操作。该功能兼具灵活性与完备性,用户可借助它设置各类循环场景,同时保障数值计算的稳定性。
如何在模型树中找到负载循环节点
负载循环 节点在模型树中的具体位置,取决于模型中所使用的物理场接口。在精细化电池模型中,如下图所示的 锂离子电池 和 二元电解质电池 接口,以及 电流分布 接口中,负载循环 节点可作为边界条件使用。这类模型会完整定义电极结构,将负极接地,并在正极施加负载曲线以模拟实际运行工况。若上述接口中包含 电极表面、薄多孔电极、多孔电极表面 或 高导电性多孔电极 等节点,那么 负载循环 选项会出现在这些节点的 电极相电位 下拉菜单中。对于简化模型,集总电池 接口将 负载循环 设为一种 工作模式;而 电池组 接口则把 负载循环 作为电流导体的边界条件。
负载循环提供的功能
在 负载循环设置 窗口中,可选择载荷类型。如下图所示,在 载荷类型 区域,可选择 恒电流、恒电位,或是二者组合模式。选择恒电流或恒电位模式时,可用的工作模式仅为 电流、倍率,或是 电压,同时搭配静置与子循环子节点;若选择恒电流与恒电位结合的模式,则可使用包含功率在内的全部工作模式。
新增工作模式之间的切换可依据多项判定条件,包括已用时间、阈值(如电压或电流),或是任意用户自定义表达式。若勾选 仅使用已用时间 选项,则工作模式切换仅能基于工作时长进行(显式)切换;否则,可通过更多附加选项控制各工作模式间的切换。
负载循环设置 窗口包含用于终止负载循环的各类选项,例如基于总循环时间、循环次数、电压阈值或用户自定义判定标准的限制条件。该内置功能可让用户设定循环终止条件,无需手动引入变量,也不用在求解器配置中额外添加停止条件。相关条件可在 负载循环设置 窗口的 循环停止条件 下拉菜单中进行选择。
相关设置还支持用户启用内置全局探针,该探针可自动监测电压与电流。无论涉及何种物理原理,在模型中使用探针都具备多项优势:无需等待仿真结束即可查看结果、可在结果调用(全局型的)探针变量,或是在模型内部自定义表达式。尤其在电池建模场景中,强烈建议在仿真过程中监测电压和电流,这有助于掌握电池在负载循环下的运行特性,同时便于故障排查。
使用负载循环功能
任意负载曲线均可通过设定其步骤、各步骤特性、步骤间转换方式以及循环序列终止条件完成定义。在 锂离子电池 物理场接口(或任意 电化学 接口)中添加 负载循环 节点,并在 负载循环设置 窗口选定载荷类型后,即可按顺序添加步骤以构建负载曲线:右键点击该节点并添加对应步骤。完成步骤添加与顺序排布后,可通过设置恒定数值或指定函数来定义各步骤参数,以此自定义每个步骤。各步骤的输入类型可在对应 设置 窗口的下拉菜单中选择,可选数值、函数或步进序列三种方式定义输入值。当通过 持续条件 设定的切换条件触发,并借助求解器事件执行切换时,负载循环的当前步骤便会跳转至下一步骤。
尽管在第一部分中我们已探讨过通过函数定义载荷曲线的方法,但将其融入该基于事件的框架后,在向模型施加载荷时可提升数值稳定性,无需对函数做平滑处理。此外,也可采用步骤序列,该方式支持导入或本地自定义一张时间表,用于更新设定值。当需要从文本文件中将自定义载荷曲线(如行驶工况曲线)导入 COMSOL® 软件时,该功能尤为实用。下方截图展示了两种不同的载荷曲线示例,二者分别通过不同的步骤与输入类型搭建而成。
如需覆盖主序列内嵌套循环的应用场景,可添加 子循环 子节点。仅当 负载循环 设置中未勾选 仅使用已用时间 选项时,该功能才可启用。子循环 自带适配各类工作模式的节点,结构与主序列类似,代表整套试验流程内的一段循环逻辑。子循环 会循环执行各类运行模式,其运行时长由选定的终止条件控制。该终止条件可基于运行时长、循环次数或用户自定义判定标准设定。一旦满足终止条件,仿真将返回主序列;若该子循环为最后一步,则直接跳转至加载循环节点下的首个节点。下方截图展示了一段包含子循环的简易工况曲线。此类工况曲线可便捷拓展,新增多个运行模式与终止条件完全不同的子循环。
总结
尽管在本系列博客 第一部分 中介绍的所有载荷循环定义方法依然适用,但软件 6.4 版本新增的载荷循环功能提供了一种更直观、数值稳定性更强的实现方式,同时还支持复杂的自定义工况曲线。本文已讲解该功能的核心要点,用户现已可在电池仿真中使用该功能。软件案例库内的绝大多数案例均已更新为采用该功能搭建,可作为不同工况场景的实操示范。

评论 (0)