本案例利用Fluent的重叠网格(Overset)功能实现部件的运动。
说明:重叠网格能实现与传统动网格相同的功能,然而却不必担忧会出现负体积。目前最大的缺点可能在网格准备及计算精度上。
如图所示一个长400mm,宽80mm的密闭容器中存在一个直径10mm的小球,其运动轨迹为正弦分布。

小球的运动规律为:
2
重叠网格与常规计算所准备的模型有所不同,其需要两套计算网格(前景网格与背景网格),因此几何也需要两个重叠的几何体。
-
启动Workbench,加载模块Fluid Flow(Fluent)
-
右键选择A2单元格,点击弹出菜单项New DesignModeler Geometry…进入DM模块

-
在XYPlane上创建一个长400mm,宽80mm的矩形草图,点击菜单Concept → Surface From Sketches创建几何面

-
鼠标选中模型树节点XYPlane,点击工具栏按钮New Sketch创建新的草图

这里一定要新建草图,否则后面没办法创建新的平面
绘制如下图所示的草图。

-
点击菜单Concept → Surface From Sketches创建新的几何面

在生成几何面过程中,确保Operating选项为Add Frozen,这样生成的几何体才不会被合并。
-
最终生成的几何如图所示,命名模型树节点分布为foreground及background
模型树节点如图所示。

生成的几何体如图所示。

-
关闭DM模块返回至Workbench工作界面
-
双击A3单元格进入Mesh模块
为减小计算误差,网格重叠区域的前景网格与背景网格尺寸尽量保持一致。
本案例简单起见,为前景网格及背景网格指定相同的尺寸。
-
右键选在模型树节点Mesh,点击弹出菜单项Insert → Sizing
-
属性窗口中设置Geometry为所有几何面,设置Element Size为2 mm

-
右键选择模型树节点Mesh,点击弹出菜单项Generate Mesh生成网格

其实也可以在其他外部网格生成软件中分别对两个部件生成网格,之后再在Fluent中组装网格。
按下图所示对边界进行命名。

图中的ovsetWall边界命名非常重要,在Fluent中要单独为其设置边界条件。
-
鼠标选中模型树节点Mesh,点击工具栏按钮Update更新网格
-
关闭Mesh模块,返回至Workbench工作界面
本例的区域运动采用UDF宏DEFINE_ZONE_MOTION来定义。
-
用任何文本编辑器编写该程序代码后,将其保存到.ex4-4_filesdp0FFFFluent,命名为move.c。
该宏文件可以以解释或编译的形式加载。
鼠标双击A4单元格进入Fluent模块,启动过程中激活Double Precision选项
-
右键选择模型树节点Parameters & Customization > User Defined Functions,点击弹出菜单Interpreted…弹出代码解释对话框

-
对话框中点击Browse…按钮,弹出的文件选择对话框中选择文件move.c,点击按钮Interpret解释源代码
-
点击按钮Close关闭对话框

-
鼠标双击模型树节点General,右侧面板中激活选项Transient采用瞬态计算

-
右键选择模型树节点Models > Viscous,选择菜单项Model → Standard k-epsilon开启湍流模型

-
双击模型树节点Cell Zone Conditions > contact_region_trg弹出计算域定义对话框
-
修改Zone Name为foreground
-
激活选项Mesh Motion,设置Zone Motion Function为zonemove
-
点击OK按钮关闭对话框

这里的zonemove即前面定义的udf名称。
-
双击模型树节点Cell Zone Conditions > contact_region_src弹出计算域定义对话框
-
修改Zone Name为background,其他参数保持默认设置
-
点击OK按钮关闭对话框

-
右键选择模型树节点Boundary > ovsetwall,点击右键菜单Type → overset更改边界类型

设置边界为overset边界后,模型树自动添加节点Overset Interfaces
-
右键选择模型树节点Overset Interfaces,点击弹出菜单项New…打开新建重叠交界面对话框

-
如下图所示,设置Overset Interface名称为oversetinterface,选择Background Zones为background,设置Component Zones为foreground,点击Create按钮创建交界面
-
点击Close按钮关闭对话框

-
右键选择模型树节点InItialization,点击弹出菜单项Initialize进行初始化

-
双击模型树节点Calculation Activities > Autosave,弹出设置对话框
-
设置Save Data File Every(Time Steps)选项为1
-
点击OK按钮关闭对话框

-
双击模型树节点Calculation Activities > Solution Animations,弹出设置对话框
-
设置Record after every为1 Time Step
-
设置Storage Type为In Memory
-
点击按钮New Object → Contours,新建速度显示云图contour-1
-
选中Animation Object列表项contour-1
-
点击OK按钮创建动画录制

-
双击模型树按钮Run Calculation,右侧面板中设置Time Step Size为0.05 s,设置Number of Time Steps为120
-
设置Max Iterations/Time Step为40
-
点击按钮Calculate开始计算

运动情况如图所示。后处理过程与常规计算后处理完全相同。由于本案例重点在于演示重叠网格的建模及设置步骤,因此后处理过程不再赘述。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册