分离解法与单体式解法

分类: 解析 | 综合版 2026-04-06
CAE visualization for partitioned vs monolithic theory - technical simulation diagram
分离解法与单体式解法

分离解法与单体式解法的理论基础

概要

🧑‍🎓

老师!今天是分离解法与单体式解法的话题,对吧?那是什么东西呢?


🎓

多物理场连成的两大方法比较。单体式法的高精度与分离法的灵活性的权衡。



🧑‍🎓

我明白了。那么如果多物理场连成已经可以做了,是不是首先就没问题了?


支配方程




$$ \begin{bmatrix}A_{11}&A_{12}\\A_{21}&A_{22}\end{bmatrix}\begin{bmatrix}u_1\\u_2\end{bmatrix}=\begin{bmatrix}f_1\\f_2\end{bmatrix} $$
$$ \mathbf{u}^{k+1}_1 = A_{11}^{-1}(f_1 - A_{12}\mathbf{u}^k_2) $$




离散化手法

🧑‍🎓

这个方程在计算机上具体怎么求解呢?


🎓

利用有限元法(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 Mechanical (旧Ansys Structural)Ansys Inc..cdb, .rst, .db, .ans, .mac
Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg
Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv

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

🧑‍🎓

各软件的来历是不是挺有故事的?



COMSOL Multiphysics

🧑‍🎓

请告诉我关于"COMSOL Multiphysics"的情况!


🎓

1986年在瑞典设立。以MATLAB关联的FEMLAB起始,后来改名为COMSOL。多物理场是强项。

现在的所属: COMSOL AB



Ansys Mechanical (旧Ansys Structural)

🧑‍🎓

请告诉我关于"Ansys Mechanical"的情况!


🎓

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

现在的所属: Ansys Inc.




Abaqus FEA (SIMULIA)

🧑‍🎓

Abaqus FEA具体是什么意思呢?


🎓

1978年由HKS (Hibbitt, Karlsson & Sorensen)开发。2005年被Dassault Systèmes收购,并入SIMULIA品牌。

现在的所属: Dassault Systèmes SIMULIA


🧑‍🎓

哦,我明白了!在瑞典设立就是这种机制啊。


文件格式与互操作性

🧑‍🎓

在不同软件之间传递数据时有什么要注意的吗?


格式扩展名种类概要
STEP.stp/.step中性CADISO 10303遵循的3D CAD数据交换格式。支持形状+PMI。
IGES.igs/.iges中性CAD早期的CAD数据交换规范。曲面数据的互操作性有问题。向STEP迁移进行中。
VTK.vtk/.vtu可视化可视化工具包格式。在ParaView等中使用。
MED.med网格/结果EDF/CEA开发。在Code_Aster等中使用。基于HDF5。
🎓

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


🧑‍🎓

我明白了。格式看似简单,但其实深奥得很呢。


实务注意事项

🧑‍🎓

有教科书上找不到的"现场智慧"吗?


🎓

网格收敛性确认、边界条件合理性验证、材料参数敏感性分析非常重要。


🎓
  • 网格依赖性验证:确认至少3个网格密度级别的收敛性
  • 边界条件的合理性:设置具有物理意义的拘束条件
  • 结果验证:与理论解、实验数据、已知基准问题的对比



  • 🎓

    加油,态度不错!实际动手是最好的学习方式。有不明白的地方随时问我。


    Coffee Break 杂谈

    分离解法的"加速"技法——Aitken动态松弛大幅改善收敛

    分离解法(Partitioned Approach)的弱点是收敛速度慢,但Aitken动态松弛可以戏剧性地改善这一点。不用固定松弛系数,而是从前面的反复结果中自动计算最优松弛系数ωk+1。数学上是ωk+1 = ωk × (Δrk)T Δrk / (Δrk+1-Δrk)T Δrk更新。在流体-结构耦合中,固定ω=0.5通常需要10~20次迭代,而用Aitken往往3~5次就收敛,很多现场都有报告。preCICE把它作为默认加速手法实现,OpenFOAM与FEniCS耦合中其效果得到了广泛验证。

    分离解法与单体式解法的数值计算手法

    数值手法详情

    🧑‍🎓

    具体用什么算法来求解分离解法和单体式解法呢?




    离散化的定式化



    🎓

    形状函数 $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)| $$

    基础方程的离散形式


    🎓

    用公式表示就是这样。


    $$ \begin{bmatrix}A_{11}&A_{12}\\A_{21}&A_{22}\end{bmatrix}\begin{bmatrix}u_1\\u_2\end{bmatrix}=\begin{bmatrix}f_1\\f_2\end{bmatrix} $$
    $$ \mathbf{u}^{k+1}_1 = A_{11}^{-1}(f_1 - A_{12}\mathbf{u}^k_2) $$

    🧑‍🎓

    嗯……光看公式没啥感觉……这表示什么呢?


    🎓

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



    $$ [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) 或 AMG取决于问题规模
        最大迭代次数1000不收敛时需要重新检查设置
        内存模式In-core尽可能采用

        单体式法

        将全物理场作为1个联立方程组同时求解。对强耦合稳定,但实现复杂、内存消耗大。

        分离法(分离迭代法

        各物理场独立求解,在界面进行数据交换。实现简单,可利用既有求解器。适用于弱耦合。

        界面数据转移

        最近邻法(最简单但精度低)、投影法(保守)、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 Mechanical (旧Ansys Structural)Ansys Inc..cdb, .rst, .db, .ans, .mac
            Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg
            Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv

            COMSOL Multiphysics

            🧑‍🎓

            请告诉我关于"COMSOL Multiphysics"的情况!


            🎓

            1986年在瑞典设立。以MATLAB关联的FEMLAB起始,后来改名为COMSOL。多物理场是强项。

            现在的所属: COMSOL AB



            Ansys Mechanical (旧Ansys Structural)

            🧑‍🎓

            请告诉我关于"Ansys Mechanical"的情况!


            🎓

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

            现在的所属: Ansys Inc.


            🧑‍🎓

            老师的说明很清楚!各软件名字的疑惑消散了。


            常见失败与对策

            🧑‍🎓

            初学者容易犯什么样的错误?事先想知道!


            现象原因对策
            计算不收敛网格品质不良、不适当的边界条件改善网格、重新审视拘束条件
            应力异常大应力奇点、网格依赖回避奇点、局部网格细化
            位移不现实材料常数错误、单位系混在确认输入数据
            计算时间过长不必要的细化、低效的求解网格优化、并行计算

            品质保证检查清单

            🧑‍🎓

            有教科书上找不到的"现场智慧"吗?


            🎓
            • 用3个以上网格级别确认了网格收敛性吗
            • 验证了力的平衡(反力总和)吗
            • 结果是否在物理上合理范围内呢
            • 与已知理论解或基准问题进行了对比吗



            • 🎓

              加油,态度不错!实际动手是最好的学习方式。有不明白的地方随时问我。


              Coffee Break 杂谈

              实务选择指南——应该先试哪个

              分离解法和单体式解法,选哪个取决于问题的物理特性。经验法则是"耦合较弱(单向性,或双向但影响小)的问题从分离解法开始更安全"。例如电子设备热-电流耦合(温度影响导电率但变形可忽略)多数情况分离解法足够。但对水中薄结构的FSI(附加质量效应大)或内燃机那样的强双向耦合则单体式更稳定。实际做法是先用分离解法试试,不收敛/太慢时再改单体式,这样的步进方法最现实。

              分离解法与单体式解法的软件比较

              商用工具比较

              🧑‍🎓

              有各种各样的软件吧?各自有什么特点呢?


              🎓

              详述支持分离解法与单体式解法的主要商用CAE工具的功能比较,及各产品的历史背景。



              支持工具列表

              🧑‍🎓

              那么做分离解法与单体式解法用什么软件呢?


              工具名开发者/现在主要文件格式
              COMSOL MultiphysicsCOMSOL AB.mph
              Ansys Mechanical (旧Ansys Structural)Ansys Inc..cdb, .rst, .db, .ans, .mac
              Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg
              Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv

              COMSOL Multiphysics

              🧑‍🎓

              请告诉我关于"COMSOL Multiphysics"的情况!


              🎓

              1986年在瑞典设立。以MATLAB关联的FEMLAB起始,后来改名为COMSOL。多物理场是强项。

              现在的所属: COMSOL AB



              Ansys Mechanical (旧Ansys Structural)

              🧑‍🎓

              请告诉我关于"Ansys Mechanical"的情况!


              🎓

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

              现在的所属: Ansys Inc.




              Abaqus FEA (SIMULIA)

              🧑‍🎓

              Abaqus FEA具体是什么意思呢?


              🎓

              1978年由HKS (Hibbitt, Karlsson & Sorensen)开发。2005年被Dassault Systèmes收购,并入SIMULIA品牌。

              现在的所属: Dassault Systèmes SIMULIA



              Simcenter STAR-CCM+

              🧑‍🎓

              接下来是Simcenter STAR的话题吧。什么内容呢?


              🎓

              由CD-adapco开发。2016年被Siemens收购并入Simcenter品牌。多面体网格是特点。

              现在的所属: Siemens Digital Industries Software


              🧑‍🎓

              我明白了。在瑞典设立就是这样的机制啊。


              功能比较矩阵

              🧑‍🎓

              预算和时间都有限,性价比最好的是哪个?


              功能COMSOLAnsys MechanicalAbaqusStar-CCM+
              基本功能
              高阶功能
              自动化/脚本
              并行计算
              GPU对应

              转换时的风险

              🧑‍🎓

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


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

              • 🧑‍🎓

                哦,明白了!不同工具间的模就是这样的机制啊。


                许可证形式

                🧑‍🎓

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


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

                选择指南

                🧑‍🎓

                最后的最后,怎样决定选哪个,判断基准能告诉我吗?


                🎓

                分离解法与单体式解法工具选择时应考虑以下要素:


                🎓
                • 解析规模:能否扩展到数万~数亿DOF
                • 物理模型:必要的构成则·单元类型的对应情况
                • 工作流程:与CAD的连携、自动化的便利性
                • 成本:初始投资+年度维护+教育成本
                • 支持:技术支持的质量和响应



                • 🎓

                  加油,态度不错!实际动手是最好的学习方式。有不明白的地方随时问我。


                  Coffee Break 杂谈

                  求解器别的"默认耦合战略"——为什么Ansys默认分离法,COMSOL默认单体式

                  Ansys System Coupling默认采用Partitioned(分离)方法,各求解器(Fluent、Mechanical)独立计算。而COMSOL默认用Monolithic(完全耦合)求解器。这种差异源自两家公司的体系哲学。Ansys的Fluent(流体)和Mechanical(结构)原本是独立产品,疏耦合是自然设计。COMSOL则从一开始就设计为"在1个PDE环境中处理多个物理场",方程级的统一——单体式是自然的。孰优孰劣不是问题,关键是根据问题性质选择合适用法。

                  分离解法与单体式解法的先进研究

                  先端课题与研究动向

                  🧑‍🎓

                  分离解法与单体式解法的领域接下来怎么发展啊?


                  🎓

                  看看分离解法与单体式解法的最新研究动向和先进手法。



                  最新的数值手法

                  🧑‍🎓

                  接下来是最新数值手法的话题吧。什么内容呢?



                  🧑‍🎓

                  嗯……光看公式没啥感觉……这表示什么呢?


                  🎓
                  • 等几何解析 (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单位与工学单位混淆)
                    • 单元类型选择不当
                    • 应力奇点的存在

                    🎓

                    对策

                    • 确认反力总和(力的平衡)
                    • 确认单位系的一致性
                    • 重新审视单元类型的适切性
                    • 奇点排除或子建模

                    🧑‍🎓

                    前辈说"收敛失败一定要好