达西流

分类:流体分析(CFD) | 综合版 2026-04-06
CAE visualization for darcy flow theory - technical simulation diagram
达西流

达西流的理论基础

概述

🧑🎓

老师!今天讲的是达西流吧?这是什么?


🎓

低速多孔介质内流。渗透率张量K。地下水、油气回采。




控制方程




$$ \mathbf{u}=-\frac{\mathbf{K}}{\mu}\nabla p $$
$$ Q=\frac{kA}{\mu L}\Delta p $$




离散化方法

🧑🎓

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


🎓

采用有限元法(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
OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等)、.foam

供应商系统和产品集成历史

🧑🎓

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



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


🧑🎓

啊,开发历史讲得超有趣!还想听更多。


文件格式和互操作性

🧑🎓

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


格式扩展名类型概述
CGNS.cgnsCFD数据CFD通用记号系统。CFD结果的标准交换格式。
VTK.vtk/.vtu后处理Visualization Toolkit格式。用于ParaView等。
🎓

不同求解器间转换模型时,要注意单元类型对应、材料模型兼容性、荷载边界条件表示差异。特别是高阶单元、粘聚单元、用户定义单元等,求解器间往往直接转换不了。


🧑🎓

明白了…格式看似简单,但其实非常复杂。


工程实践注意事项

🧑🎓

教科书里没讲的"现场经验"有吗?


🎓

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


🎓
  • 网格无关性验证:至少用3个不同网格密度检验收敛性
  • 边界条件验证:设置物理上有意义的约束条件
  • 结果验证:与理论解、实验数据、已知基准问题对比


  • 🧑🎓

    达西流这么深,但听了您的讲解,基本理清了!


    🎓

    不错!实践最重要。遇到问题随时问。


    Coffee Break 闲聊时间

    达西在下水道工程中发现的"不起眼规律"后来的大变身

    Henry Darcy在1856年,于法国第戎市的自来水工程中,在测量沙层过滤器的透水流量。起初只是实务性的普通测量,但他发现"流量与压力梯度成正比、与截面积成正比"这个关系,与沙的种类无关。170年后的今天,这个比例常数 $k$(透水系数)被用在从油气储层采油量预测到半导体芯片冷却设计等完全不同的领域。从现场测量出发、后来被广泛应用的规律,这样的例子很少见。

    达西流的数值计算方法

    数值方法的详细说明

    🧑🎓

    具体用什么算法求解达西流?




    离散化的推导



    🎓

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

    基本方程的离散形式


    🎓

    用公式表示是这样的。


    $$ \mathbf{u}=-\frac{\mathbf{K}}{\mu}\nabla p $$
    $$ Q=\frac{kA}{\mu L}\Delta p $$

    🧑🎓

    嗯,光看公式还不太理解…这表示什么?


    🎓

    连续体的控制方程离散化后,得到这样的代数方程组:



    $$ [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尽量使用

        风上差分(Upwind)

        1阶风上:数值扩散大但稳定。2阶风上:精度好但振荡风险。高雷诺数流动必须用。

        中心差分(Central Differencing)

        2阶精度,但Pe数 > 2会数值振荡。低雷诺数扩散主导流适用。

        TVD方案(MUSCL、QUICK等)

        用限制器函数抑制数值振荡同时保持高精度。冲击波和陡峭梯度捕捉有效。

        有限体积法 vs 有限元法

        FVM:自然满足守恒。CFD主流。FEM:复杂形状、多物理场有利。SPH等无网格法也在发展。

        CFL条件(克朗顿数)

        显式法:CFL ≤ 1为稳定条件。隐式法:CFL > 1也稳定但影响精度和迭代数。LES:推荐 CFL ≈ 1。物理意义:一个时间步信息不能传播超过一个格子。

        残差监测

        连续方程、动量、能量各残差下降3~4个数量级为收敛。质量守恒残差特别重要。

        松弛因子

        压力:0.2~0.3、速度:0.5~0.7的初值常见。发散时降低松弛因子。收敛后可升高加速。

        非定常计算的内循环迭代

        各时间步内迭代到定常解。内循环迭代数:5~20次为目安。残差在时间步间波动,需要调整时间步。

        达西流的工程应用

        实践指南

        🧑🎓

        老师,请讲讲"实践指南"吧!


        🎓

        讲述达西流实际分析流程和注意事项。


        🧑🎓

        等等,达西流实际应用是说,还有这种情况也能用?


        分析流程

        🧑🎓

        从头开始怎么做?先从什么开始?


        🎓

        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
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等)、.foam

            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 闲聊时间

              滤碱槽的透水系数怎样在"现场"测

              达西律实际应用需要透水系数 $k$ 的值,但在实验室测出的 $k$ 往往与现地值偏离很大。现场采用"抽水试验"——从实际井中抽水,沿周围观测井测量地下水位的时间序列,反算 $k$。地下坝的安全评价和油气田采油计划中,这种反演问题分析(履历匹配)常结合CFD和最优化算法用。实测数据改变1点,$k$ 估计值可能变化数倍,实务中需要不确定性定量评价(UQ)。

              达西流的软件比较

              商用工具比较

              🧑🎓

              各种软件都有?各有什么特点?


              🎓

              详述达西流适用的主要商用CAE工具的功能比较与各厂商历史。



              支持的工具列表

              🧑🎓

              那么,做达西流用什么软件呢?


              工具名称开发商/现在的东家主要文件格式
              Ansys FluentANSYS Inc..cas, .dat, .msh, .jou
              Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
              COMSOL MultiphysicsCOMSOL AB.mph
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等)、.foam

              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



              OpenFOAM

              🧑🎓

              OpenFOAM具体是什么?


              🎓

              帝国理工学院发源的开源CFD。OpenCFD Ltd(ESI集团旗下)和The OpenFOAM Foundation并行开发。

              现所属:开源(OpenCFD/ESI、OpenFOAM Foundation)


              🧑🎓

              哦,我明白了!开发形态就这样。


              功能比较矩阵

              🧑🎓

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


              机能FluentStar-CCM+COMSOLOpenFOAM
              基本机能
              高级机能
              自动化/脚本
              并行计算
              GPU适配

              转换时的风险

              🧑🎓

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


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

              • 🧑🎓

                我明白了!不同工具间的转换就是那样。


                许可证形式

                🧑🎓

                "许可证形式"听过,但没完全理解…


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

                选型指南

                🧑🎓

                到底选哪个?判断基准告诉我!


                🎓

                达西流工具选定时需要考虑:


                🎓
                • 分析规模:到数亿自由度的可扩展性
                • 物理模型:所需构成则、单元类型对应状况
                • 工作流:与CAD的连联、自动化的容易度
                • 成本:初期投资 + 年保守 + 教育成本
                • 支持:技术支持的质量与应答


                • 🧑🎓

                  达西流这么深,但听了您的讲解,基本理清了!


                  🎓

                  不错!实践最重要。遇到问题随时问。


                  Coffee Break 闲聊时间

                  多孔介质模型实装为什么在工具间有微小偏差

                  在Fluent、CFX、OpenFOAM中实装达西流的多孔介质模型,即使设置相同的透水系数 $k$,结果也会有微小偏差。原因之一是"多孔介质领域的惯性项处理":Fluent默认需要惯性阻力系数 $C_2$,而OpenFOAM的DarcyForchheimer模型则分开输入 $d$(粘性系数)和 $f$(惯性系数)。转换公式错了,压力损失会差几倍。商用工具选定时,必须在手册里確认"输入参数的物理定义",这是现场铁则。

                  达西流的前沿研究

                  前沿课题与研究趋势

                  🧑🎓

                  达西流领域以后会怎样发展?


                  🎓

                  看一下达西流最新研究动向和先进方法。



                  最新数值方法

                  🧑🎓

                  下讲最新数值方法,什么内容?



                  🧑🎓

                  嗯,光看公式还不太理解…这表示什么?


                  🎓
                  • 等几何分析(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 错误


                    🧑🎓

                    前辈说"收敛失败一定要认真搞",现在明白了。


                    🎓

                    对策

                    • 使用Out-of-Core求解法
                    • 削减网格规模
                    • 确认64位版求解器
                    • 增加内存分配

                    🧑🎓

                    哇,收敛失败的话题,超有意思!更多讲点。


                    Nastran常见错误

                    🧑🎓