动网格学习方法

上传人:m**** 文档编号:96513988 上传时间:2022-05-25 格式:DOC 页数:9 大小:291KB
收藏 版权申诉 举报 下载
动网格学习方法_第1页
第1页 / 共9页
动网格学习方法_第2页
第2页 / 共9页
动网格学习方法_第3页
第3页 / 共9页
资源描述:

《动网格学习方法》由会员分享,可在线阅读,更多相关《动网格学习方法(9页珍藏版)》请在装配图网上搜索。

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

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

3、正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。2、动网格更新方法动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-basedsmoothing)、动态分层模型(dynamiclayering)和局部重划模型(localremeshing)。弹簧近似光滑模型原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:(1)移动为单方向。(2)移动方向垂直于

4、边界。如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu下使用文字命令spring-on-all-shapes?,然后激活该选项即可。动态分层模型动态分层模型的应用有如下限制:(1)与运动边界相邻的网格必须为楔形或者六面体(二维四边形)网格。(2)在滑动网格交界面以外的区域,网格必须被单面网格区域包围。(3)如果网格周围区域中有双侧壁面区域,则必须首先将壁面和阴影区分割开,再用滑动交界面将二者耦合起来。(4)如果动态网格附近包含周期性区域,则只

5、能用FLUENT的串行版求解,但是如果周期性区域被设置为周期性非正则交界面,则可以用FLUENT的并行版求解。如果移动边界为内部边界,则边界两侧的网格都将作为动态层参与计算。如果在壁面上只有一部分是运动边界,其他部分保持静止,则只需在运动边界上应用动网格技术,但是动网格区与静止网格区之间应该用滑动网格交界面进行连接。局部网格重划模型需要注意的是,局部网格重划模型仅能用于四面体网格和三角形网格。在定义了动边界面以后,如果在动边界面附近同时定义了局部重划模型,则动边界上的表面网格必须满足下列条件:(1)需要进行局部调整的表面网格是三角形(三维)或直线(二维)。(2)将被重新划分的面网格单元必须紧邻

6、动网格节点。(3)表面网格单元必须处于同一个面上并构成一个循环。(4)被调整单元不能是对称面(线)或正则周期性边界的一部分。动网格的实现在FLUENT中是由系统自动完成的。如果在计算中设置了动边界,则FLUENT会根据动边界附近的网格类型,自动选择动网格计算模型。如果动边界附近采用的是四面体网格(三维)或三角形网格(二维),则FLUENT会自动选择弹簧光顺模型和局部重划模型对网格进行调整。如果是棱柱型网格,则会自动选择动态层模型进行网格调整。在静止网格区域则不进行网格调整。动网格问题中对于固体运动的描述,是以固体相对于重心的线速度和角速度为基本参数加以定义的。既可以用型函数定义固体的线速度和角

7、速度,也可以用UDF来定义这两个参数。同时需要定义的是固体在初始时刻的位置。注:这一小节主要讲述了动网格的更新方法,最好能掌握,尤其是各种方法的适用范围,通常来讲,在一个case中,我们使用的更新方法都是根据网格类型以及和要实现的运动来选择的,很多时候都是几种更新方法搭配起来使用的。总结一下:使用弹簧近似光滑法网格拓扑始终不变,无需插值,保证了计算精度。但弹簧近似光滑法不适用于大变形情况,当计算区域变形较大时,变形后的网格会产生较大的倾斜变形,从而使网格质量变差,严重影响计算精度。动态分层法在生成网格方面具有快速的优势,同时它的应用也受到了一些限制。它要求运动边界附近的网格为六面体或楔形,这对

8、于复杂外形的流场区域是不适合的。使用局部网格重划法要求网格为三角形(二维)或四面体(三维),这对于适应复杂外形是有好处的,局部网格重划法只会对运动边界附近区域的网格起作用。3、动网格问题的建立设置动网格问题的步骤中需要注意的如下:在Solver(求解器)面板中选择非定常流(unsteady)计算;设定边界条件,即设定壁面运动速度;激活动网格模型,并设定相应参数;指定移动网格区域的运动参数;保存算例文件和数据文件;预览动网格设置,菜单操作为:Solve-MeshMotion.;应用自动保存功能保存计算结果,在动网格计算中,因为每个计算步中网格信息都会改变,而网格信息是储存在算例文件中的,所以必须

9、同时保存算例文件和数据文件;如果想建立网格运动的动画过程,可以在SolutionAnimation(计算结果动画)面板中进行相关设置。注:在这一步中,需要提醒一下,使用动网格进行正式计算之前,最好养成预览动网格更新的习惯;就是在正式计算前,浏览一下动网格的更新情况,这样可以避免在计算过程中出现动网格更新本身的问题。在预览更新时,很多人都说会出现负体积的警告,更新不成功,出现这样的问题时,最好先把时间步长改的更小点儿试试,一般来讲,排除UDF本身的原因,出现更新出错的原因都与时间步长有关,这需要结合所使用的更新方法多琢磨。4、设定动网格参数为了使用动网格模型,需要在dynamicmesh(动网格

10、)面板中激活DynamicMesh(动网格)选项。如果计算的是活塞运动,则同时激活In-Cylinder(活塞)选项。然后选择动网格模型,并设置相关参数。1)选择网格更新模型在MeshMethods(网格划分方法)下面选择Smothing(弹簧光顺模型),Layering(动态层模型)和(或)Remshing(局部网格重划模型)。2)设置弹簧光顺参数激活弹簧光顺模型,相关参数设置位于Smoothing(光顺)标签下,可以设置的参数包括SpringConstantFactor(弹簧弹性系数)、BoundaryNodeRelaxation(边界点松弛因子)、ConvergenceTolerance

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

12、收敛判据就是网格节点移动计算中,迭代计算的判据。迭代次数是指网格节点移动计算的最大迭代次数。3)动态分层在Layering(动态分层)标签下,可以设置与动态层模型相关的参数。通过设定ConstantHeight(常值高度)与ConstantRatio(常值比例)可以确定分解网格的两种方法。SplitFactor(分割因子)和CollapseFactor(合并因子)则分别为上面介绍的alpha_s和alpha_c。4)局部网格重新划分网格在Remeshing(重划网格)标签下,设置与局部重划模型相关的参数。可以设置的参数包括MaximumCellSkewness(最大畸变率)、MaximumCe

13、llVolume(最大网格体积)和MinimumCellVolume(最大网格体积),其含义如前所述,主要用于确定哪些网格需要被重新划分。在缺省设置中,如果重新划分的网格优于原网格,则用新网格代替旧网格;否则,将保持原网格划分不变。如果无论如何都要采用新网格的话,则可以在Options(选项)下面选择MustImproveSkewness(必须改善畸变率)选项。如果Options(选项)下面的SizeFunction(尺寸函数)被激活,则还可以用网格尺寸分布函数标志需要重新划分的网格。假设在某点附近的理想网格尺寸为L,而某个网格的尺寸为L,如果:L不属于0.8*gamma*L,1.25*gam

14、ma*L则网格被标志为需要重新划分的网格,并在随后的计算中被重新划分。式中的gamma用下面的公式计算:当alpha0时,gamma=1+alpha*d_b(1+2*beta)当alphaMeshMotion.预览操作步骤如下:(1)在参数设置完毕后,首先保存算例(case)文件。因为与网格设置有关的记录都保存在算例文件中,在预览过程中伴随着网格的更新,与网格有关的记录也不断被刷新,如果不进行保存,则无法恢复原始设置状态,在发现参数设置问题后就无法进行更改了。(2)设置迭代时间步数和时间步长。在计算过程中,当前时间将被显示在CurrentMeshTime(当前网格时间)栏中。如果在计算中选用了

15、活塞模型选项,则时间步长用曲柄速度(shaftspeed)和曲柄转动步长(crankangelstepsize)计算得出。(3)为了在图形窗口中预览网格变化过程,需要激活DisplayOptions(显示选项)下的DisplayGrid(显示网格),并在DisplayFrequency(显示频率)中设置显示频率,即每分钟显示图幅数量。如果要保存显示的图形,则同时激活SaveHardcopy(保存硬拷贝)选项。(4)点击Preview(预览)按钮开始预览。在定义了活塞运动时,活塞运动的预览是在ICZoneMotion(活塞运动)面板中实现的,激活这个面板的菜单操作为:Display-ICZone

16、Motion.预览操作的具体步骤为:(1)在DisplayGrid(显示网格)面板中选择准备预览的网格区域。Increment)和迭2)在ICZoneMotion(网格运动)面板中,设置曲柄角度增量(代步数(NumberofSteps)。(3)点击Preview(预览)按钮开始预览。注:在动网格的建立内容中,已经说到了预览动网格在整个计算之中的重要性,请参考。二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;首先需要声明的是,这个例子也是来源于网络,原作者不详,在此向他表示感谢。1、问题描述本例是想对作简谐振荡运动的NACA0012翼型的气动特性(升力系数,阻力系数和力矩系数)进

17、行数值计算,来流速度为V,攻角的变化规律为:Alpha(t)=A/2*sin(omega*t)其中,A=10度,omega=10*pi弧度/秒。2、该例需要使用动网格来实现,首先需要编写刚体运动UDF实现翼型的俯仰运动,由于在FLUENT的UDF中只能指定速度,角速度;所以,需要将攻角对时间求导,得到转动角速度的规律:D(alpha)/dt=A*omega/2*cos(omega*t)编写的UDF在附件中。3、由于本例只是为了讲述动网格的实现,至于其他方面的设置及分析就不再讨论;这里详细讲述下动网格的建立以及动网格的预览的结果。步骤如下:1)将mesh文件读入到FLUENT中,Grid:che

18、ck,scale,Smooth/Swap;DisplayGrid;2)定义求解器为,Define:pressure-based,2D,unsteady,Implicit,Green-GaussNodeBased(因本例使用的是三角形单元)3)编译UDF,Define-User-Defined-Functions-Complied此时打开了CompliedUDFs的窗口,Add在选择UDF的对话框中找到NACA0012DM文件夹中的airfoil.c文件,选中,ok;此时返回到CompliedUDFs的窗口点击Build,FLUENT开始进行编译,可以在FLUENT窗口看到编译的一些过程提示;等

19、编译完成,点击Load;就将已经编译好的UDF加载到FLUENT中了。4)定义动网格参数,Define-DynamicMesh(选勾,激活动网格模型)-Parameter此时打开了DynamicMeshParameters窗口,在Models中只选取DynamicMesh,本例的网格类型为三角形单元,要实现的运动为小幅度的转动,因此选用的动网格更新方法为Smoothing+Remeshing;开始依次对这两种更新方法进行参数设定:Smoothing中的参数设定:SpringConstantFactor(弹簧倔强系数),该值设定为一个较小的值,在0.01到0.1之间,本例选取0.08;Bound

20、aryNodeRelaxation(边界节点松弛),设定为0.5;ConvergenceTolerance(收敛判据),保持默认的0.001;NumberofIterations(迭代次数),保持默认的20;Remeshing中的参数设定:为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+MustImproveSkewness+SizeFunction的策略。将MinimumLengthScale及MaximumLengthScale均设置为0,为了使所有的区域都被标记重新划分;MaximumCellSkewness(最大单元畸变),参考Mesh

21、ScaleInfo中的参考值0.51,将其设定为0.4,以保证更新后的单元质量;SizeRemeshInterval(依照尺寸标准重新划分的间隔),将这个值设定为1,在FLUENT,不满足最大网格畸变的网格在每个时间步都会被标记,而后重新划分,而不满足最小,最大及尺寸函数的网格,只有在CurrentTime=(SizeRemeshInterval)*deltat的时候,才根据这些尺寸的标准标记不合格的单元进行重新划分,为了保证每步的更新质量,将其修改为1,就是每个时间都根据尺寸的标准标记及更新网格。SizeFunctionResolution(尺寸函数分辨率),保持默认的3;SizeFunct

22、ionVariation(尺寸函数变量):建议使用一个小值,在0.1到0.5之间,本例将其设置为0.3;SizeFunctionRate(尺寸函数变化率),保持默认的0.3。5)定义动网格区域,Define-DynamicMesh-Zones此时打开了DynamicMeshZones窗口,本例是使用UDF控制翼型上下边的刚体运动,因此,在ZoneNames的下拉菜单中选中airfoil的边界,在Type中选择RigidBody,而编译好的airfoilUDF已经在MotionUDF/Profile中了,不用管它;在CenterofGravityLocation中定义刚体重心的初始位置(在这里其

23、实该坐标就是转动点坐标,翼型绕这个I此主题相关图片如下牛:卡由以上的图可以看出,此次网格更新的质量很好,可以用于计算。4、关于计算的其他设置,不再介绍。点俯仰,本应该设定在1/4弦线点,但由于不清楚模型情况,在此让翼型绕原点俯仰。);CenterofGravityOrientation定义重力在惯性系中的方向,均保持默认,这两项如果需要跟踪物体运动的质心位置变化规律则比较有用,如在6DOF中,这里由于不清楚模型情况,保持默认。MeshingOptions中CellHeight设定为0.001,用于定义局部网格重新划分时与边界相邻网格的理想尺寸,由于不知道网格划分间距,大致填写。到此,动网格已经定义完成,接下来,预览动网格更新情况。6)预览动网格,Solve-MeshMotion设置TimeStepSize(时间步长)为0.001秒,NumberofTimeSteps(时间步数)设置为400,之后点击Preview就可以看动网格的更新情况了。初始网格如图:Grid(Time=LDOODe-D1)Jan23,2D08FLUEN-6,3(2d+dbnsimp,dynameshunsteady)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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