Stefan Problem

分类:热解析 | 综合版 2026-04-06
CAE visualization for stefan problem theory - technical simulation diagram
斯特凡问题

斯特凡问题的理论基础

概述

🙋

老师!今天是斯特凡问题的内容吧?是什么样的呢?


🎓

凝固·融解的移动边界问题。界面位置的时间演变追踪的古典定式化。



🙋

等等,凝固·融解的移动边界,也就是说这种情况也能应用吗?


支配方程




$$ k_s\frac{\partial T_s}{\partial x}\bigg|_{x=s} - k_l\frac{\partial T_l}{\partial x}\bigg|_{x=s} = \rho L_f \frac{ds}{dt} $$
$$ s(t) = 2\lambda\sqrt{\alpha t} $$



🙋

明白了。那么如果能记述斯特凡问题,就基本上没问题了吧?


离散化手法

🙋

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


🎓

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


🎓

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




矩阵求解算法

🙋

矩阵求解算法具体是指什么呢?


🎓

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



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

也就是说在有限元法的地方如果马虎,之后就会吃苦头呢。我记住了!


商用工具中的实现

🙋

那么要做斯特凡问题的话有什么软件可以用呢?


工具名开发商/现在所属主要文件格式
Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
COMSOL MultiphysicsCOMSOL AB.mph
Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg

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

🙋

各个软件的来历,是不是充满了戏剧性呢?



Ansys Fluent

🙋

接下来是Ansys Fluent的话题呢。内容是什么呢?


🎓

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

现在所属:Ansys Inc.



Simcenter STAR-CCM+

🙋

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


🎓

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

现在所属:Siemens Digital Industries Software


🙋

听了这些,才终于明白为什么开发的历史这么重要了!



COMSOL Multiphysics

🙋

请介绍一下"COMSOL Multiphysics"!


🎓

1986年在瑞典成立。初期作为MATLAB联动的FEMLAB开始,后来改名为COMSOL。多物理领域特别强。

现在所属:COMSOL AB


🙋

哇~,开发的故事真的太有意思了!请继续讲。


文件格式与互操作性

🙋

不同软件间传输数据时有什么注意事项吗?


格式扩展名种类概述
STEP.stp/.step中立CADISO 10303标准的3D CAD数据交换格式。形状+PMI支持。
CGNS.cgnsCFD数据CFD General Notation System。CFD结果的标准交换格式。
VTK.vtk/.vtu可视化可视化工具包格式。ParaView等使用。
🎓

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


🙋

原来看似简单的格式,其实有这么多讲究啊。


实务上的注意事项

🙋

教科书上不会讲的"现场智慧"有什么吗?


🎓

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


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


  • 🙋

    斯特凡问题的整体印象已经有了!从明天开始在实际工作中注意。


    🎓

    很好!真正动手做才是最好的学习。有不明白的随时来问。


    Coffee Break 闲话

    斯特凡问题的数学定式化

    有移动边界的热传导问题"斯特凡问题"是1891年奥地利物理学家Josef Stefan在冰融解论文中定式化的。与1879年Stefan发现的Stefan-Boltzmann辐射定律常被混淆,但实际上是同一个人。解析解(Neumann解)只在半无限体的一维情况下存在,多维问题需要用FEM求解。

    斯特凡问题的数值计算手法

    数值手法的详细内容

    🙋

    具体用什么样的算法求解斯特凡问题呢?



    🙋

    也就是说在有限元法的地方如果马虎,之后就会吃苦头呢。我记住了!


    离散化的定式化



    🎓

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

    基础方程的离散形式


    🎓

    用公式表示就是这样。


    $$ k_s\frac{\partial T_s}{\partial x}\bigg|_{x=s} - k_l\frac{\partial T_l}{\partial x}\bigg|_{x=s} = \rho L_f \frac{ds}{dt} $$
    $$ s(t) = 2\lambda\sqrt{\alpha t} $$

    🙋

    只有公式的话,还是不太能理解… 具体表示什么呢?


    🎓

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



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


    🎓

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


    🙋

    啊,原来连续体的支配方程离散化是这样的呢。明白了。


    单元技术

    🙋

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


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

    积分方案

    🙋

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


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

    • 🙋

      听到这儿,终于明白单元类型为什么这么重要了!


      收敛性与稳定性

      🙋

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


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

      • 🎓

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


        🙋

        原来细化网格看似简单,其实也有这么多讲究啊。


        求解器设置的推荐

        🙋

        具体用什么样的算法求解斯特凡问题呢?


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

        线性单元 vs 2次单元

        热传导分析中线性单元通常能达到充分的精度。温度梯度急剧的区域(热冲击等)推荐用2次单元。

        热流通量的评估

        从单元内温度梯度计算。与节点应力一样,有时需要平滑处理。

        对流-扩散问题

        当Peclet数高(对流控制)时,需要迎风稳定化(SUPG等)。纯热传导问题无需。

        非稳态分析的时间步长

        设置时间步长要小于热扩散的特征时间 $\tau = L^2 / \alpha$($\alpha$:热扩散率)。温度变化急剧时,自适应时间步控制很有效。

        非线性收敛

        温度依赖物性的非线性通常较温和,Picard迭代(直接替换法)通常就足够。辐射的强非线性则推荐Newton法。

        稳态分析的判定

        所有节点温度变化低于阈值($|\Delta T| / T_{max} < 10^{-5}$等)时判为收敛。

        斯特凡问题的实务应用

        实战指南

        🙋

        老师,请介绍一下"实战指南"!


        🎓

        讲解斯特凡问题的实务分析流程和注意事项。



        分析流程

        🙋

        从最初开始怎么做?要从哪里开始呢?


        🎓

        1. 前处理 (Pre-processing)

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

        🎓

        2. 求解 (Solving)

        • 求解器设置(求解法、收敛标准、输出控制)
        • 投入计算任务并执行
        • 收敛过程监控

        🎓

        3. 后处理 (Post-processing)

        • 结果可视化(位移、应力、其他物理量)
        • 结果验证与合理性确认
        • 报告编制


        网格生成的最佳实践

        🙋

        怎样判断网格的好坏呢?



        单元品质指标

        🙋

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


        指标理想值允许范围影响
        宽高比1.0< 5.0精度降低
        雅可比比1.0> 0.3单元退化
        翘曲< 15°精度降低
        偏斜度< 45°收敛性恶化
        锥形比0< 0.5精度降低

        网格密度的确定

        🙋

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


        🎓
        • 应力集中部:最少需要3层以上的单元
        • 应力梯度大的区域:单元尺寸缩小到周围的1/3~1/5
        • 荷载印加点附近:局部细化
        • 远处区域:用粗网格确保计算效率


        • 边界条件的设置指南

          🙋

          听说边界条件这地方弄错了就全都没了…


          🎓
          • 避免过度约束:刚体运动的约束只需6个自由度
          • 对称条件的活用:减少计算规模
          • 荷载的等效分配:集中荷载 vs. 分布荷载的选择

          • 🙋

            啊,原来过度约束要注意啊。明白了。


            商用工具的实现步骤

            🙋

            有这么多软件,各自有什么特点呢?


            工具名开发商/现在所属主要文件格式
            Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
            Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
            COMSOL MultiphysicsCOMSOL AB.mph
            Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg

            Ansys Fluent

            🙋

            接下来是Ansys Fluent的话题呢。内容是什么呢?


            🎓

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

            现在所属:Ansys Inc.



            Simcenter STAR-CCM+

            🙋

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


            🎓

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

            现在所属:Siemens Digital Industries Software


            🙋

            老师的说明太清楚了!工具名的迷蒙都散开了。


            常见失败与对策

            🙋

            初学者容易掉的坑有什么呢?事先知道就好了!


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

            质量保证检查清单

            🙋

            教科书上不会讲的"现场智慧"有什么吗?


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


            • 🙋

              斯特凡问题的整体印象已经有了!从明天开始在实际工作中注意。


              🎓

              很好!真正动手做才是最好的学习。有不明白的随时来问。


              Coffee Break 闲话

              海冰成长的斯特凡问题应用

              北冰洋的海冰成长模型是典型的斯特凡问题,1985年Thorndike & Colonna提出的零层模型至今40年后仍是气候模型的基础。现在的MIT的海洋大气结合模式MITgcm用分裂算子法求3维斯特凡问题,能用±8cm精度再现南极大陆周边的海冰厚度与卫星数据的吻合。

              斯特凡问题的软件比较

              商用工具比较

              🙋

              有这么多软件,各自有什么特点呢?


              🎓

              就斯特凡问题对应的主要商用CAE工具的功能比较和各产品的历史背景详述。


              🙋

              原来斯特凡问题对应看似简单,其实有这么多讲究啊。


              支持工具列表

              🙋

              那么要做斯特凡问题的话有什么软件可以用呢?


              工具名开发商/现在所属主要文件格式
              Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
              Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
              COMSOL MultiphysicsCOMSOL AB.mph
              Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg

              Ansys Fluent

              🙋

              接下来是Ansys Fluent的话题呢。内容是什么呢?


              🎓

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

              现在所属:Ansys Inc.



              Simcenter STAR-CCM+

              🙋

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


              🎓

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

              现在所属:Siemens Digital Industries Software


              🙋

              听了这些,才终于明白为什么开发的历史这么重要了!



              COMSOL Multiphysics

              🙋

              请介绍一下"COMSOL Multiphysics"!


              🎓

              1986年在瑞典成立。初期作为MATLAB联动的FEMLAB开始,后来改名为COMSOL。多物理领域特别强。

              现在所属:COMSOL AB



              Abaqus FEA (SIMULIA)

              🙋

              Abaqus FEA,具体是什么意思呢?


              🎓

              由HKS (Hibbitt, Karlsson & Sorensen) 在1978年开发。2005年被达索系统收购,整合到SIMULIA品牌。

              现在所属:Dassault Systèmes SIMULIA


              🙋

              啊,原来是这样啊!明白了。


              功能比较矩阵

              🙋

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


              功能FluentStar-CCM+COMSOLAbaqus
              基本功能
              高度功能
              自动化/脚本
              并列计算
              GPU支持

              转换时的风险

              🙋

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


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

              • 🙋

                原来不同工具间转换模型看似简单,其实这么多讲究啊。


                许可证形式

                🙋

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


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

                选型指南

                🙋

                到底选哪个,能告诉我判断标准吗?


                🎓

                在斯特凡问题的工具选择中需要考虑以下因素:


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


                • 🙋

                  斯特凡问题的整体印象已经有了!从明天开始在实际工作中注意。


                  🎓

                  很好!真正动手做才是最好的学习。有不明白的随时来问。


                  Coffee Break 闲话

                  COMSOL的Stefan问题实装

                  COMSOL在2008年的version 3.5从"Heat Transfer with Phase Change"模块把斯特凡问题专用界面化。背景是与达索系统SIMULIA Abaqus的竞争激化,为防止用户流出,用2年时间实装了移动边界问题的自动网格再生成(ALE法)。现在年度许可证约200万日元,主要被研究机构使用。

                  斯特凡问题的尖端研究

                  尖端话题与研究动向

                  🙋

                  斯特凡问题这个领域,今后会怎样发展呢?


                  🎓

                  来看看斯特凡问题最新研究动向和先进的手法吧。



                  最新数值手法

                  🙋

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



                  🙋

                  只有公式的话,还是不太能理解… 具体表示什么呢?


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


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


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

                    斯特凡问题的问题排查

                    故障排除




                    常见错误与对策

                    🙋

                    老师也为斯特凡问题通宵调试过吗?(笑)



                    1. 收敛失败

                    🙋

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


                    🎓

                    症状:求解器在指定迭代次数内不收敛而异常终止


                    🎓

                    可能的原因

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

                    🎓

                    对策

                    • 实施网格品质检查(宽高比、雅可比比)
                    • 确认材料参数的单位系统
                    • 分割荷载为多个步(增加亚步数)
                    • 放松收敛判定标准(但要留意精度)

                    🙋

                    也就是说在有限元法的地方如果马虎,之后就会吃苦头呢。我记住了!



                    2. 非物理的结果

                    🙋

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


                    🎓

                    症状应力/变位/温度等物理上不现实的值


                    🎓

                    可能的原因

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

                    🎓

                    对策

                    • 确认反力合计(力的平衡)
                    • 检查单位系的一致性
                    • 重新评估单元类型的合适性
                    • 除去或进行局部细分模型化处理

                    🙋

                    前辈说过"收敛失败一定要好好做"的意思现在明白了。




                    3. 计算时间过度

                    🙋

                    计算时间过度具体是什么意思呢?


                    🎓

                    症状:计算耗时超过预想的数倍


                    🎓

                    对策

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



                    4. 内存不足

                    🙋

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


                    🎓

                    症状:Out of Memory 错误


                    🙋

                    前辈说过"收敛失败一定要好好做"的意思现在明白了。


                    🎓

                    对策

                    • 使用核外解法
                    • 削减网格规模
                    • 确认