CFX双向流固耦合实例 - 弹性血管脉动仿真
案例描述:通过一段带支管的血管壁的流固耦合双向分析,血管入口为脉动压力,脉动的压力会影响血管壁的扩张和收缩,反过来,管壁的扩张和收缩会影响瞬态的血液流场。几何模型中,血管直线距离为200mm,主血管直径6mm,支管直径为4mm。初始时刻,血管内没有血液流动,要求模拟入口压力随时间波动后,血管内的血液流动和血管壁的变形情况。本案例的几何模型中,包括两个部分,一个是血管的实体部分,一个是没有厚度的血管壁,厚度可以在DM中指定壳网格的厚度。所有的流固耦合,一开始的模型都有画全所有参与仿真的流体域和固体域。由于几何模型在Z轴方向对称,所以在Z轴方向取一半几何域仿真即可。流固耦合仿真,需要分别设置固体的力学仿真模型和流体的流动仿真,分别在两个软件中设置。如果是流固双向耦合仿真,则分析是非稳态仿真,需要仿真每一个时刻固体的形变和流场的相互变化。温馨提醒一下,双向耦合设置需要非常细心,稍有设置不对,计算时会提示无法计算或各种计算错误问题。一、固体力学设置1、在workbench中,调出并搭建模型的关系。本案例用ANSYS15.0版本进行仿真。在workbench界面左侧的Toolbox中,调出TransientStructural模块和FluidFlow(CFX)模型,两个模块之间的数据链接如下图中蓝色线进行链接。保存文件,命名为“vessel”,保存的路径不能有中文。2、设置固体材料这里需要设置血管壁的力学性能,操作:双击TransientStructural模块的A2EngineeringData。在打开的面板中,在A4格中输入新建材料名字“vesselwall”。将左侧Toolbox的Density和IsotropicElasticity,用鼠标左键拖拉进刚才新建的A4vesselwall中,在软件的正下方就看到参数设置了,具体数值如下。保存设置然后退出材料设置。鼠标右键新建的A4vesselwall,选择DefaultSolidMaterialForModel,将材料vesselwall指定为固体的默认材料,当然,也可以在后续的固体设置中手动选择此材料。然后关闭固体材料设置界面。3、导入几何模型。操作:在workbench中,鼠标右键A3Geometry>ImportGeometry>Browse,打开几何模型保存的地址,选择文件“vessel.STEP”。几何模型在文章底部有下载链接。然后鼠标双击A3Geometry,打开DM界面。可以看到几何是有一个实体和一个面构成。然后关闭DM软件。4、划分固体力学的网格。操作:在workbench中,鼠标双击A4Model,首先,需要压制vessel固体血液区域。给定血管壳网格厚度,0.5mm。并指定材料。几何模型是仿真一半的,存在一个对称面,需要指定对称面。操作:软件界面的左侧的Outline窗口中,鼠标右键Model(A4)>Insert>symmetry。此时,在Model(A4)下面出现一个Symmetry的标题栏。鼠标右键此Symmetry>Insert>SymmetryRegion,在弹出的Details窗口中设置如下,几何选择对称面上的7条线,并设置对称方向。鼠标右键Outline窗口中的Mesh>Insert>Method。鼠标右键Mesh下面的AllTrianglesMethod>Insert>Sizing。同样操作,鼠标右键Mesh下面的AllTrianglesMethod>Insert>Sizing。生产vesselwall的网格,操作:标右键Outline窗口中的Mesh>GenerateMesh。网格如下:5、设置非稳态设置固定边。操作:在Outline窗口中,右键Transient(A5)>Insert>FixedSupport。在其Details窗口中几何选择进出口的3条边。接下来,指定流固耦合面。操作:在Outline窗口中,右键Transient(A5)>Insert>FluidSolidInterface,在其Details窗口中几何选择vesselwall的3个面,一个主管面,一个支管面,还有一个主管和支管的连接面。关闭DM软件界面,退出到workbench界面。可以看到A5Setup单元格的右侧是黄色闪电图标,表明需要更新。鼠标右键A5Setup单元格>Update。更新后,黄色闪电图标变成了绿色的打钩图标。至此,流固耦合仿真中的固体力学仿真设置完成,下面设置流体力学部分。二、流体力学设置1、划分流体区域网格。操作:workbench中鼠标双击B3Mesh单元格,打开mesh软件界面。在软件左侧的Outline窗口中,展开Model(B3)下面的Geometry,鼠标右键suppress面几何vesselwall。首先,需要对流体域的边界进行命名,操作:在图形窗口中选择几何面(如果多个面需要按住Cral键进行多选),右键选择CreateNamedSelection,然后给定名字,如下共5个边界:网格全局划分控制:插入网格划分方法。鼠标右键Outline窗口中的Mesh>Insert>Method。几何选取流体计算域。插入边界层控制。鼠标右键Outline窗口中的AutomaticMethod>InflateThisMethod。在Details窗口的Boundary中,选取流体域vesselwall的3个面。添加局部控制尺寸。操作:鼠标右键Outline窗口中的AutomaticMethod>Insert>Sizing。Details窗口的Geometry中,选取主管和支管的连接面。生产vessel的网格,操作:标右键Outline窗口中的Mesh>GenerateMesh。网格如下:网格划分好了,关闭meshing软件,退出到workbench界面。2、CFX流体仿真设置。操作:鼠标双击B4Setup单元格。打开CFX软件界面。在软件左侧的Outline窗口中,双击AnalysisType。重点说下这里的设置。其中ExternalSolverCoupling的Option中选择ANSYSMultiField,表面此仿真是流固双向耦合的。在下面的MechanicalInputFile中,需要选择的一个ds.dat的文件,此文件是固体力学仿真的输入数据,此文件的具体位置在:文件仿真路径\\vessel_files\dp0\SYS\MECH\ds.dat中,对于流固双向耦合,此文件一定要选对,不然没法进行耦合面的数据传递!3、新建blood材料。操作:鼠标右键软件左侧的Outline窗口中的Materials>Insert>Material,命名为“blood”。新建入口脉动压力的表达式。操作:鼠标右键软件左侧的Outline窗口中的Expressions>Insert>Expression,命名为“pin”。在弹出的窗口的Details窗口中,输入“if(t<0.5[s],-0.6e3[Pa]*cos(t*4*pi/1[s])+0.6e3[Pa],0[Pa])”。此表达式的脉动压力曲线在1s内如下:4、计算域设置,操作:鼠标双击软件左侧的Outline窗口中的DefaultDomain。5、边界条件设置。所以边界条件的新建操作:鼠标右键软件左侧的Outline窗口中的DefaultDomain>Insert>Boundary。需要新建四个边界条件,分别命名为“fsiwall”,“inlet”,“outlet”和“sym”,各自设置如下:fsiwall边界设置:Inlet边界设置:outlet边界设置:sym边界设置:6、求解控制设置。操作:软件左侧Outline下的Solver>SolverControl,双击打开,此案例是先求解流场,后求解固体力学的顺序。7、输出设置,需要指定输出到固体力学仿真的数据。操作:软件左侧Outline下的Solver>OutputControl,双击打开。关闭CFX软件,退出到workbench界面。此刻,检查流固两个模块已经设置的单元格是否已经都标上绿色的打钩标志。三、双向耦合求解在ANSYS中,structure–CFX的组合,双向耦合求解是在CFX模块中求解的。并且耦合求解的时间是按照CFX中定义的时间步,所以,即使你不在structure模块中定义时间步或者定义和CFX中定义的时间步不一样,最后耦合求解都是按照CFX的时间步进行耦合仿真。操作:在workbench界面中,双击打开B5Solution,可以设置为单线程求解,也可以设置为多线程求解,看你电脑配置,点击Starrun。软件开始计算。对于双向流固耦合仿真,没有好的电脑配置,求解是非常耗时间的事情,而且流固设置每一步都要细心,不然会提示无法计算。计算后,耦合残差如下图:监控到血管壁面Y方向的力(红色线)以及主管和支管连接面的Y方向血管壁变形量(绿色线)如下所示,连接面血管变形量脉动在0.3-0.4秒之间达到最大值。此处可以减少时间步重新计算,可以得到更加精准的脉动时间点。四、后处理先保存project,双击打开B6Results进行后处理。显示0.35s时的血管壁面移动量。显示0-1s期间血管壁面移动量的动画:来源:CFD饭圈