对于许多设计工程师而言,模拟多体机构与周围流体的相互作用是一项有趣但具有挑战性的任务。借助 COMSOL®软件 中的流体–多体相互作用多物理场耦合接口,我们可以轻松地解决此类问题。本篇博文,我们通过一个示例详细介绍了如何应用该接口对多体机构中的流-固耦合进行模拟。
什么是流-固耦合?
任何一个固体和流体之间相互作用的多物理场问题,都属于流-固耦合(FSI)。通常,当固体结构与流动的流体接触时,流体会对结构的边界施加压力和黏性力,导致结构变形;反之,变形后的结构又可以作为流体的移动壁边界,并改变流场。流体与固体之间的相互作用可以是单向的(单向耦合)或双向的(双向耦合)。流-固耦合分析的目的是计算结构中的应力和应变以及流体流动的速度和压力场。
多体装配系统中的流-固耦合模拟。
大多数解决流-固耦合问题的常规分析或数值方法都很复杂,而 COMSOL Multiphysics®软件具有轻松耦合不同物理场接口的功能,简化了建模工作。COMSOL Multiphysics 提供了一组预定义的多物理场接口,这些接口可以将不同的结构力学接口(例如固体力学,多体动力学,壳和膜)与不同的流体流动接口(单相或多相流动)相耦合,用于流-固耦合模拟。
除了各自的结构力学和流体流动接口之外,这些预定义的流-固耦合接口的每个接口还包含一个多物理场耦合接口。在软件中,流体流动问题被定义在移动网格(空间坐标系)上,而固体力学问题被定义在材料坐标系上。此外,使用任意拉格朗日-欧拉(ALE)方法,可以将变形的固体结构设置为边界条件以追踪移动网格。多物理场耦合节点通过计算移动网格、材料的变形以及传递到结构的流体力来耦合流体和固体结构。
不同的流-固耦合方案
COMSOL Multiphysics 可以模拟不同类型的流-固耦合动力学系统。例如,一些流-固耦合系统可能存在部件之间的相对运动较大,而在另一些情况下,部件之间的相对运动可以忽略。软件提供了 2 种不同的功能,用于解决不同的流-固耦合多物理场耦合问题:
- 流-固耦合
- 流-固耦合,固定几何
对于大多数普通的流-固耦合问题,流-固耦合功能用于模拟部件之间移动相对较小的系统。在这些模拟中,模型中的流体和固体物理场接口可能会共享边界。我们可以在 COMSOL Multiphysics 中将模型几何设置为所有几何零件的联合体,这是软件默认的几何序列设置。通过以下几个模型案例,包括流体流动中的梁振动,球形止回阀和微泵机理,我们可以详细了解如何使用软件的流-固耦合功能。
如果需要对多体机构与周围流体的相互作用进行模拟,其中各个部件之间可能会相对滑动或大幅移动(如悬浮装置,风力涡轮机叶片或直升机叶片周围的气流),我们就可以使用 COMSOL 中的“流体-多体相互作用”功能轻松解决此类问题。对于这种情况,系统的几何形状必须是装配体状态,以应对装配体边界处较大幅度的相对运动,然后在流体和多体机构边界之间相互滑移的边界对上指定力的大小。
下表对软件提供的 2 种流-固耦合功能进行了总结。
几何序列模式联合体装配
几何序列模式联合体装配体
流-固耦合 | 流-固耦合,固定几何 | |
---|---|---|
耦合贡献 | 通过固体域和流体域之间的共同边界应用 | 通过边界对(一侧为固体域,另一侧为流体域)应用 |
网格变形 | 对所有共同边界自动转移完整的结构位移场 | 需要在适当的流体边界上手动转移全部的或仅法向分量的结构位移场 |
如何模拟多体机构中的流-固耦合
在本节中,我们将分别介绍如何使用软件的流-固耦合,对功能,以及预定义的多物理场接口进行建模。
如前所述,COMSOL Multiphysics 具有 2 个添加了固体力学和流体流动接口的预定义流-固耦合接口。此外,还内置了其中一个多物理场耦合接口。在这些多物理场接口中,流体-多体相互作用,装配接口内置了流-固耦合,对功能,主要用于模拟多体机构与周围流场之间的相互作用。
如下图所示,我们可以通过模型导向在流体流动节点下的流-固耦合接口列表中添加流体接口。这时,模型中将添加一个预定义的层流接口、多体动力学接口以及具有流-固耦合,对功能的多物理场耦合节点,同时还包含移动网格节点和变形域子节点。如果一开始没有选择此预定义接口,在建模过程中我们仍可以将多体动力学和流体流动物理场接口耦合在一起。
在模型导向中添加“流体-多体相互作用,装配”接口。
添加多物理场接口后,“模型开发器”的界面如下图所示。此时,可以使用多体动力学接口模拟刚性或变形的装配结构中的动力学问题,并使用单相流接口或多相流接口模拟流体流动。
添加 “流体-多体相互作用,装配” 接口后的 “模型开发器” 界面。
如前所述,如果要使用流-固耦合,对多物理场耦合功能,我们需要在装配状态下创建模型几何结构。在装配状态下创建几何时,有一个选项可以对位于相同几何位置,但属于装配体中单独零件的边界自动创建边界对。
如下图所示,我们可以通过设置窗口中的创建对复选框来实现,该复选框在相邻边界对之间创建一致对。所有这些对都列在流-固耦合,对功能下的对选择部分。理想情况下,在此列表中,我们只需要选择在固体域和流体域之间相关的对。但是,即使选择了所有对,流-固耦合,对功能也会自动忽略不在固相边界和流体边界之间的对。
创建一致对,并在流固耦合,对节点中选择它们。
由于流体域与相邻固体域的相互作用,而在流体域中产生的几何变化是通过任意拉格朗日-欧拉(ALE)方程建模的,因此,在移动网格节点下添加了变形域功能。默认情况下,此节点的选择为空,但我们可以将其设置在发生较大几何变化的流体区域。
不同的边界条件可用于指定移动网格边界的运动。通过多物理场耦合功能中的一些内置变量,我们可以根据结构的动力学特点,为移动边界选择合适的边界条件,并将固体位移的相关分量传递到空间框架。例如,使用指定网格位移边界条件将相邻固体的运动传递到移动的网格,使网格边界的位移等于一致对所对应的固体边界。
模拟液浸机构中的流-固耦合
受自然界中许多流-固耦合系统的启发,工程师设计了各种各样的实验和工业应用机构,如液浸机构模型(COMSOL 案例库中的案例模型)。该案例模拟了浸没在流体通道中的机械装置的运动,类似于微生物借助尾部的运动结构进行游泳或向前运动。
该模型演示了在流动通道中带有两个柔性翅片刚体的运动。通过铰关节将翅片连接至中心刚体,从而允许其在平面内旋转。机构通过翅片围绕中心刚体在一定时间内按规定的转速运动。流体通道的速度场和空间运动坐标系(即变形坐标)中的压力由不可压缩纳维-斯托克斯方程描述。通过多体动力学接口对结构组件进行建模。通过向流体部件分配变形域,将流体区域中的几何变化纳入模型。
为了将固体单元的运动转移至空间坐标系,使用了两种不同类型的移动网格边界条件,如下图所示。
将固体运动转移到移动网格。左:在高亮显示的边界上,固体位移的所有分量都转移到相邻的移动网格边界。右图:在高亮显示的后曲面上,仅将固体位移的法向分量转移到移动网格边界,从而使网格可以自由地沿切线方向滑动。
指定网格位移边界条件可以将固体位移转移到除了后曲面以外的所有流体边界,因此使用了内置变量(fsip1.u_solid, fsip1.v_solid, and fsip1.w_solid
),该变量将网格边界的位移设置为一致对所对应的固体边界。在固体的背面,由于翅片的旋转运动,固体和流体边界之间的接触面积连续变化。在这些边界处施加指定法向网格位移边界条件,可以使网格在切线方向上自由移动,并将法向位移设置为固体法向位移,因此,使用了法向位移变量,un_solid = fsip1.u_solid*(nX)+fsip1.v_solid*(nY)+fsip1.w_solid*(nZ)
,如下图所示。
移动网格边界条件。
请注意,为不同边界选择移动网格边界条件主要取决于机构的类型。对此没有一般性规则,需要根据机构的动态性进行适当设置。在许多常见的机构中,允许网格在固体-固体边界上滑动,这有助于准确捕捉系统动力学特性。
与联合体的网格不同,在装配体中,对两侧的网格结点可能不连续。由于单元的面和节点不相同,因此有时可能会影响精度,尤其是当成对的相关单元大小相差较大时。如果想在对的两侧都具有相同的网格,可以将网格从一侧复制到另一侧。此时,当机构沿x轴向前移动时,网格沿运动方向拉伸。如果位移太大,则很有可能得到高度变形的网格。在这种情况下,我们需要考虑重新剖分网格以生成新的网格。
机构中的网格和流体域的下半部分。
查看仿真结果
由下图仿真结果可以看出,翅片随时间旋转并驱动着机构运动。在 1/4 模拟时间中,翅片在相反的方向上等速旋转,彼此靠近,从而导致翅片之间的流体被挤出而外部流体空间膨胀。此后,翅片旋转保持恒定。从结构传递到流体的速度使机构向前运动。
机构中的位移和速度,以及xy平面(左)和xz平面(右)中心上流体的速度场和压力。
机构的翅旋转和前进速度与时间的函数。
我们还可以针对各种规定的运动类型和其他参数集进一步探索系统的动态特性。
更多示例
下面是一些常见的示例,我们可以使用 COMSOL 软件中的流-固耦合,对功能耦合多体机构与流场,并模拟部件之间较大的相对运动。
- 气动弹性结构(例如直升机或风力涡轮机)叶片的旋转
- 飞行中飞机或鸟类的翼拍动
- 游泳运动(例如模拟一条鱼在水中的运动)
- 磁流变流体阻尼器系统,流体域和固体域之间具有相对平移运动
借助软件自带的功能,我们可以通过简单的方式解决相似的或更复杂的流体-多体相互作用问题。
下一步
单击下面的按钮,将进入 COMSOL 案例库,尝试自己使用流-固耦合,对多物理场耦合功能进行建模。您还可以下载液浸机构模型的 PDF 教程文档(请注意,您需要使用有效的软件许可证来获取随附的 MPH 文件)。
评论 (6)
文杰 段
2021-12-13您好,我想问一下那个内置变量是什么意思啊,包括下面的un_solid = fsip1.u_solid*(nX)+fsip1.v_solid*(nY)+fsip1.w_solid*(nZ),不是很清楚这是什么意思
Xiaohan Jiang
2023-12-28 COMSOL 员工这个变量是在 “定义” 下的 “变量” 节点中添加的,其描述为 “法向网格位移”,其中的 u_solid 表示的就是位移场, nX/nY/nZ 为边界法向向量。
健豪 洪
2023-12-26你好,这个模型由于没有定义fsip.v_solid、fsip.u_solid、fsip.w_solid三个数据的来源,无法计算运行
Xiaohan Jiang
2023-12-28 COMSOL 员工应该是 fsip1.v_solid 吧,少写了个数字。fsip1 对应的是多物理场节点下的 “流-固耦合,对 1” 这个节点。
青松 张
2024-05-14您好,动网格这一块,fsip.v_solid、fsip.u_solid、fsip.w_solid检测到循环变量是怎么回事呢
Haoze Wang
2024-05-16 COMSOL 员工您好,“检测到循环变量相关性”原因说明请参考文档://www.denkrieger.com/support/knowledgebase/1215