Fluent动网格知识汇总 附FLUENT中文教程下载
在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导!
该专题主要包括以下的主要容:
##1. 动网格的相关知识介绍;
##2. 以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;
##3. 与动网格应用有关的参考文献;
##4. 使用动网格进行计算的一些例子。
有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。
动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。
注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。
动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。
在弹簧近似光滑模型中,网格的边被理想化为节点间相互连接的弹簧。移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡状态。在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据克定律计算。边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。
原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:
(1)移动为单方向。
(2)移动方向垂直于边界。
如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spring-on-all-shapes?,然后激活该选项即可。
对于棱柱型网格区域(六面体和或者楔形),可以应用动态层模型。动态层模型的中心思想是根据紧邻运动边界网格层高度的变化,添加或者减少动态层,即在边界发生运动时,如果紧邻边界的网格层高度增大到一定程度,就将其划分为两个网格层;如果网格层高度降低到一定程度,就将紧邻边界的两个网格层合并为一个层:
如果网格层j扩大,单元高度的变化有一临界值:
H_min>(1+alpha_s)*h_0
式中h_min为单元的最小高度,h_0为理想单元高度,alpha_s为层的分割因子。在满足上述条件的情况下,就可以对网格单元进行分割,分割网格层可以用常值高度法或常值比例法。在使用常值高度法时,单元分割的结果是产生相同高度的网格。在采用常值比例法时,网格单元分割的结果是产生是比例为alpha_s的网格。
若对第j层进行压缩,压缩极限为:
H_min<alpha_c*h_0
式中alpha_c为合并因子。在紧邻动边界的网格层高度满足这个条件时,则将这一层网格与
外面一层网格相合并。
动网格模型的应用有如下限制:
(1)与运动边界相邻的网格必须为楔形或者六面体(二维四边形)网格。
(2)在滑动网格交界面以外的区域,网格必须被单面网格区域包围。
(3)如果网格周围区域中有双侧壁面区域,则必须首先将壁面和阴影区分割开,再用滑动交界面将二者耦合起来。
(4)如果动态网格附近包含周期性区域,则只能用FLUENT 的串行版求解,但是如果周期性区域被设置为周期性非正则交界面,则可以用FLUENT 的并行版求解。
如果移动边界为部边界,则边界两侧的网格都将作为动态层参与计算。如果在壁面上只有一部分是运动边界,其他部分保持静止,则只需在运动边界上应用动网格技术,但是动网格区与静止网格区之间应该用滑动网格交界面进行连接。
在使用非结构网格的区域上一般采用弹簧光顺模型进行动网格划分,但是如果运动边界的位移远远大于网格尺寸,则采用弹簧光顺模型可能导致网格质量下降,甚至出现体积为负值的网格,或因网格畸变过大导致计算不收敛。为了解决这个问题,FLUENT 在计算过程中将畸变率过大,或尺寸变化过于剧烈的网格集中在一起进行局部网格的重新划分,如果重新划分后的网格可以满足畸变率要求和尺寸要求,则用新的网格代替原来的网格,如果新的网格仍然无法满足要求,则放弃重新划分的结果。
在重新划分局部网格之前,首先要将需要重新划分的网格识别出来。FLUENT 中识别不合乎要求网格的判据有二个,一个是网格畸变率,一个是网格尺寸,其中网格尺寸又分最大尺寸和最小尺寸。在计算过程中,如果一个网格的尺寸大于最大尺寸,或者小于最小尺寸,或者网格畸变率大于系统畸变率标准,则这个网格就被标志为需要重新划分的网格。在遍历所有动网格之后,再开始重新划分的过程。局部重划模型不仅可以调整体网格,也可以调整动边界上的表面网格。
需要注意的是,局部重划模型仅能用于四面体网格和三角形网格。在定义了动边界面以后,如果在动边界面附近同时定义了局部重划模型,则动边界上的表面网格必须满足下列条件:
(1)需要进行局部调整的表面网格是三角形(三维)或直线(二维)。
(2)将被重新划分的面网格单元必须紧邻动网格节点。
(3)表面网格单元必须处于同一个面上并构成一个循环。
(4)被调整单元不能是对称面(线)或正则周期性边界的一部分。
动网格的实现在FLUENT 中是由系统自动完成的。如果在计算中设置了动边界,则FLUENT 会根据动边界附近的网格类型,自动选择动网格计算模型。如果动边界附近采用的是四面体网格(三维)或三角形网格(二维),则FLUENT 会自动选择弹簧光顺模型和局部重划模型对网格进行调整。如果是棱柱型网格,则会自动选择动态层模型进行网格调整。在静止网格区域则不进行网格调整。
动网格问题中对于固体运动的描述,是以固体相对于重心的线速度和角速度为基本参数加以定义的。既可以用型函数定义固体的线速度和角速度,也可以用UDF 来定义这两个参数。同时需要定义的是固体在初始时刻的位置。
注:这一小节主要讲述了动网格的更新方法,最好能掌握,尤其是各种方法的适用围,通常来讲,在一个case中,我们使用的更新方法都是根据网格类型以及和要实现的运动来选择的,很多时候都是几种更新方法搭配起来使用的。
总结一下:
使用弹簧近似光滑法网格拓扑始终不变,无需插值,保证了计算精度。但弹簧近似光滑法不适用于大变形情况,当计算区域变形较大时,变形后的网格会产生较大的倾斜变形,从而使网格质量变差,严重影响计算精度。动态分层法在生成网格方面具有快速的优势,同时它的应用也受到了一些限制。它要求运动边界附近的网格为六面体或楔形,这对于复杂外形的流场区域是不适合的。使用局部网格重划法要求网格为三角形(二维)或四面体(三维),这对于适应复杂外形是有好处的,局部网格重划法只会对运动边界附近区域的网格起作用。
设置动网格问题的步骤如下:
(1)在Solver(求解器)面板中选择非定常流(unsteady)计算。
(2)设定边界条件,即设定壁面运动速度。
(3)激活动网格模型,并设定相应参数,菜单操作如下:
Define -> Dynamic Mesh -> Parameters...
(4)指定移动网格区域的运动参数,菜单操作如下:
Define -> Dynamic Mesh -> Zones...
(5)保存算例文件和数据文件。
(6)预览动网格设置,菜单操作为:
Solve -> Mesh Motion...
(7)在计算活塞问题时,设定活塞计算中的事件:
Define -> Dynamic Mesh -> Events...
并可以通过显示阀与活塞的运动,检查上述设置是否正确:
Display -> IC Zone Motion...
(8)应用自动保存功能保存计算结果。
File -> Write -> Autosave...
在动网格计算中,因为每个计算步中网格信息都会改变,而网格信息是储存在算例文件中的,所以必须同时保存算例文件和数据文件。
(9)如果想建立网格运动的动画过程,可以在Solution Animation(计算结果动画)面板中进行相关设置。
注:在这一步中,需要提醒一下,使用动网格进行正式计算之前,最好养成预览动网格更新的习惯;就是在正式计算前,浏览一下动网格的更新情况,这样可以避免在计算过程中出现动网格更新本身的问题。在预览更新时,很多人都说会出现负体积的警告,更新不成功,出现这样的问题时,最好先把时间步长改的更小点儿试试,一般来讲,排除UDF本身的原因,出现更新出错的原因都与时间步长有关,这需要结合所使用的更新方法多琢磨。
为了使用动网格模型,需要在dynamic mesh(动网格)面板中激活Dynamic Mesh(动网格)选项。如果计算的是活塞运动,则同时激活In-Cylinder(活塞)选项。然后选择动网格模型,并设置相关参数。
在Mesh Methods(网格划分方法)下面选择Smothing(弹簧光顺模型),Layering(动态层模型)和(或)Remshing(局部重划模型)。
激活弹簧光顺模型,相关参数设置位于Smoothing(光顺)标签下,可以设置的参数包括Spring Constant Factor(弹簧弹性系数)、Boundary Node Relaxation(边界点松弛因子)、
Convergence Tolerance(收敛判据)和Number of Iterations(迭代次数)。
弹簧弹性系数应该在0 到1 之间变化,弹性系数等于0 时,弹簧系统没有耗散过程,在图中算例中,靠近壁面的网格没有被改变,而是保持了原来的网格形状和密度;在弹性系数等于1 时,弹簧系统的耗散过程与缺省设置相同,从图中可以发现壁面发生变形,壁面附近网格因为过度加密而质量下降。因此在实际计算中应该在0 到1 之间选择一个适当的值。边界点松弛因子用于控制动边界上网格点的移动。当这个值为零时,边界节点不发生移动;在这个值为1 时,则边界节点的移动计算中不采用松弛格式。在大多数情况下,这个值应该取为0 到1 之间的一个值,以保证边界节点以合适的移动量发生移动。
收敛判据就是网格节点移动计算中,迭代计算的判据。迭代次数是指网格节点移动计算的最大迭代次数。
在Layering(动态层)标签下,可以设置与动态层模型相关的参数。通过设定Constant
Height(常值高度)与Constant Ratio(常值比例)可以确定分解网格的两种方法。Split Factor
(分割因子)和Collapse Factor(合并因子)则分别为上面介绍的alpha_s和alpha_c。
在Remeshing(重划网格)标签下,设置与局部重划模型相关的参数。可以设置的参数包括Maximum Cell Skewness(最大畸变率)、Maximum Cell Volume(最大网格体积)和Minimum Cell Volume(最大网格体积),其含义如前所述,主要用于确定哪些网格需要被
重新划分。在缺省设置中,如果重新划分的网格优于原网格,则用新网格代替旧网格;否
则,将保持原网格划分不变。如果无论如何都要采用新网格的话,则可以在Options(选项)
下面选择Must Improve Skewness(必须改善畸变率)选项。如果Options(选项)下面的Size Function(尺寸函数)被激活,则还可以用网格尺寸分布函数标志需要重新划分的网格。假设在某点附近的理想网格尺寸为L ,而某个网格的尺寸为L' ,如果:
L’不属于[0.8*gamma*L,1.25*gamma*L]
则网格被标志为需要重新划分的网格,并在随后的计算中被重新划分。式中的gamma用下面的公式计算:
当alpha>0时,gamma=1+alpha*d_b^(1+2*beta)
当alpha<0时,gamma=1+alpha*d_b^[(1-beta)^-1]
式中d_b为网格到壁面边界的最小距离,alpha和beta就是需要设置的Size Function Variation(尺寸函数增量)和Size Function Rate(尺寸函数变化率)。
以上两式中,alpha以边界网格尺寸为基准控制部网格的大小,alpha等于0.5表示部网格的尺寸至少是边界网格的1.5倍,alpha等于-0.5表示部网格的尺寸等于边界网格的0.5倍,如果alpha等于0则表示部网格与边界网格大小相同;bata的取值在-1到1之间,用于控制网格从边界到部区域的变化速率。Beta取正值表示网格变化速率较慢取负值则表示变化速率较快,取0 则表示网格从边界到部区域呈线性变化。
另外一个选项Size Function Resolution(尺寸函数分辨率)用于定义尺寸分布函数对网格大小的分辨率,其参照值是最小网格尺寸。
点击Use defaults(使用缺省值)按钮,可以恢复系统缺省设置。
如果在计算中选择使用In-cylinder(活塞)模型,需要指定Crank Shaft Speed(曲柄速度)、Starting Crank Speed(曲柄起始速度)、Crank Period(曲柄周期)以及Crank Angle Step
Size(曲柄角度时间步长)。
FLUENT 中还提供一个建函数用于计算活塞位置。这个函数的自变量为曲柄转角,如果选用这个函数,还需要指定Piston Stroke(活塞行程)和Connecting Rod Length(连接杆长度)二个参数。
注:以上的一些参数设定对动网格的更新质量影响很大,如果设置不当,可能引起更新不成功,如果不清楚这些设定因子对更新的影响,可以固定一些参数调节一两个参数查看效果。另外,在这些更新方法中比较容易出问题的就是Remeshing方法中的一些参数设定:Remeshing中的参数Minimum length scale和Maximum Length Scale,这两个参数你可以参考mesh scale info中的值,仅是参考,因为mesh scale info中的值是整个网格的评价值,设置的时候看一下动网格附近的网格和整个网格区域的大小比较,然后确定这两个参数,一般来讲,动网格附近的网格较密,这些值都比整体的小,所以在设置时通常设置为比mesh scale info中的Minimum length scale大一点,比Maximum Length Scale小一点。
在计算动网格问题时,必须定义动网格区的运动方式。在动网格区为刚体运动时,可以用型函数和UDF 来定义其运动;在动网格区为变形区域时,则需要定义其几何特征及局部网格重划参数;如果动网格区既做刚体运动又有变形发生,则只能用UDF 来定义其几何形状的变化和运动过程。
上述定义在Dynamic Zones(动态区域)面板中设置,启动该面板的菜单操作顺序为:
Define -> Dynamic Mesh -> Zones...
在这个面板中可以修改动态区域的设置、计算刚体运动区域的重心或删除一个动态区域。方法是首先在Dynamic Zones(动态区域)列表中选择一个动网格区,然后修改其设置参数,或计算其重心,或进行删除操作,最后点击Create(创建)按钮保存设置。
对于新加入的区域,需要先从Zone Names(区域名称)下选择相关区域,然后在Type(类型)下选择其运动类型。可供选择的运动类型包括Stationary(静止)、Rigid Body(刚体运动)、Deforming(变形)和User-Defined(用户自定义)四种。
如果被指定区域为静止区域,则首先在Zone Names(区域名称)下选择这个区域,然在Type(类型)下选择Stationary(静止),再指定Adjacent Zone(相邻区域)的Cell Height网格高度)用于网格重新划分,最后点击Create(创建)按钮完成设置。
如果被指定区域为刚体运动区域,则其设置过程如下:
(1)在Zone Names(区域名称)下选择这个区域的名称,然后在Type(类型)下选择Rigid Body(刚体)。
(2)在Motion Attributes(运动属性)标签下的Motion UDF/Profile(用UDF 或型函数定义运动)中确定究竟用型函数,还是UDF 来做运动定义。
(3)在C.G. Location(重心位置)中定义刚体重心的初始位置。
(4)在C.G. Orentation(重心方向)中定义重力在惯性系中的方向。
(5)如果计算中包含活塞计算,则需要在Valve/Piston Axis(阀门或活塞轴)中指定阀门或活塞的参考轴。如果在所定义的网格区域中,某种形状的网格单元需要被排除在上述设置之外,则可以在Motion Mask(运动屏蔽)中选择这些单元形状。
(6)如果所定义的区域是面区域,则还需要定义Cell Height(网格高度)。这个参数用于定义局部网格重划时,与面区域相邻的网格的理想高度。
(7)点击Create(创建)按钮,完成设置。
变形区域的设置过程为:
(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(创建)按钮完成设置。
对于同时存在运动和变形的区域,只能使用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编程比前面两种复杂得多。它甚至可以事先生成好边界数据,在计算中把数据读入,完成复杂形体控制。
在设置好动网格模型及动网格区的运动方式后,可以通过预览的方式检查设置效果。预览功能在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(预览)按钮开始预览。
注:在动网格的建立容中,已经说到了预览动网格在整个计算之中的重要性,请参考。
在计算活塞运动时,可以通过定义活塞事件(events)的方式,在计算中增加问题的复杂度,使计算更接近真实情况。这些事件都是以曲柄角度为自变量的,比如可以将打开排气阀的时间定义为曲柄角度的函数,然后在曲柄转到这个角度时,开始打开排气阀操作,等等。下面介绍定义活塞事件的具体步骤和事件种类,从这些介绍中可以了解活塞事件的基本概念和使用方法。
活塞事件在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(预览)按钮,预览上述设置的事件。
在上一小节中讲到的各种事件类型的含义如下:
(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 名称)即可。
在Dynamic Mesh Events(动网格事件)面板上,点击Write...(输出)按钮可以将设置好的活塞事件以文件形式输出到磁盘上;点击Read...(输入)按钮可以将活塞事件文件读入计算模型。
可以在dynamesh-mesh-control 文本菜单下,用文本命令position-starting-mesh 设置活塞的初始位置,例如:
/define/models/dynamic-mesh-controls> position-starting-mesh
Start Crank Angle (deg) [0] 340
即将初始位置设置在曲柄转角为340°处。
在进行活塞计算的设置中,需要妥善处理动网格的拓扑关系、活塞和阀门的运动属性、进气阀和排气阀的开关以及活塞事件的先后次序,尽量全面、合理地进行设置,以保证计算能顺利完成。