迭代耦合法
迭代耦合法的理论基础
概述
老师!今天要讲迭代耦合法的内容吧?那是什么东西呢?
固体和流体求解器之间交替交换温度和热流密度的弱耦合方法。既有求解器的组合容易。
控制方程
我现在明白前辈为什么说"迭代耦合法一定要好好做"的意思了。
离散化方法
这个方程在计算机上具体怎么求解呢?
使用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建整体刚度方程。
线性方程求解算法
线性方程求解算法到底是什么意思呢?
用直接法(LU分解、Cholesky分解)或迭代法(CG法、GMRES法)求解联立方程。对于大规模问题,带预处理的迭代法效果显著。
| 求解方法 | 分类 | 内存使用 | 应用规模 |
|---|---|---|---|
| LU分解 | 直接法 | O(n²) | 小~中规模 |
| Cholesky分解 | 直接法(对称正定) | O(n²) | 小~中规模 |
| PCG法 | 迭代法 | O(n) | 大规模 |
| GMRES法 | 迭代法 | O(n·m) | 大规模·非对称 |
| AMG预处理 | 预处理 | O(n) | 超大规模 |
也就是说,在有限元法的地方偷工减料的话,之后会吃亏啊。我记住了!
商用工具中的实现
那么做迭代耦合法有什么软件可以用呢?
| 工具名称 | 开发公司/现在 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | Siemens Digital Industries Software | .sim, .java, .csv |
| COMSOL Multiphysics | COMSOL AB | .mph |
| Ansys Mechanical(旧ANSYS Structural) | Ansys Inc. | .cdb, .rst, .db, .ans, .mac |
| Abaqus FEA (SIMULIA) | 达索系统 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 | 中立CAD | 符合ISO 10303的3D CAD数据交换格式。支持形状+PMI。 |
| CGNS | .cgns | CFD数据 | CFD通用记法系统。CFD结果的标准交换格式。 |
| VTK | .vtk/.vtu | 可视化 | Visualization Toolkit格式。在ParaView等中使用。 |
在不同求解器间转换模型时,要注意单元类型的对应关系、材料模型的兼容性、荷载·边界条件的表示差异。特别是高阶单元和特殊单元(内聚单元、用户定义单元等)在求解器间往往无法直接转换。
原来格式看似简单,其实深度很大啊。
实务注意事项
教科书里没有的"现场智慧"有什么吗?
网格收敛性的确认、边界条件妥当性的验证、材料参数的敏感性分析非常重要。
嗯,做得不错!实际动手操作才是最好的学习。有不明白的地方随时问我。
Dirichlet-Neumann迭代的数学
迭代耦合法的主流是Dirichlet-Neumann(DN)分解。在流体侧给固体界面温度作为Dirichlet条件,得到的热通量作为Neumann条件传给固体。这种交替迭代的收敛条件是满足Schwarz的重叠条件,由Hermann Amadeus Schwarz在1890年证明。其在现代CHT中的应用是以1970年代Patankar等人的离散化理论整备为契机。
迭代耦合法的数值计算方法
数值方法的详细说明
具体用什么算法来求解迭代耦合法啊?
离散化的定式化
用形状函数 $N_i$ 近似未知量:
用公式表示就是这样。
基础方程的离散形式
用公式表示就是这样。
嗯…只看公式还是没有头绪…表示的是什么啊?
连续体的控制方程离散化后,得到以下代数方程组:
这里 $[K]$ 是整体刚度矩阵(或等价的系统矩阵),$\{u\}$ 是未知节点变量向量,$\{F\}$ 是外力向量。
啊,原来是这样!连续体的控制方程这样离散化啊。
单元技术
听过"单元技术"这个词,但可能理解得不太对…
| 单元类型 | 阶数 | 节点数(3D) | 精度 | 计算成本 |
|---|---|---|---|---|
| 四面体1阶 | 线性 | 4 | 低(剪切锁定) | 低 |
| 四面体2阶 | 二次 | 10 | 高 | 中 |
| 六面体1阶 | 线性 | 8 | 中 | 中 |
| 六面体2阶 | 二次 | 20 | 非常高 | 高 |
| 棱柱体 | 线性/二次 | 6/15 | 中~高 | 中 |
积分方案
积分方案具体是什么呢?
现在我终于明白单元类型为什么这么重要了!
收敛性和稳定性
计算不收敛的话,首先要检查什么?
收敛速度:二阶单元以 $O(h^2)$ 的阶数减少误差(光滑解的情况)
原来细化网格看似简单,其实深度很大啊。
求解器设置的建议
具体用什么算法来求解迭代耦合法啊?
| 参数 | 推荐值 | 备注 |
|---|---|---|
| 迭代法收敛判定 | $10^{-6}$ | 残差范数基准 |
| 预处理手法 | ILU(0) or AMG | 根据问题规模 |
| 最大迭代次数 | 1000 | 不收敛时需重新设置 |
| 内存模式 | In-core | 尽可能使用 |
线性单元 vs 2阶单元
热传导分析中线性单元通常也能获得充分精度。温度梯度陡峭的区域(热冲击等)推荐2阶单元。
热流密度的评估
从单元内温度梯度计算得出。与节点应力类似,有时需要进行平滑处理。
对流-扩散问题
Peclet数很高(对流支配)的情况下需要迎风型稳定化(SUPG等)。纯热传导问题不需要。
非定常分析的时间步长
热扩散的特征时间 $\tau = L^2 / \alpha$($\alpha$:热扩散率)相比要充分小。急剧温度变化时自动时间步长控制有效。
非线性收敛
温度依赖物性值引起的非线性通常较缓和,Picard迭代(直接代换法)往往就够了。放射的强非线性需要牛顿法。
定常分析的判定
所有节点温度变化在阈值以下($|\Delta T| / T_{max} < 10^{-5}$等)即判定为收敛。
迭代耦合法的实务应用
实践指南
老师,请讲讲"实践指南"!
解说迭代耦合法的实务分析流程和注意事项。
迭代耦合法的内容听得超有意思!请多讲一些。
分析流程
从最初一步教起吧。首先应该怎么做?
1. 预处理(Pre-processing)
- 导入CAD数据并简化形状
- 定义材料特性
- 网格生成(确定单元类型·大小)
- 设置边界条件和荷载条件
2. 求解(Solving)
- 求解器设置(解法、收敛基准、输出控制)
- 提交作业和实行计算
- 收敛过程监控
3. 后处理(Post-processing)
- 结果可视化(位移、应力、其他物理量)
- 结果验证和合理性确认
- 报告编制
网格生成的最佳实践
网格的好坏怎么判断呢?
单元品质指标
请讲讲"单元品质指标"!
| 指标 | 理想值 | 允许范围 | 影响 |
|---|---|---|---|
| 纵横比 | 1.0 | < 5.0 | 精度降低 |
| Jacobian比 | 1.0 | > 0.3 | 单元退化 |
| 翘曲 | 0° | < 15° | 精度降低 |
| 单元歪斜度 | 0° | < 45° | 收敛性恶化 |
| 锥形比 | 0 | < 0.5 | 精度降低 |
网格密度的确定
网格密度的确定具体是什么呢?
边界条件的设置指导
听说边界条件这里出问题的话整个就全废了…
啊,原来是这样!过约束要注意就是这种机制啊。
商用工具别的实现步骤
有各种各样的软件吧?各自有什么特点?
| 工具名称 | 开发公司/现在 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | Siemens Digital Industries Software | .sim, .java, .csv |
| COMSOL Multiphysics | COMSOL AB | .mph |
| Ansys Mechanical(旧ANSYS Structural) | Ansys Inc. | .cdb, .rst, .db, .ans, .mac |
| Abaqus FEA (SIMULIA) | 达索系统 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
老师的说明通俗易懂!工具名字的困惑解开了。
常见失败和对策
初学者容易犯什么失误呢?事先知道比较好!
| 症状 | 原因 | 对策 |
|---|---|---|
| 计算不收敛 | 网格品质不良、边界条件不当 | 改善网格、重新检讨约束条件 |
| 应力异常大 | 应力奇点、网格依赖性 | 避免奇点、局部网格细化 |
| 位移非现实 | 材料常数错误、单位系统混淆 | 确认输入数据 |
| 计算时间过长 | 不必要的细化、低效求解 | 网格最优化、并行计算 |
品质保证检查表
教科书里没有的"现场智慧"有什么吗?
嗯,做得不错!实际动手操作才是最好的学习。有不明白的地方随时问我。
太阳光面板冷却设计的应用
Sharp的太阳光模块(NDRA295JC)的热设计使用了CFD和有限元法的迭代耦合。硅电池(发电效率18%,剩余82%为热)的发热分布用CFD计算,铝框架的温度场用FEM解析的迭代重复5~8次。电池温度每升高1K,发电效率约降低0.4%,因此这个计算精度直接关系到产品设计。按年发电量换算,一个模块差异会达到数kWh。
迭代耦合法的软件比较
商用工具比较
有各种各样的软件吧?各自有什么特点?
说明支持迭代耦合法的主要商用CAE工具的功能比较和各产品的历史背景。
支持工具一览
那么做迭代耦合法有什么软件可以用呢?
| 工具名称 | 开发公司/现在 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | Siemens Digital Industries Software | .sim, .java, .csv |
| COMSOL Multiphysics | COMSOL AB | .mph |
| Ansys Mechanical(旧ANSYS Structural) | Ansys Inc. | .cdb, .rst, .db, .ans, .mac |
| Abaqus FEA (SIMULIA) | 达索系统 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
Ansys Mechanical(旧ANSYS Structural)
请讲讲"Ansys Mechanical"吧!
1970年由Swanson Analysis Systems Inc. (SASI) 开发。以APDL(Ansys Parametric Design Language)为基础。
现属:Ansys Inc.
啊,原来是这样!开发历史就是这样的机制啊。
功能比较矩阵
预算和时间都有限,成本效益最高的是哪个?
| 功能 | Fluent | Star-CCM+ | COMSOL | Ansys Mechanical |
|---|---|---|---|---|
| 基本功能 | ○ | ○ | ○ | ○ |
| 高级功能 | ○ | ○ | ○ | △ |
| 自动化/脚本 | ○ | ○ | ○ | ○ |
| 并行计算 | ○ | ○ | ○ | ○ |
| GPU支持 | △ | △ | △ | ○ |
转换时的风险
转换时的风险具体是什么呢?
啊,原来是这样!不同工具间的转换就是这种机制啊。
许可证形式
听过"许可证形式"这个词,但可能理解得不太对…
| 工具 | 许可证 | 特点 |
|---|---|---|
| 商用FEA | 节点锁定/浮动 | 高额但有正式支持 |
| OpenFOAM | GPL | 免费但支持有偿 |
| COMSOL | 节点锁定/浮动 | 按模块购买 |
| Code_Aster | GPL | EDF开发的开源求解器 |
选型指导
最后选哪个?请教我判断标准。
在迭代耦合法的工具选型中,考虑以下因素:
嗯,做得不错!实际动手操作才是最好的学习。有不明白的地方随时问我。
preCICE和MpCCI的业界份额
迭代耦合的中间件上,商用的MpCCI(Fraunhofer SCAI制造)和免费的preCICE在市场上竞争。MpCCI与NASTRAN、Abaqus的接口丰富,在汽车OEM中有实装成绩(宝马、大众的热设计部门等)。preCICE是开源软件,在研究机构中普及,2023年下载数超过年3万件。商用版MpCCI的年许可费约100万日元以上。
迭代耦合法的先进研究
先进话题和研究动向
迭代耦合法的领域今后怎么发展呢?
看一下迭代耦合法领域的最新研究动向和先进手法。
最新的数值手法
接下来是最新数值手法的话题吧。说说是怎么回事?
嗯…只看公式还是没有头绪…表示的是什么啊?
高性能计算(HPC)的适配
| 并行化手法 | 概要 | 适用求解器 |
|---|---|---|
| MPI(领域分割) | 分布式内存型。大规模问题的标准 | 全主要求解器 |
| OpenMP | 共享内存型。节点内并行 | 多数求解器 |
| GPU(CUDA/OpenCL) | GPGPU活用。特别对显式法有效 | LS-DYNA、Fluent等 |
| 混合MPI+OpenMP | 节点间+节点内并行 | 大规模HPC环境 |
迭代耦合法的故障排除
故障排除
常见错误和对策
老师也在迭代耦合法上通宵调试过吗?(笑)
1. 收敛失败
收敛失败具体是什么呢?
症状:求解器在指定迭代次数内不能收敛,异常终止
可能的原因:
- 网格品质不足(过度歪曲的单元)
- 材料参数设置不当
- 不恰当的初始条件
- 非线性过强(步长不足)
对策:
- 进行网格品质检查(纵横比、Jacobian)
- 确认材料参数的单位系统
- 将荷载分解成多个步长(增加子步长数)
- 放松收敛判定基准(但要注意精度)
也就是说,在收敛失败的地方偷工减料的话,之后会吃亏啊。我记住了!
2. 非物理的结果
接下来是非物理结果的话题吧。说说是怎么回事?
症状:应力/位移/温度等物理上非现实的值
可能的原因:
- 边界条件误设置
- 单位系统混淆(SI单位与工程单位混用)
- 不恰当的单元类型选择
- 应力奇点的存在
对策:
- 确认反力合计(力的平衡)
- 检查单位系统的一致性
- 重新考虑单元类型的适切性
- 去除或用局部