流体-结构耦合 — CAE术语解说
FSI(流体-结构耦合 / Fluid-Structure Interaction)
老师,FSI就是同时求解流体和结构对吧?为什么非得耦合求解呢?
流体-结构耦合的理论基础
基本概念和支配方程
流体-结构耦合(FSI)最终处理的是什么现象?"耦合"这个词太抽象了,我搞不懂。
具体来说,是流体的力使结构变形,其变形反过来改变流体流动,这种相互干涉现象。例如,飞机机翼的颤振(自激振动)是典型的FSI问题。空气力使机翼弯曲,机翼的弯曲改变空气流动方式,产生不同的空气力,形成恶性循环,振动发散。1940年塔科玛纳罗斯桥的崩塌也是风和桥梁结构的FSI导致的。
那用数学表达的话,流体和结构分别遵循什么方程?
支配方程是独立的。不可压缩牛顿流体用Navier-Stokes方程,结构用运动方程。耦合的本质在于通过"边界条件"将这些方程联系起来。具体来说,流体-结构界面必须满足两个条件:
1. 运动学适配条件:界面处流体和结构的变位、速度一致。
听说"弱耦合"和"强耦合",这是边界条件处理方式的区别吗?
正是这样。时间积分的一步内,求解方法不同。弱耦合(疏松耦合)是顺次运行流体求解器和结构求解器,每次交换边界数据(力、变位)。计算成本低,但特别是在密度比接近的问题(水和橡胶)中易不稳定,有发散风险。强耦合(紧密耦合)是将流体和结构方程作为一个系统,或用迭代法同时求解。稳定性高,但需要迭代计算,成本高。Ansys中System Coupling提供强耦合算法。
流体-结构耦合的数值计算手法
离散化和求解器设置
网格问题,流体和结构的网格相互独立的情况下,界面处的数据怎样交换?网格位置不一致会有问题吧。
这个技术叫做映射(或插值)。必须将结构侧计算的变位转移到流体网格(特别是动网格的边界)。常用的是径向基函数(RBF)法或基于有限元法的插值。比如老的汎用耦合软件MPCCI,或现在的Ansys System Coupling就在后台运行这些算法。为了保持精度,需要将界面附近两侧的网格粗糙度尽可能调一致。
你提到动网格,结构变形太大时,流体网格会严重扭曲,计算不会崩溃吗?
确实,这是FSI的大难点之一。主要有三种对策:
实现强耦合时,具体怎么配置求解器?比如流体和结构的时间步长要一样吗?
不一定要一样,但调整很难。通常按更快的现象(多数情况是流体涡脱)来决定时间步长。用Ansys Fluent和Mechanical通过System Coupling耦合时,设置"Coupling Time Step"。该步内,Fluent执行多个内部步,Mechanical执行(根据设置)一步,进行数据交换和强耦合反复(比如IQN-ILS法)。为保稳定,耦合时间步推荐设为结构固有周期的1/10~1/20以下。
流体-结构耦合的实务应用
工作流程和检查清单
开始FSI分析前,单独的流体分析和结构分析要做到什么精度就行?
这很关键。务必进行单体验证。比如,给结构模型加上静压分布,比较变形量和理论值、已知数据。流体模型在固定形状下,检查流体力(阻力、升力)是否符合实验值或文献值。特别要确认乱流模型(FSI中常用SST k-ω)的适当性。这些不符合的状态下耦合,只会得到无意义的结果。还要做网格敏感性分析,确保单体结果不依赖网格。
耦合计算发散了,最先怀疑哪个设置?
建议按这个顺序查:
检查结果合理性有定量指标吗?比如能量守恒这样的。
好眼光。到达稳定态的振动问题,要监视能量收支。流体对结构的功率(力乘速度的界面积分)应该等于结构运动能和应变能的变化率加上阻尼的散逸能。另一个重要指标是界面残差。强耦合求解器会输出"界面残差",显示运动学、力学条件的满足度。必须确认这个残差低于指定容限(比如1e-3)。COMSOL可以直接监视这个残差。
流体-结构耦合的软件比较
各软件的方法
Ansys、Abaqus、COMSOL做FSI时,根本的架构有什么不同?
架构大致分两类:
开源里怎么样?OpenFOAM能做FSI吗?
可以。主要两种方法。一是用OpenFOAM内的"solidDisplacementFoam"这样的内置求解器。二是用"preCICE"这个开源耦合库,更通用。preCICE能耦合OpenFOAM(流体)和Calculix、deal.II(结构)这样完全不同的求解器。灵活性很高,研发现场常用。但不像商用软件那样有GUI点点就行,需要一定编码和知识。
特定行业,比如汽车或生物医疗,哪个软件接近实际标准?
行业差别很大:
流体-结构耦合的故障排除
常见错误和对策
计算中出现"Negative Volume Detected"错误停止。这是流体网格塌陷了?
是的。结构变形太大或太急,邻近流体网格单元翻转,体积变负。对策如下:
弱耦合计算能跑,但结果明显"闪烁"振动,物理上不自然。什么原因?
可能是"人工刚性"或"棋盘振动"的数值不稳定。特别是流体和结构网格不匹配,映射误差时,容易出现。力的交换在空间上不光滑,节点间有波动。对策是:
耦合计算非常慢。怎样找到瓶颈?看什么日志?
分别看各求解器和耦合平台的日志:
相关主题
意义
更详细
错误