谱方法

分类:流体解析(CFD) | 集成版 2026-04-06
CAE visualization for spectral methods theory - technical simulation diagram
谱方法

谱方法的理论基础

概要

🧑‍🎓

老师!今天是讲谱方法吗?这是什么东西呢?


🎓

高阶精度。切比雪夫、傅里叶基底。DNS/LES的高精度求解方法。



🧑‍🎓

我哥哥说"高阶精度一定要认真对待",现在我理解他的意思了。


支配方程




$$ u(x)=\sum_{k=0}^N \hat{u}_k \phi_k(x) $$
$$ \text{Exponential convergence} $$



🧑‍🎓

啊,我明白了!谱方法的表述就是这样的机制呢。


离散化手法

🧑‍🎓

在计算机上实际如何求解这个方程呢?


🎓

使用有限元法(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
Ansys CFXAnsys Inc..cfx, .def, .res, .ccl
Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam

供应商系统与产品整合历程

🧑‍🎓

各个软件的发展历史,有什么戏剧化的地方吗?



Ansys Fluent

🧑‍🎓

接下来是Ansys Fluent的内容吧。具体是什么呢?


🎓

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

现在所属:Ansys Inc.



Ansys CFX

🧑‍🎓

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


🎓

AEA Technology (UK) 开发的CFX。2003年被Ansys收购。耦合型求解器是其特点。

现在所属:Ansys Inc.


🧑‍🎓

到这里听,我终于理解为什么开发历史那么重要了!



Simcenter STAR-CCM+

🧑‍🎓

接下来是Simcenter STAR的内容吧。具体是什么呢?


🎓

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

现在所属:Siemens Digital Industries Software


🧑‍🎓

哦,开发的故事真的超有意思!希望听到更多。


文件格式与互操作性

🧑‍🎓

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


格式扩展名类型概述
CGNS.cgnsCFD数据CFD通用记号系统。CFD结果的标准交换格式。
VTK.vtk/.vtu可视化可视化工具包格式。在ParaView等中使用。
🎓

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


🧑‍🎓

原来格式看起来简单,但其实深度很大啊。


实务上的注意事项

🧑‍🎓

有没有教科书上没有的"现场智慧"类的东西呢?


🎓

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


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


  • 🧑‍🎓

    谱方法的全体形象我掌握了!明天开始在实务中留心了。


    🎓

    很好,你的状态很不错!实际动手是最好的学习。有不明白的地方随时问我。


    Coffee Break 闲话

    傅里叶展开的"指数收敛"——为什么FDM、FVM与谱方法精度次元不同

    谱方法的理论优势在于"指数收敛(Exponential Convergence)"。FDM、FVM在网格宽度h下保持O(h²)或O(h⁴)的代数收敛,而谱方法对光滑解而言误差随模式数N按O(e^{-cN})下降——换句话说,把模式数翻倍,误差就会指数级下降。这种特性使得"用少量模式实现超高精度"成为可能。但前提是解要足够光滑,一旦出现不连续或冲击波,就会产生Gibbs现象(过冲),收敛退化为代数型。流体动力学理论研究(特别是均匀湍流的DNS)之所以独占谱方法的一席之地,根本原因就在这个收敛特性的差异上。

    谱方法的数值计算手法

    数值手法的详细说明

    🧑‍🎓

    具体用什么算法求解谱方法呢?




    离散化的表述



    🎓

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

    基础方程式的离散形式


    🎓

    用公式表示就是这样。


    $$ u(x)=\sum_{k=0}^N \hat{u}_k \phi_k(x) $$
    $$ \text{Exponential convergence} $$

    🧑‍🎓

    嗯,只看式子还是不太明白呢…这是什么意思呢?


    🎓

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



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

        风上差分(Upwind)

        1阶风上:数值扩散大但稳定。2阶风上:精度提高但振荡的风险。高雷诺数流动中必需。

        中心差分(Central Differencing)

        2阶精度但Pe数 > 2时会产生数值振荡。适用于低雷诺数的扩散主导流动。

        TVD方案(MUSCL、QUICK等)

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

        有限体积法 vs 有限元法

        FVM:自然满足保存律。是CFD的主流。FEM:对复杂形状和多物理耦合有利。网格自由法如SPH等也在发展。

        CFL条件(库朗数)

        显式格式:CFL ≤ 1是稳定条件。隐式格式:CFL > 1也稳定但影响精度和迭代次数。LES:推荐 CFL ≈ 1。物理意义:1个时间步信息不会流过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
            Ansys CFXAnsys Inc..cfx, .def, .res, .ccl
            Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam

            Ansys Fluent

            🧑‍🎓

            接下来是Ansys Fluent的内容吧。具体是什么呢?


            🎓

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

            现在所属:Ansys Inc.



            Ansys CFX

            🧑‍🎓

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


            🎓

            AEA Technology (UK) 开发的CFX。2003年被Ansys收购。耦合型求解器是其特点。

            现在所属:Ansys Inc.


            🧑‍🎓

            老师的解说好懂!关于工具名称的疑惑消散了。


            常见失败和对策

            🧑‍🎓

            初学者容易犯的失败模式有什么吗?想事先知道!


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

            质量保证检查清单

            🧑‍🎓

            有没有教科书上没有的"现场智慧"类的东西呢?


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


            • 🧑‍🎓

              谱方法的全体形象我掌握了!明天开始在实务中留心了。


              🎓

              很好,你的状态很不错!实际动手是最好的学习。有不明白的地方随时问我。


              Coffee Break 闲话

              谱方法的"反演叠加误差"——2/3法则这个地味但重要的实践知识

              在实现谱方法时,非线性项计算会出现"反演叠加误差"这个麻烦问题。在物理空间和谱空间之间用FFT来回往返时,高波数成分会发生折返。实践的对策是"2/3法则(Dealiasing)",将使用的模式数限制在解像度的2/3以消除折返误差。也就是说,看起来能用128个模式的计算,实际上能用的只有85个模式——有1/3的计算成本被"浪费"了。不知道这点而使用的话,湍流能量谱的高波数侧会出现不自然隆起的典型症状。

              谱方法的软件对比

              商用工具对比

              🧑‍🎓

              有各种各样的软件吧?请给我分别介绍一下它们的特点!


              🎓

              详述对谱方法有对应的主要商用CAE工具的功能对比和各产品的历史背景。



              对应工具一览

              🧑‍🎓

              那么谱方法可以用什么软件呢?


              工具名称开发方/现在主要文件格式
              Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
              Ansys CFXAnsys Inc..cfx, .def, .res, .ccl
              Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam

              Ansys Fluent

              🧑‍🎓

              接下来是Ansys Fluent的内容吧。具体是什么呢?


              🎓

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

              现在所属:Ansys Inc.



              Ansys CFX

              🧑‍🎓

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


              🎓

              AEA Technology (UK) 开发的CFX。2003年被Ansys收购。耦合型求解器是其特点。

              现在所属:Ansys Inc.


              🧑‍🎓

              到这里听,我终于理解为什么开发历史那么重要了!



              Simcenter STAR-CCM+

              🧑‍🎓

              接下来是Simcenter STAR的内容吧。具体是什么呢?


              🎓

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

              现在所属:Siemens Digital Industries Software



              OpenFOAM

              🧑‍🎓

              OpenFOAM,具体是什么意思呢?


              🎓

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

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


              🧑‍🎓

              啊,我明白了!开发就是这样的机制呢。


              功能对比矩阵

              🧑‍🎓

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


              功能FluentCFXStar-CCM+OpenFOAM
              基础功能
              高级功能
              自动化/脚本
              并行计算
              GPU支持

              转换时的风险

              🧑‍🎓

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


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

              • 🧑‍🎓

                啊,我明白了!不同工具间转换就是这样的机制呢。


                许可证形式

                🧑‍🎓

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


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

                选择指南

                🧑‍🎓

                到底该选哪个,给我判断基准吧?


                🎓

                谱方法工具选择时需要考虑以下因素:


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


                • 🧑‍🎓

                  谱方法的全体形象我掌握了!明天开始在实务中留心了。


                  🎓

                  很好,你的状态很不错!实际动手是最好的学习。有不明白的地方随时问我。


                  Coffee Break 闲话

                  "与谱方法对应的商用CFD工具不存在"——为什么演变成研究室的专有物

                  用谱方法进行的计算主要在NekTar++、SEMTEX、Nek5000等开源代码中进行,而不是装在Fluent、STAR-CCM+这样的商用CFD中,这是有原因的。商用工具优先考虑的是复杂几何形状、实用性网格的对应,而谱方法只有在简单形状(管、平板等)中才能真正发挥作用,对发动机、泵、建筑物等现场复杂形状反而不擅长。加上"解足够光滑"这个前提条件在实际问题中常不成立。结果是,谱方法虽然在湍流基础研究的基准计算中坚守着不动的地位,但商用化一直没有实现——这样的分工状况持续至今。

                  谱方法的先进研究

                  先进话题和研究动向

                  🧑‍🎓

                  谱方法的领域今后怎样发展呢?


                  🎓

                  让我们看一下谱方法领域的最新研究动向和先进手法。



                  最新的数值手法

                  🧑‍🎓

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



                  🧑‍🎓

                  嗯,只看式子还是不太明白呢…这是什么意思呢?


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


                  • 对高性能计算(HPC)的支持


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

                    谱方法的故障排除

                    故障排除



                    🧑‍🎓

                    老师的解说好懂!关于谱方法的疑惑消散了。


                    常见错误和对策

                    🧑‍🎓

                    老师也在谱方法中彻夜调试过吗?(笑)



                    1. 收敛失败

                    🧑‍🎓

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


                    🎓

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


                    🎓

                    可能原因

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

                    🎓

                    对策

                    • 实施网格品质检查(纵横比、雅可比)
                    • 确认材料参数的单位系
                    • 将荷载分为多个步骤(增加子步数)
                    • 放松收敛判定基准(但要注意精度)

                    🧑‍🎓

                    也就是说在收敛失败的地方马虎的话,之后就会吃苦头。铭记在心!



                    2. 非物理的结果

                    🧑‍🎓

                    接下来是非物理结果的话题吧。具体是什么呢?


                    🎓

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


                    🎓