(5)如果计算中包含活塞计算,则需要在Valve/Piston Axis(阀门或活塞轴)中指定阀门或活塞的参考轴。如果在所定义的网格区域中,某种形状的网格单元需要被排除在上述设置之外,则可以在Motion Mask(运动屏蔽)中选择这些单元形状。
(6)如果所定义的区域是面区域,则还需要定义Cell Height(网格高度)。这个参数用于定义局部网格重划时,与面区域相邻的网格的理想高度。 (7)点击Create(创建)按钮,完成设置。 3)变形运动
变形区域的设置过程为: (1)在Zone Names(区域名称)中选择区域,并在Type(类型)下选择Deforming(变形)。 (2)在Geometry Definition(几何定义)下定义变形区的几何特征,共有4 个选项:如果没有合适的几何形状,就在Definition 中选择none;如果变形区为平面,则选择plane(平面)并在Point on Plane(平面上的点)中定义平面上一点,同时在Plane Normal(平面法向)中定义法线方向;如果变形区为圆柱面,则选择Cylinder(圆柱),并同时定义Cylinder Radius(圆柱半径)、Cylinder Origin(圆柱原点)和Cylinder Axis(圆柱轴);如果变形区几何形状需要用UDF 来定义,则在Definition(定义)中选择user-defined(用户定义),并在Geometry UDF(几何UDF)中选择适当的函数。
(3)在Remeshing Options(重划选项)标签下定义与网格局部重划相关的参数。重划方法在Mesh Methods(网格划分方法)中选择,其中包括Smoothing(弹簧光顺模型)、Layering(动态层模型)和Remeshing(网格重划模型)。如果动网格区域为面域,则需要设置局部重划模型中的几个参数,包括Height(网格高度)、Height Factor(高度因子)和Maximum Skewness(最大畸变率)。如果动网格区域为体积域时,还可以设置Minimum Volume(最小体积)、Maximum Volume(最大体积)和Maximum Skewness(最大畸变率),这项设置可以覆盖系统缺省设置,从而改变网格重划过程。 (4)点击Create(创建)按钮完成设置。 4)用户定义的运动方式
对于同时存在运动和变形的区域,只能使用UDF 来定义其运动方式,定义步骤如下: (1)在Zone Names(区域名称)中选择需要定义的区域名称,并在Type(类型)下选择User-Defined(用户定义)。
(2)在Motion Attributes(运动属性)标签下,然后在Mesh Motion UDF(网格运动UDF)下选择相应的UDF 函数。
(3)点击Create(创建)按钮完成设置。
关于UDF 函数的编制方法请参见与UDF 相关的章节。 补充资料:FLUENT三种动边界控制实现方法
1) void DEFINE_CG_MOTION (UDFname,Dynamic_Thread * dt,real vel[ ], real omega[ ], real time,real dtime)。
此函数接口用于控制刚体的运动,用户把刚体质心运动速度和角速度分别赋值给vel和omega, FLUENT根据它们的值来自动计算出边界下一步的位置,从而实现动边界的控制; 刚体质心的位置可以在函数接口界面对话框中定义。Dynamic Zones中的dwall就是要控制的动边界,Motion UDF/Profile中的stc1sta010a0ph0就是UDFname,从中可看出它已被制定成用于控制dwall,理论上 FLUEN T可以通过这种方式实现无穷多个动边界的控制; C.G.Location用于设定初始位置的质心,C.G.Orientation用于设定刚体的初始角度。一般适用于刚体本身不变形的运动。
2) void DEFINE_GEOM(char name,Domain * d,Dynamic_Thread * dt,real * position)。
此函数接口用于控制变形体的边界运动, position就是运动边界上某网格节点的位置值,用户
可以通过对其赋值达到控制效果, position [0]对应边界节点的x坐标, position [1]对应y 坐标, position [2]对应z坐标; FLUENT自动遍历所有的边界节点,因此适用于有规律的可以用函数描述的运动边界。
3) void DEFINE_ GRID_MOTION(name,d,dt,time,dtime)。
此函数接口也用于控制形体的边界运动。主要用于更加复杂的控制,用户需要自己利用 FLUENT提供的其他函数来遍历运动边界上的节点,并对其位置进行控制,因此 UDF编程比前面两种复杂得多。它甚至可以事先生成好边界数据,在计算中把数据读入,完成复杂形体控制。 6、预览动网格
在设置好动网格模型及动网格区的运动方式后,可以通过预览的方式检查设置效果。预览功能在Mesh Motion(网格运动)面板中进行设置,启动这个面板的菜单操作为: Solve -> Mesh Motion... 预览操作步骤如下:
(1)在参数设置完毕后,首先保存算例(case)文件。因为与网格设置有关的记录都保存在算例文件中,在预览过程中伴随着网格的更新,与网格有关的记录也不断被刷新,如果不进行保存,则无法恢复原始设置状态,在发现参数设置问题后就无法进行更改了。 (2)设置迭代时间步数和时间步长。在计算过程中,当前时间将被显示在Current Mesh Time(当前网格时间)栏中。如果在计算中选用了活塞模型选项,则时间步长用曲柄速度 (shaft speed)和曲柄转动步长(crank angel step size)计算得出。 (3)为了在图形窗口中预览网格变化过程,需要激活Display Options(显示选项)下的Display Grid(显示网格),并在Display Frequency(显示频率)中设置显示频率,即每分钟显示图幅数量。如果要保存显示的图形,则同时激活Save Hardcopy(保存硬拷贝)选项。 (4)点击Preview(预览)按钮开始预览。
在定义了活塞运动时,活塞运动的预览是在IC Zone Motion(活塞运动)面板中实现的,激活这个面板的菜单操作为: Display -> IC Zone Motion...
预览操作的具体步骤为:
(1)在Display Grid(显示网格)面板中选择准备预览的网格区域。
(2)在IC Zone Motion(网格运动)面板中,设置曲柄角度增量(Increment)和迭代步数(Number of Steps)。
(3)点击Preview(预览)按钮开始预览。
注:在动网格的建立内容中,已经说到了预览动网格在整个计算之中的重要性,请参考。 7、定义活塞事件 在计算活塞运动时,可以通过定义活塞事件(events)的方式,在计算中增加问题的复杂度,使计算更接近真实情况。这些事件都是以曲柄角度为自变量的,比如可以将打开排气阀的时间定义为曲柄角度的函数,然后在曲柄转到这个角度时,开始打开排气阀操作,等等。下面介绍定义活塞事件的具体步骤和事件种类,从这些介绍中可以了解活塞事件的基本概念和使用方法。
1)活塞事件的设置步骤
活塞事件在Dynamic Mesh Events(动网格事件)面板中定义。 启动这个面板的菜单操作次序为: Define -> Dynamic Mesh -> Events... 活塞事件设置步骤为:
(1)在Number of Events(事件数量)栏中输入需要定义的事件数量。 (2)在Name(名称)下面输入事件名称。
(3)在At Crank Angel(曲柄角度)下输入事件发生的曲柄角度。
(4)点击Define(定义)按钮进入Define Event(定义事件)面板做详细定义
(5)在Type(类型)下面选择动网格运动类型,可供选择的运动类型包括Change Zone Type(改变网格区域类型)、Copy Zone BC(拷贝网格区域边界条件)、Create Sliding Interface(创建滑动网格交界面)、Delete Sliding Interface(删除滑动网格交界面)、Change Motion Attribute(改变运动属性)、Change Time Step Size(改变时间步长)、Insert Boundary Layer(插入边界层)、Remove Boundary Layer(删除边界层)、Insert Interior Layer(插入内部网格层)和Remove Interior Layer(删除内部网格层)等。在确定了事件类型后,还需要对所选运动类型做进一步设置,详细情况请参见下一小节中的内容。 (6)对其他事件重复(2)到(5)的设置过程。
(7)将所有事件设置完毕后,点击Apply(应用)按钮保存所有设置。
(8)在Dynamic Mesh Events(动网格事件)面板中点击Preview(预览)按钮,预览上述设置的事件。 2)活塞事件
在上一小节中讲到的各种事件类型的含义如下: (1)Change Zone Type(改变网格区域类型)。在计算过程中可以改变网格区域的类型, 即将网格类型在wall(壁面)、interface(交界面)、fluid(流体)和solid(固体)等类型之间进行转换。在New Zone Type(新网格区域类型)中指定一种类型,则当曲柄运动到相 应位置时,指定网格区域类型就会发生转换。 (2)Copy Zone BC(拷贝网格区域边界条件)。在网格区域类型改变后,原来设置在网格上的边界条件也要发生相应的变化,这种变化可以通过拷贝另一个区域的边界条件实现,即在设定改变网格区类型的同时,设定拷贝边界条件事件,在网格类型发生改变时,随即从另一个边界上拷贝其边界条件作为新类型下网格区域的边界条件。 (3)Creating Sliding Interface(创建滑动网格交界面)。在选择了这个事件类型后,需要定义构成交界面的两个面,即两个相邻网格区域Interface Zone 1(交界面区1)和Interface Zone 2(交界面区2)。在这里不用考虑界面类型转换的问题,系统会自动将定义为交界面 区的网格区域转换为内部面类型。
(4)Deleting Sliding Interface(删除滑动网格交界面)。在选择了这个事件类型后,需要在Interface Name(界面名称)中指定将被删除的交界面。在删除界面后,界面所在网格区域将被自动转换为壁面,如果不准备采用系统缺省设置的壁面条件的话,可以考虑如(2)中提示的那样,从其他壁面上拷贝边界。
(5)Change Motion Attribute(改变运动属性)。可以用这个事件类型修改网格运动类型。选择了这个事件类型后,需要在Attribute(运动属性)中指定一种运动类型,可以选择的类型包括sliding(滑动)、moving(移动)和remesh(网格重划),同时在Status(状态)中选择enable(激活)或disable(关闭)。 (6)Change Time Step(改变时间步长)。在Crank Angel Step Size(曲柄角度步长)中输入新的步长,可以修改迭代的时间步长)。
(7)Insert Boundary Cell Layer(插入边界网格层)。选择这个事件类型后,需要指定Base Dynamic Zone(基础动网格区)和Side Dynamic Zone(临近动网格区)。边界层网格将以基础动网格区为起点生成,临近动网格区就是网格即将发生变形的区域。 (8)Deleting Boundary Cell Layer(删除边界网格层)。这个事件类型选项与(7)中的事件相对应,在选择这个选项后,只要指定Base Dynamic Zone(基础动网格区)就可以将插入的边界网格删除。
(9)Insert Interior Cell Layer(插入内部网格层)。如同插入边界网格层一样,这项操作也需
要指定Base Dynamic Zone(基础动网格区)和Side Dynamic Zone(临近动网格区),不同的是还需要为新生成的界面命名,即指定Internal Zone 1 Name(内部网格区1 名称) 和Internal Zone 2 Name(内部网格区2 名称)。
(10)Remove Interior Cell Layer(删除内部网格层)。选择这个事件选项后,只要指定被删除的网格区名称,Internal Zone 1 Name(内部网格区1 名称)和Internal Zone 2 Name (内部网格区2 名称)即可。 3)输入输出活塞事件
在Dynamic Mesh Events(动网格事件)面板上,点击Write...(输出)按钮可以将设置好的活塞事件以文件形式输出到磁盘上;点击Read...(输入)按钮可以将活塞事件文件读入计算模型。
4)活塞计算中初始网格的生成
可以在dynamesh-mesh-control 文本菜单下,用文本命令position-starting-mesh 设置活塞的初始位置,例如:
/define/models/dynamic-mesh-controls> position-starting-mesh Start Crank Angle (deg) [0] 340
即将初始位置设置在曲柄转角为340°处。