电解模拟

类别: 解析 | 统合版 2026-04-06

电解的理论基础

🎓

水电解制氢。电极反应与物质转移的耦合。



🧑‍🎓

那么,如果能够实现水电解制氢,首先就没有问题了吧?


支配方程




$$ V_{cell}=E_{eq}+\eta_a+|\eta_c|+IR $$
$$ \text{Faraday's law: }m=\frac{MIt}{zF} $$




离散化手法

🧑‍🎓

这个方程在计算机上实际上怎样求解呢?


🎓

利用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建全局刚度方程。


🎓

进行弱形式(变分形式)的变换,使用试验函数和形状函数,应用Galerkin法定式化。单元类型的选择(低阶单元 vs. 高阶单元完全积分 vs. 低减积分)直接关系到解的精度和计算成本的权衡。




矩阵求解算法

🧑‍🎓

矩阵求解算法,具体来说是什么意思?


🎓

通过直接法(LU分解Cholesky分解)或迭代法(CG法GMRES法)求解联立方程组。对于大规模问题,带预处理的迭代法很有效。



求解法分类内存使用量适用规模
LU分解直接法O(n²)小~中规模
Cholesky分解直接法(对称正定)O(n²)小~中规模
PCG法迭代法O(n)大规模
GMRES法迭代法O(n·m)大规模·非对称
AMG预处理预处理O(n)超大规模
🧑‍🎓

也就是说,有限元法的部分要是做不好,后面会吃大亏吧?我会记住的!


商用工具中的实现

🧑‍🎓

那么,进行电解模拟的话,有什么软件可以用呢?


工具名开发商/现在主要文件格式
COMSOL MultiphysicsCOMSOL AB.mph
Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
Simcenter STAR-CCM+西门子数字产业 Software.sim, .java, .csv
Ansys Mechanical (旧ANSYS Structural)Ansys Inc..cdb, .rst, .db, .ans, .mac

供应商谱系和产品整合经过

🧑‍🎓

各个软件的发展历程,是不是很有戏剧性的呢?



COMSOL Multiphysics

🧑‍🎓

请给我介绍一下"COMSOL Multiphysics"!


🎓

1986年在瑞典创立。以MATLAB联动的FEMLAB开始,后改名为COMSOL。多物理场解析是强项。

现在所属: COMSOL AB



Ansys Fluent

🧑‍🎓

接下来讲Ansys Fluent吧。是什么内容呢?


🎓

Fluent Inc.开发。2006年被Ansys收购。基于非结构网格的通用CFD求解器。

现在所属: Ansys Inc.




Simcenter STAR-CCM+

🧑‍🎓

接下来讲Simcenter STAR吧。是什么内容呢?


🎓

CD-adapco开发。2016年被西门子收购并整合到Simcenter品牌。多面体网格是特点。

现在所属: 西门子数字产业 Software


🧑‍🎓

啊,原来是这样!在瑞典创立的东西,竟然是这样的机制呢。


文件格式和互操作性

🧑‍🎓

不同软件之间转移数据的时候,有什么要注意的吗?


格式扩展名种类概要
STEP.stp/.step中立CADISO 10303准拟的3D CAD数据交换格式。形状+PMI对应。
IGES.igs/.iges中立CAD早期的CAD数据交换规范。曲面数据的兼容性存在课题。STEP的迁移在推进。
🎓

在不同求解器之间转换模型时,要注意单元类型的对应关系、材料模型的兼容性、荷载和边界条件的表达差异。特别是高阶单元或特殊单元(内聚单元、用户定义单元等)往往不能直接在求解器之间转换。


🧑‍🎓

原来如此……看起来简单的格式,其实很深奥呢。


实务中的注意事项

🧑‍🎓

教科书里没有的"现场的智慧"之类的东西,有吗?


🎓

网格收敛性确认、边界条件的妥当性验证、材料参数的敏感性分析,这些都非常重要。


🎓
  • 网格依存性验证:至少用3个水平的网格密度确认收敛性
  • 边界条件的妥当性:设置有物理意义的约束条件
  • 结果的验证:与理论解、实验数据、已知基准问题的比较


  • 🧑‍🎓

    哇,电解模拟真是很深奥呢……不过多亏了老师的讲解,我整理得差不多了!


    🎓

    嗯,做得很好呢!真正的学习是要动手实践。遇到不明白的地方,随时来问吧。


    Coffee Break 闲聊角落

    巴特勒-沃默尔方程——电化学模拟的"心脏"剖析

    学习电解模拟的支配方程时,必定会出现巴特勒-沃默尔(Butler-Volmer)方程。乍一看像是指数函数的加法,但这个方程用过电压(电极电位与平衡电位的偏差)决定"电极的反应朝哪个方向(氧化还是还原)以多快的速度进行",是一个非常简洁且强大的模型。实务上,将阳极和阴极各自的巴特勒-沃默尔方程作为边界条件,连接到电解液内的电位分布(拉普拉斯方程),以此计算电流密度分布。困难在于方程中包含的交换电流密度(i₀)和转移系数(α),因为电解质种类、温度、pH值、电极材料的不同而大不相同,且文献值的离散性很大。"理论是优美的,但参数要在现场实测",这是老手经常说的话,实验与仿真的往返正是电气化学CAE的看家本领。

    电解的数值计算方法


    🧑‍🎓

    啊,原来是这样!电解模拟竟然是这样的机制呢。


    离散化的定式化



    🎓

    利用形状函数 $N_i$ 近似未知量:



    $$ u^h(\mathbf{x}) = \sum_{i=1}^{n} N_i(\mathbf{x}) \, u_i $$




    🎓

    用公式表示的话是这样的。


    $$ K_e = \int_{\Omega_e} B^T \, D \, B \, d\Omega \approx \sum_{g=1}^{n_g} w_g \, B^T(\xi_g) \, D \, B(\xi_g) \, |J(\xi_g)| $$

    基础方程式的离散形式


    🎓

    用公式表示的话是这样的。


    $$ V_{cell}=E_{eq}+\eta_a+|\eta_c|+IR $$
    $$ \text{Faraday's law: }m=\frac{MIt}{zF} $$

    🧑‍🎓

    嗯……光看公式还是不太明白…… 表示什么呢?


    🎓

    连续体的支配方程离散化后,得到下列代数方程组:



    $$ [K]\{u\} = \{F\} $$


    🎓

    这里 $[K]$ 是全局刚度矩阵(或等价的系统矩阵),$\{u\}$ 是未知节点变量向量,$\{F\}$ 是外力向量。


    🧑‍🎓

    啊,原来是这样!连续体的支配方程竟然是这样的机制呢。


    单元技术

    🧑‍🎓

    "单元技术"听过,但好像没有真正理解……


    单元类型次数节点数(3D)精度计算成本
    四面体1阶线性4低(剪切锁定)
    四面体2阶二次10
    六面体1阶线性8
    六面体2阶二次20非常高
    三棱柱线性/二次6/15中~高

    积分方案

    🧑‍🎓

    积分方案,具体是什么意思呢?


    🎓
    • 完全积分: 精确积分所有项。刚度过估计的倾向(锁定
    • 低减积分: 削减积分点数。计算效率提高,但有沙漏模式发生的风险
    • 选择性低减积分 (B-bar法): 体积项和偏差项分开积分。回避锁定

    • 🧑‍🎓

      听到这里,我总算明白为什么单元类型这么重要了!


      收敛性和稳定性

      🧑‍🎓

      不收敛的时候,首先要检查什么呢?


      🎓
      • h-细分: 细分网格(减小单元尺寸 h)提高精度
      • p-细分: 提高单元的多项式次数提高精度
      • hp-细分: h 和 p 同时最优化

      • 🎓

        收敛速度: 二次单元的情况,误差以 $O(h^2)$ 的阶数减少(解光滑的情况)


        🧑‍🎓

        原来如此……细分网格看似简单,其实很深奥呢。


        求解器设置建议

        🧑‍🎓

        具体怎样的算法来求解电解模拟呢?


        参数推荐值备注
        迭代法收敛判定$10^{-6}$残差范数基准
        预处理手法ILU(0) or AMG取决于问题规模
        最大反复次数1000不收敛时需要重新检查设置
        内存模式In-core尽可能

        单体法

        在一个联立方程组中同时求解全部物理场。对强耦合很稳定,但实现复杂且内存消耗大。

        分割法(分割迭代法

        各物理场独立求解,在界面处交换数据。实现容易且能够活用现有求解器。适用于弱耦合。

        界面数据转写

        最邻近法(最简单但精度低)、投影法(保守)、RBF插值(对网格非一致性强)。保守性与精度的平衡很重要。

        子迭代

        各耦合步骤内进行充分迭代,确保界面条件的一致性。残差基准应根据各物理场的典型值进行缩放。

        Aitken松弛

        自动调整耦合迭代的松弛系数。防止过松弛导致的发散,加速收敛的自适应手法。

        稳定性条件

        注意附加质量效应(流体-结构耦合中结构密度≈流体密度时)。不稳定时应用Robin型界面条件或IQN-ILS法。

        电解的实务应用

        🎓

        介绍电解模拟的实务解析流程和注意事项。


        🧑‍🎓

        啊,原来是这样!电解模拟竟然是这样的机制呢。


        解析流程

        🧑‍🎓

        从最初的一步教我吧!应该从什么开始呢?


        🎓

        1. 预处理 (Pre-processing)

        • CAD数据的导入和形状简化
        • 材料特性的定义
        • 网格生成(单元类型·尺寸的决定)
        • 边界条件和荷载条件的设置

        🎓

        2. 求解 (Solving)

        • 求解器设置(求解法、收敛基准、输出控制)
        • 工作投入和计算执行
        • 收敛监视

        🎓

        3. 后处理 (Post-processing)

        • 结果的可视化(位移、应力、其他物理量)
        • 结果的验证和妥当性确认
        • 报告作成


        网格生成的最佳实践

        🧑‍🎓

        网格的好坏怎样判断呢?



        单元品质指标

        🧑‍🎓

        请给我介绍一下"单元品质指标"!


        指标理想值允许范围影响
        纵横比1.0< 5.0精度下降
        Jacobian比1.0> 0.3单元退化
        翘曲< 15°精度下降
        歪度< 45°收敛性恶化
        锥度比0< 0.5精度下降

        网格密度的决定

        🧑‍🎓

        网格密度的决定,具体是什么意思呢?


        🎓
        • 应力集中部:至少配置3层以上的单元
        • 应力梯度大的区域:将单元尺寸设置为周围的1/3~1/5
        • 荷载施加点附近:局部细分
        • 远方区域:粗网格以确保计算效率


        • 边界条件设置指南

          🧑‍🎓

          我听说边界条件,这个地方弄错的话全部都完了呢……


          🎓
          • 注意过约束:刚体运动的约束仅限6自由度
          • 对称条件的活用:削减计算规模
          • 荷载的等价分配:集中荷载 vs. 分布荷载的选择

          • 🧑‍🎓

            啊,原来是这样!过约束要注意,竟然是这样的机制呢。


            按商用工具分类的实现步骤

            🧑‍🎓

            有各种各样的软件吧?请告诉我各自的特点!


            工具名开发商/现在主要文件格式
            COMSOL MultiphysicsCOMSOL AB.mph
            Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
            Simcenter STAR-CCM+西门子数字产业 Software.sim, .java, .csv
            Ansys Mechanical (旧ANSYS Structural)Ansys Inc..cdb, .rst, .db, .ans, .mac

            COMSOL Multiphysics

            🧑‍🎓

            请给我介绍一下"COMSOL Multiphysics"!


            🎓

            1986年在瑞典创立。以MATLAB联动的FEMLAB开始,后改名为COMSOL。多物理场解析是强项。

            现在所属: COMSOL AB



            Ansys Fluent

            🧑‍🎓

            接下来讲Ansys Fluent吧。是什么内容呢?


            🎓

            Fluent Inc.开发。2006年被Ansys收购。基于非结构网格的通用CFD求解器。

            现在所属: Ansys Inc.


            🧑‍🎓

            老师的讲解很容易理解!工具名的困惑晴朗了。


            常见失败和对策

            🧑‍🎓

            初学者容易犯的失败模式有吗?事先想了解一下!


            症状原因对策
            计算不收敛网格品质不良、不适当的边界条件网格改善、约束条件重新检查
            应力异常大应力特异点、网格依存特异点回避、局部网格细分
            位移非现实材料常数错误、单位系统不一致确认输入数据
            计算时间过长不必要的细分、低效的求解网格最优化、并行计算

            质量保证检查清单

            🧑‍🎓

            教科书里没有的"现场的智慧"之类的东西,有吗?


            🎓
            • 用3个以上水平的网格密度确认了网格收敛性吗
            • 检验了力的平衡(反力合计)吗
            • 结果在物理的合理范围内吗
            • 与已知理论解或基准问题进行了比较吗


            • 🧑‍🎓

              哇,电解模拟真是很深奥呢……不过多亏了老师的讲解,我整理得差不多了!


              🎓

              嗯,做得很好呢!真正的学习是要动手实践。遇到不明白的地方,随时来问吧。


              Coffee Break 闲聊角落

              氯碱工业——世界规模最大的电解过程设计

              在电解的实践应用中,产业规模最大的是氯碱工业。通过电解氯化钠水溶液,同时生产氯气、氢氧化钠(烧碱)和氢气的这一过程是PVC(聚氯乙烯)、造纸、铝冶炼等广泛产业的基础。仅日本国内年生产烧碱就超过300万吨。现代的氯碱工厂以离子交换膜法为主流,模拟被活用于膜劣化预测、电解槽内电位分布最优化、气体分离效率评估。实务上的关键是"使膜的通电面积和电解液温度分布保持均匀",这一目的的电解槽形状设计就是模拟活用的核心。

              电解的软件比较

              🎓

              电解模拟对应的主要商用CAE工具的功能比较,以及各产品的历史背景详述。


              🧑‍🎓

              啊,原来是这样!电解模拟竟然是这样的机制呢。


              支持工具列表

              🧑‍🎓

              那么,进行电解模拟的话,有什么软件可以用呢?


              工具名开发商/现在主要文件格式
              COMSOL MultiphysicsCOMSOL AB.mph
              Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
              Simcenter STAR-CCM+西门子数字产业 Software.sim, .java, .csv
              Ansys Mechanical (旧ANSYS Structural)Ansys Inc..cdb, .rst, .db, .ans, .mac

              COMSOL Multiphysics

              🧑‍🎓

              请给我介绍一下"COMSOL Multiphysics"!


              🎓

              1986年在瑞典创立。以MATLAB联动的FEMLAB开始,后改名为COMSOL。多物理场解析是强项。

              现在所属: COMSOL AB



              Ansys Fluent

              🧑‍🎓

              接下来讲Ansys Fluent吧。是什么内容呢?


              🎓

              Fluent Inc.开发。2006年被Ansys收购。基于非结构网格的通用CFD求解器。

              现在所属: Ansys Inc.




              Ansys Mechanical (旧ANSYS Structural)

              🧑‍🎓

              请给我介绍一下"Ansys Mechanical"!


              🎓

              1970年由Swanson Analysis Systems Inc. (SASI)开发。基于APDL(Ansys参数化设计语言)。

              现在所属: Ansys Inc.


              🧑‍🎓

              原来如此……在瑞典创立的东西,看起来很简单,其实很深奥呢。


              功能比较矩阵

              🧑‍🎓

              预算和时间都有限,哪个最划算呢?


              功能COMSOLFluentStar-CCM+Ansys Mechanical
              基本功能
              高级功能
              自动化/脚本
              并行计算
              GPU支持

              转换时的风险

              🧑‍🎓

              转换时的风险,具体是什么意思呢?


              🎓
              • 单元类型的不兼容: 求解器固有单元无法用中立格式表达
              • 材料模型的差异: 同名的模型内部实现可能不同
              • 边界条件的重新定义: 多数情况需手动重新设置
              • 结果数据的比较: 输出变量的定义(节点值 vs. 单元值、积分点值)存在差异

              • 🧑‍🎓

                啊,原来是这样!不同工具之间的模型竟然是这样的机制呢。


                许可证形式

                🧑‍🎓

                "许可证形式"听过,但好像没有真正理解……


                工具许可证特点
                商用FEA节点锁定/浮动高价但有官方支持
                OpenFOAMGPL免费但支持需要付费
                COMSOL节点锁定/浮动按模块购买
                Code_AsterGPLEDF开发的开源求解器

                选择指南

                🧑‍🎓

                最后,怎样判断选择哪一个,能给我讲讲判断标准吗?


                🎓

                在电解模拟工具选择中应考虑以下几点:


                🎓
                • 解析规模: 对数万~数亿DOF的可扩展性
                • 物理模型: 必要的本构关系·单元类型的对应状况
                • 工作流程: 与CAD的连接、自动化的容易性
                • 成本: 初期投资 + 年度维护 + 教育成本
                • 支持: 技术支持的质量和响应


                • 🧑‍🎓

                  哇,电解模拟真是很深奥呢……不过多亏了老师的讲解,我整理得差不多了!


                  🎓

                  嗯,做得很好呢!真正的学习是要动手实践。遇到不明白的地方,随时来问吧。


                  Coffee Break 闲聊角落

                  电解析工具对"反应式的灵活性"的考问

                  在选择电解模拟工具的过程中,专家最初问的问题是"能否自由定义任意的电化学反应式"。针对燃料电池优化的工具可能会将反应物种限制在氢、氧、水,对于氯碱工业或金属冶炼电解等需要多个电解质离子参与的系统就无法对应。COMSOL的电化学模块在反应定义的自由度上相对较高,适合研究用途。ANSYS在工业过程方面有丰富的实绩。此外,pyBaMM(Python Battery Mathematical Modelling)这样的开源电池、电化学建模框架也在尝试应用于电解。"事先确认工具能够处理的反应式宽度"是选择的第一步。

                  电解的先进研究

                  🎓

                  来看电解模拟中的最新研究动向和先进手法。


                  🧑‍🎓

                  啊,原来是这样!电解模拟竟然是这样的机制呢。


                  最新的数值方法

                  🧑‍🎓

                  接下来讲最新的数值方法吧。是什么内容呢?



                  🧑‍🎓

                  嗯……光看公式还是不太明白…… 表示什么呢?


                  🎓
                  • 等几何解析 (IGA): 直接使用NURBS基函数,实现CAD-CAE间的无缝连接
                  • 粒子法 (SPH, MPM): 网格无关方法,追踪大变形·断裂
                  • 相场法 (Phase-Field): 界面的隐式表达,实现复杂界面追踪
                  • 机器学习辅助: 代理模型、物理信息神经网络 (PINN)


                  • 高性能计算 (HPC) 的对应


                    并行化方法概要适用求解器
                    MPI (领域分割)分布式内存型。大规模问题的标准全主要求解器
                    OpenMP共享内存型。节点内并行许多求解器
                    GPU (CUDA/OpenCL)GPGPU活用。特别对显式方法有效LS-DYNA, Fluent等
                    混合 MPI+OpenMP节点间+节点内并行大规模HPC环境

                    电解的故障排除


                    🧑‍🎓

                    啊,原来是这样!电解模拟竟然是这样的机制呢。


                    常见错误和对策

                    🧑‍🎓

                    老师,您也有过电解模拟通宵调试的经验吗?(笑)



                    1. 收敛失败

                    🧑‍🎓

                    收敛失败,具体是什么意思呢?


                    🎓

                    症状: 求解器在指定反复次数内未收敛,异常终止


                    🎓

                    可能的原因:

                    • 网格品质不足(过度扭曲的单元)
                    • 材料参数的不适当设置
                    • 不适当的初始条件
                    • 非线性性过强(荷载步不足)

                    🎓

                    对策:

                    • 进行网格品质检查(纵横比、Jacobian)
                    • 确认材料参数的单位系
                    • 荷载分成多个步骤(增加子步数)
                    • 放宽收敛判定基准(但要注意精度)

                    🧑‍🎓

                    也就是说,有限元法的部分要是做不好,后面会吃大亏吧?我会记住的!



                    2. 非物理的结果

                    🧑‍🎓

                    接下来讲非物理的结果吧。是什么内容呢?


                    🎓

                    症状: 应力/位移/温度等物理上非现实


                    🎓

                    可能的原因:

                    • 边界条件的设置错误
                    • 单位系混淆(SI单位与工程单位混用)
                    • 不适当的单元类型选择
                    • 应力特异点的存在

                    🎓

                    对策:

                    • 确认反力合计(力的平衡)
                    • 确认单位系的一致性
                    • 重新考虑单元类型的适切性
                    • 特异点消除或子建模

                    🧑‍🎓

                    前辈说"收敛失败一定要搞好",现在终于理解了。




                    3. 计算时间超过

                    🧑‍🎓

                    计算时间的超过,具体是什么意思呢?


                    🎓

                    症状: 计算费时远超预想


                    🎓

                    对策:

                    • 网格粗密分布的最优化
                    • 对称性活用(1/2、1/4模型)
                    • 求解器设置的最优化(迭代法、预处理的选择)
                    • 并行计算的活用



                    4. 内存不足

                    🧑‍🎓

                    请给我介绍一下"内存不足"!


                    🎓

                    症状: Out of Memory 错误


                    🧑‍🎓

                    前辈说"收敛失败一定要搞好",现在终于理解了。


                    🎓

                    对策:

                    • 使用外核求解法
                    • 削减网格规模
                    • 确认64bit版求解器的使用
                    • 增加内存分配

                    🧑‍🎓

                    哦,收敛失败的话题,非常有趣!请再多给我讲一些。


                    Nastran代表错误

                    🧑‍🎓

                    代表错误,具体是什么意思呢?


                    🎓
                    • FATAL 2012: 刚度矩阵奇异 → 约束条件重新检查
                    • USER WARNING 5291: 单元品质不良 → 网格修复
                    • SYSTEM FATAL 3008: 内存不足 → 调整MEM设置


                    • Abaqus代表错误

                      🧑‍🎓