我今天写信给大家,以澄清我是否在 MATLAB 中正确实现了我的模型。
我将概述以下内容:解析控制方程、我对方程和边界条件的离散化,并将实现概述到 ode15s 中。最终,我的实现问题是,当我在有和没有体积速率项的情况下达到无限累积时,没有达到稳态。在重新评估控制方程之前,我想确保我的实现是正确的。
系统描述 - 任意阳离子和阴离子与多孔电极中的气态物质发生反应。指定了电池电位。使用了 BV 动力学,但不包括在此处。浓度为 mol/m^3。通量为 mol/m^2/s。体积电荷为 A/m^3。
气体平衡工作,不包括在内。
请参阅所附图片。
控制方程:
方程的离散形式:
如何获得阴离子物质的边界条件:
数值求解过程 - 使用 ode15s 的线法。二阶中心和一阶中心的有限差分。电中性方程适用但不用于 DAE 求解器。总体积电荷守恒用作代数约束。为了处理虚点,我通过边界值求解阳离子、阴离子和势值。
5 个方程(3 个列出 + 2 个未列出)/节点。n 指节点数。电池的长度在 100 微米的范围内。
三个大问题:
阴离子物质(即a)的边界条件是利用应用于阳离子边界条件的电中性导出的。这足以说明边界值问题吗?
我有一个 5xNode# x 5xNode# 质量矩阵,对角线上的方程 1-4 为 1,方程 5 为 0。这个质量矩阵构造正确吗?
任意参考电位设置为 0 V。我在质量矩阵中为电荷平衡指定值 1,因为我设置了电位。我将我的 yt 设置为节点 n = 0 处的电荷平衡,因为将初始值设置为边界条件。这是否会导致不稳定问题,或者该方程的质量矩阵是否应设置为 0?
谢谢你的帮助!