FLUENT动网格学习知识汇总.doc

上传人:小** 文档编号:2539456 上传时间:2020-04-19 格式:DOC 页数:9 大小:72.02KB
返回 下载 相关 举报
FLUENT动网格学习知识汇总.doc_第1页
第1页 / 共9页
FLUENT动网格学习知识汇总.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《FLUENT动网格学习知识汇总.doc》由会员分享,可在线阅读,更多相关《FLUENT动网格学习知识汇总.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-*题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!该专题主要包括以下的主要内容:#1. 动网格的相关知识介绍;#2. 以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;#3. 与动网格应用有关的参考文献;#4. 使用动网格进行计算的一些例子。#1. 动网格的相关知识介绍有关动网格基础方面的东西,请具体参考FLUENT Users Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要

2、点。1、简介动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初

3、始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。2、动网格更新方法动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。弹簧近似光滑模型在弹簧近似光滑模型中,网格的边被理想化为节点间相互连接的弹簧。移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡

4、状态。在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据胡克定律计算。边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:(1)移动为单方向。(2)移动方向垂直于边界。如果两个条件不满足,可能使网格

5、畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spring-on-all-shapes?,然后激活该选项即可。动态层模型对于棱柱型网格区域(六面体和或者楔形),可以应用动态层模型。动态层模型的中心思想是根据紧邻运动边界网格层高度的变化,添加或者减少动态层,即在边界发生运动时,如果紧邻边界的网格层高度增大到一定程度,就将其划分为两个网格层;如果网格层高度降低到一定程度,就将紧邻边界的两个网格层合并为一个层:如果网格层j扩大,单元高度的变化有一临界值:H_m

6、in(1+alpha_s)*h_0式中h_min为单元的最小高度,h_0为理想单元高度,alpha_s为层的分割因子。在满足上述条件的情况下,就可以对网格单元进行分割,分割网格层可以用常值高度法或常值比例法。在使用常值高度法时,单元分割的结果是产生相同高度的网格。在采用常值比例法时,网格单元分割的结果是产生是比例为alpha_s的网格。若对第j层进行压缩,压缩极限为:H_min Dynamic Mesh - Parameters.(4)指定移动网格区域的运动参数,菜单操作如下:Define - Dynamic Mesh - Zones.(5)保存算例文件和数据文件。(6)预览动网格设置,菜单操

7、作为:Solve - Mesh Motion.(7)在计算活塞问题时,设定活塞计算中的事件:Define - Dynamic Mesh - Events.并可以通过显示阀与活塞的运动,检查上述设置是否正确:Display - IC Zone Motion.(8)应用自动保存功能保存计算结果。File - Write - Autosave.在动网格计算中,因为每个计算步中网格信息都会改变,而网格信息是储存在算例文件中的,所以必须同时保存算例文件和数据文件。(9)如果想建立网格运动的动画过程,可以在Solution Animation(计算结果动画)面板中进行相关设置。注:在这一步中,需要提醒一下

8、,使用动网格进行正式计算之前,最好养成预览动网格更新的习惯;就是在正式计算前,浏览一下动网格的更新情况,这样可以避免在计算过程中出现动网格更新本身的问题。在预览更新时,很多人都说会出现负体积的警告,更新不成功,出现这样的问题时,最好先把时间步长改的更小点儿试试,一般来讲,排除UDF本身的原因,出现更新出错的原因都与时间步长有关,这需要结合所使用的更新方法多琢磨。4、设定动网格参数为了使用动网格模型,需要在dynamic mesh(动网格)面板中激活Dynamic Mesh(动网格)选项。如果计算的是活塞运动,则同时激活In-Cylinder(活塞)选项。然后选择动网格模型,并设置相关参数。1)

9、选择网格更新模型在Mesh Methods(网格划分方法)下面选择Smothing(弹簧光顺模型),Layering(动态层模型)和(或)Remshing(局部重划模型)。2)设置弹簧光顺参数激活弹簧光顺模型,相关参数设置位于Smoothing(光顺)标签下,可以设置的参数包括Spring Constant Factor(弹簧弹性系数)、Boundary Node Relaxation(边界点松弛因子)、Convergence Tolerance(收敛判据)和Number of Iterations(迭代次数)。弹簧弹性系数应该在0 到1 之间变化,弹性系数等于0 时,弹簧系统没有耗散过程,在

10、图中算例中,靠近壁面的网格没有被改变,而是保持了原来的网格形状和密度;在弹性系数等于1 时,弹簧系统的耗散过程与缺省设置相同,从图中可以发现壁面发生变形,壁面附近网格因为过度加密而质量下降。因此在实际计算中应该在0 到1 之间选择一个适当的值。边界点松弛因子用于控制动边界上网格点的移动。当这个值为零时,边界节点不发生移动;在这个值为1 时,则边界节点的移动计算中不采用松弛格式。在大多数情况下,这个值应该取为0 到1 之间的一个值,以保证边界节点以合适的移动量发生移动。收敛判据就是网格节点移动计算中,迭代计算的判据。迭代次数是指网格节点移动计算的最大迭代次数。3)动态层在Layering(动态层

11、)标签下,可以设置与动态层模型相关的参数。通过设定ConstantHeight(常值高度)与Constant Ratio(常值比例)可以确定分解网格的两种方法。Split Factor(分割因子)和Collapse Factor(合并因子)则分别为上面介绍的alpha_s和alpha_c。4)局部重新划分网格在Remeshing(重划网格)标签下,设置与局部重划模型相关的参数。可以设置的参数包括Maximum Cell Skewness(最大畸变率)、Maximum Cell Volume(最大网格体积)和Minimum Cell Volume(最大网格体积),其含义如前所述,主要用于确定哪些

12、网格需要被重新划分。在缺省设置中,如果重新划分的网格优于原网格,则用新网格代替旧网格;否则,将保持原网格划分不变。如果无论如何都要采用新网格的话,则可以在Options(选项)下面选择Must Improve Skewness(必须改善畸变率)选项。如果Options(选项)下面的Size Function(尺寸函数)被激活,则还可以用网格尺寸分布函数标志需要重新划分的网格。假设在某点附近的理想网格尺寸为L ,而某个网格的尺寸为L ,如果:L不属于0.8*gamma*L,1.25*gamma*L则网格被标志为需要重新划分的网格,并在随后的计算中被重新划分。式中的gamma用下面的公式计算:当a

13、lpha0时,gamma=1+alpha*d_b(1+2*beta)当alpha Dynamic Mesh - Zones.在这个面板中可以修改动态区域的设置、计算刚体运动区域的重心或删除一个动态区域。方法是首先在Dynamic Zones(动态区域)列表中选择一个动网格区,然后修改其设置参数,或计算其重心,或进行删除操作,最后点击Create(创建)按钮保存设置。对于新加入的区域,需要先从Zone Names(区域名称)下选择相关区域,然后在Type(类型)下选择其运动类型。可供选择的运动类型包括Stationary(静止)、Rigid Body(刚体运动)、Deforming(变形)和Us

14、er-Defined(用户自定义)四种。1)静止区域设置如果被指定区域为静止区域,则首先在Zone Names(区域名称)下选择这个区域,然在Type(类型)下选择Stationary(静止),再指定Adjacent Zone(相邻区域)的Cell Height网格高度)用于网格重新划分,最后点击Create(创建)按钮完成设置。2)刚体运动区域设置如果被指定区域为刚体运动区域,则其设置过程如下:(1)在Zone Names(区域名称)下选择这个区域的名称,然后在Type(类型)下选择Rigid Body(刚体)。(2)在Motion Attributes(运动属性)标签下的Motion UD

15、F/Profile(用UDF 或型函数定义运动)中确定究竟用型函数,还是UDF 来做运动定义。(3)在C.G. Location(重心位置)中定义刚体重心的初始位置。(4)在C.G. Orentation(重心方向)中定义重力在惯性系中的方向。(5)如果计算中包含活塞计算,则需要在Valve/Piston Axis(阀门或活塞轴)中指定阀门或活塞的参考轴。如果在所定义的网格区域中,某种形状的网格单元需要被排除在上述设置之外,则可以在Motion Mask(运动屏蔽)中选择这些单元形状。(6)如果所定义的区域是面区域,则还需要定义Cell Height(网格高度)。这个参数用于定义局部网格重划时

16、,与面区域相邻的网格的理想高度。(7)点击Create(创建)按钮,完成设置。3)变形运动变形区域的设置过程为:(1)在Zone Names(区域名称)中选择区域,并在Type(类型)下选择Deforming(变形)。(2)在Geometry Definition(几何定义)下定义变形区的几何特征,共有4 个选项:如果没有合适的几何形状,就在Definition 中选择none;如果变形区为平面,则选择plane(平面)并在Point on Plane(平面上的点)中定义平面上一点,同时在Plane Normal(平面法向)中定义法线方向;如果变形区为圆柱面,则选择Cylinder(圆柱),并

17、同时定义Cylinder Radius(圆柱半径)、Cylinder Origin(圆柱原点)和Cylinder Axis(圆柱轴);如果变形区几何形状需要用UDF 来定义,则在Definition(定义)中选择user-defined(用户定义),并在Geometry UDF(几何UDF)中选择适当的函数。(3)在Remeshing Options(重划选项)标签下定义与网格局部重划相关的参数。重划方法在Mesh Methods(网格划分方法)中选择,其中包括Smoothing(弹簧光顺模型)、Layering(动态层模型)和Remeshing(网格重划模型)。如果动网格区域为面域,则需要设

18、置局部重划模型中的几个参数,包括Height(网格高度)、Height Factor(高度因子)和Maximum Skewness(最大畸变率)。如果动网格区域为体积域时,还可以设置Minimum Volume(最小体积)、Maximum Volume(最大体积)和Maximum Skewness(最大畸变率),这项设置可以覆盖系统缺省设置,从而改变网格重划过程。(4)点击Create(创建)按钮完成设置。4)用户定义的运动方式对于同时存在运动和变形的区域,只能使用UDF 来定义其运动方式,定义步骤如下:(1)在Zone Names(区域名称)中选择需要定义的区域名称,并在Type(类型)下选

19、择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

20、和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,Doma

21、in * 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提供

22、的其他函数来遍历运动边界上的节点,并对其位置进行控制,因此 UDF编程比前面两种复杂得多。它甚至可以事先生成好边界数据,在计算中把数据读入,完成复杂形体控制。6、预览动网格在设置好动网格模型及动网格区的运动方式后,可以通过预览的方式检查设置效果。预览功能在Mesh Motion(网格运动)面板中进行设置,启动这个面板的菜单操作为:Solve - Mesh Motion.预览操作步骤如下:(1)在参数设置完毕后,首先保存算例(case)文件。因为与网格设置有关的记录都保存在算例文件中,在预览过程中伴随着网格的更新,与网格有关的记录也不断被刷新,如果不进行保存,则无法恢复原始设置状态,在发现参数设

23、置问题后就无法进行更改了。(2)设置迭代时间步数和时间步长。在计算过程中,当前时间将被显示在Current Mesh Time(当前网格时间)栏中。如果在计算中选用了活塞模型选项,则时间步长用曲柄速度(shaft speed)和曲柄转动步长(crank angel step size)计算得出。(3)为了在图形窗口中预览网格变化过程,需要激活Display Options(显示选项)下的Display Grid(显示网格),并在Display Frequency(显示频率)中设置显示频率,即每分钟显示图幅数量。如果要保存显示的图形,则同时激活Save Hardcopy(保存硬拷贝)选项。(4)

24、点击Preview(预览)按钮开始预览。在定义了活塞运动时,活塞运动的预览是在IC Zone Motion(活塞运动)面板中实现的,激活这个面板的菜单操作为:Display - IC Zone Motion.预览操作的具体步骤为:(1)在Display Grid(显示网格)面板中选择准备预览的网格区域。(2)在IC Zone Motion(网格运动)面板中,设置曲柄角度增量(Increment)和迭代步数(Number of Steps)。(3)点击Preview(预览)按钮开始预览。注:在动网格的建立内容中,已经说到了预览动网格在整个计算之中的重要性,请参考。7、定义活塞事件在计算活塞运动时

25、,可以通过定义活塞事件(events)的方式,在计算中增加问题的复杂度,使计算更接近真实情况。这些事件都是以曲柄角度为自变量的,比如可以将打开排气阀的时间定义为曲柄角度的函数,然后在曲柄转到这个角度时,开始打开排气阀操作,等等。下面介绍定义活塞事件的具体步骤和事件种类,从这些介绍中可以了解活塞事件的基本概念和使用方法。1)活塞事件的设置步骤活塞事件在Dynamic Mesh Events(动网格事件)面板中定义。启动这个面板的菜单操作次序为:Define - Dynamic Mesh - Events.活塞事件设置步骤为:(1)在Number of Events(事件数量)栏中输入需要定义的事

26、件数量。(2)在Name(名称)下面输入事件名称。(3)在At Crank Angel(曲柄角度)下输入事件发生的曲柄角度。(4)点击Define(定义)按钮进入Define Event(定义事件)面板做详细定义(5)在Type(类型)下面选择动网格运动类型,可供选择的运动类型包括Change ZoneType(改变网格区域类型)、Copy Zone BC(拷贝网格区域边界条件)、Create Sliding Interface(创建滑动网格交界面)、Delete Sliding Interface(删除滑动网格交界面)、Change Motion Attribute(改变运动属性)、Chan

27、ge 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(预览)按钮,预览上述

28、设置的事件。2)活塞事件在上一小节中讲到的各种事件类型的含义如下:(1)Change Zone Type(改变网格区域类型)。在计算过程中可以改变网格区域的类型,即将网格类型在wall(壁面)、interface(交界面)、fluid(流体)和solid(固体)等类型之间进行转换。在New Zone Type(新网格区域类型)中指定一种类型,则当曲柄运动到相应位置时,指定网格区域类型就会发生转换。(2)Copy Zone BC(拷贝网格区域边界条件)。在网格区域类型改变后,原来设置在网格上的边界条件也要发生相应的变化,这种变化可以通过拷贝另一个区域的边界条件实现,即在设定改变网格区类型的同时,

29、设定拷贝边界条件事件,在网格类型发生改变时,随即从另一个边界上拷贝其边界条件作为新类型下网格区域的边界条件。(3)Creating Sliding Interface(创建滑动网格交界面)。在选择了这个事件类型后,需要定义构成交界面的两个面,即两个相邻网格区域Interface Zone 1(交界面区1)和InterfaceZone 2(交界面区2)。在这里不用考虑界面类型转换的问题,系统会自动将定义为交界面区的网格区域转换为内部面类型。(4)Deleting Sliding Interface(删除滑动网格交界面)。在选择了这个事件类型后,需要在Interface Name(界面名称)中指定

30、将被删除的交界面。在删除界面后,界面所在网格区域将被自动转换为壁面,如果不准备采用系统缺省设置的壁面条件的话,可以考虑如(2)中提示的那样,从其他壁面上拷贝边界。(5)Change Motion Attribute(改变运动属性)。可以用这个事件类型修改网格运动类型。选择了这个事件类型后,需要在Attribute(运动属性)中指定一种运动类型,可以选择的类型包括sliding(滑动)、moving(移动)和remesh(网格重划),同时在Status(状态)中选择enable(激活)或disable(关闭)。(6)Change Time Step(改变时间步长)。在Crank Angel St

31、ep Size(曲柄角度步长)中输入新的步长,可以修改迭代的时间步长)。(7)Insert Boundary Cell Layer(插入边界网格层)。选择这个事件类型后,需要指定Base Dynamic Zone(基础动网格区)和Side Dynamic Zone(临近动网格区)。边界层网格将以基础动网格区为起点生成,临近动网格区就是网格即将发生变形的区域。(8)Deleting Boundary Cell Layer(删除边界网格层)。这个事件类型选项与(7)中的事件相对应,在选择这个选项后,只要指定Base Dynamic Zone(基础动网格区)就可以将插入的边界网格删除。(9)Inse

32、rt 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

33、 Name(内部网格区2 名称)即可。3)输入输出活塞事件在Dynamic Mesh Events(动网格事件)面板上,点击Write.(输出)按钮可以将设置好的活塞事件以文件形式输出到磁盘上;点击Read.(输入)按钮可以将活塞事件文件读入计算模型。4)活塞计算中初始网格的生成可以在dynamesh-mesh-control 文本菜单下,用文本命令position-starting-mesh 设置活塞的初始位置,例如:/define/models/dynamic-mesh-controls position-starting-meshStart Crank Angle (deg) 0 340即将初始位置设置在曲柄转角为340处。在进行活塞计算的设置中,需要妥善处理动网格的拓扑关系、活塞和阀门的运动属性、进气阀和排气阀的开关以及活塞事件的先后次序,尽量全面、合理地进行设置,以保证计算能顺利完成。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁