当前位置:文档之家› ICEM CFD动网格学习

ICEM CFD动网格学习

ICEM CFD动网格学习
ICEM CFD动网格学习

FLUENT动网格教程

该专题主要包括以下的主要内容:

§一、动网格的相关知识介绍;

§二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;

§三、与动网格应用有关的参考文献;

§四、使用动网格进行计算的一些例子。

§一、动网格的相关知识介绍

有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。

1、简介

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

注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。

2、动网格更新方法

动网格计算中网格的动态变化过程可以用三种模型进行计算,即

弹簧近似光滑模型(spring-based smoothing)、

动态分层模型(dynamic layering)

局部重划模型(local remeshing)

1)弹簧近似光滑模型

原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:

(1)移动为单方向。

(2)移动方向垂直于边界。

如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spring-on-all-shape s?,然后激活该选项即可。

2)动态分层模型

动态分层模型的应用有如下限制:

(1)与运动边界相邻的网格必须为楔形或者六面体(二维四边形)网格。

(2)在滑动网格交界面以外的区域,网格必须被单面网格区域包围。

(3)如果网格周围区域中有双侧壁面区域,则必须首先将壁面和阴影区分割开,再用滑动交界面将二者耦合起来。

(4)如果动态网格附近包含周期性区域,则只能用FLUENT 的串行版求解,但是如果周期性区域被设置为周期性非正则交界面,则可以用FLUENT 的并行版求解。

如果移动边界为内部边界,则边界两侧的网格都将作为动态层参与计算。如果在壁面上只有一部分是运动边界,其他部分保持静止,则只需在运动边界上应用动网格技术,但是动网格区与静止网格区之间应该用滑动网格交界面进行连接。

3——局部网格重划模型

需要注意的是,局部网格重划模型仅能用于四面体网格和三角形网格。在定义了动边界面以后,如果在动边界面附近同时定义了局部重划模型,则动边界上的表面网格必须满足下列条件:

(1)需要进行局部调整的表面网格是三角形(三维)或直线(二维)。

(2)将被重新划分的面网格单元必须紧邻动网格节点。

(3)表面网格单元必须处于同一个面上并构成一个循环。

(4)被调整单元不能是对称面(线)或正则周期性边界的一部分。

动网格的实现在FLUENT 中是由系统自动完成的。如果在计算中设置了动边界,则F LUENT 会根据动边界附近的网格类型,自动选择动网格计算模型。如果动边界附近

采用的是四面体网格(三维)或三角形网格(二维),则FLUENT 会自动选择弹簧光顺模型和局部重划模型对网格进行调整。如果是棱柱型网格,则会自动选择动态层模型进行网格调整。在静止网格区域则不进行网格调整。

动网格问题中对于固体运动的描述,是以固体相对于重心的线速度和角速度为基本参数加以定义的。既可以用型函数定义固体的线速度和角速度,也可以用UDF 来定义这两个参数。同时需要定义的是固体在初始时刻的位置。

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

3、动网格问题的建立

设置动网格问题的步骤中需要注意的如下:

在Solver(求解器)面板中选择非定常流(unsteady)计算;设定边界条件,即设定壁面运动速度;激活动网格模型,并设定相应参数;指定移动网格区域的运动参数;保存算例文件和数据文件;预览动网格设置,菜单操作为:Solve -> Mesh Motion...;应用自动保存功能保存计算结果,在动网格计算中,因为每个计算步中网格信息都会改变,而网格信息是储存在算例文件中的,所以必须同时保存算例文件和数据文件;如果想建立网格运动的动画过程,可以在Solution Animation(计算结果动画)面板中进行相关设置。

注:在这一步中,需要提醒一下,使用动网格进行正式计算之前,最好养成预览动网格更新的习惯;就是在正式计算前,浏览一下动网格的更新情况,这样可以避免在计算过程中出现动网格更新本身的问题。在预览更新时,很多人都说会出现负体积的警告,更新不成功,出现这样的问题时,最好先把时间步长改的更小点儿试试,一般

来讲,排除UDF本身的原因,出现更新出错的原因都与时间步长有关,这需要结合所使用的更新方法多琢磨。

4、设定动网格参数

为了使用动网格模型,需要在dynamic mesh(动网格)面板中激活Dynamic M esh(动网格)选项。如果计算的是活塞运动,则同时激活In-Cylinder(活塞)选项。然后选择动网格模型,并设置相关参数。

1)选择网格更新模型

在Mesh Methods(网格划分方法)下面选择Smothing(弹簧光顺模型),Laye ring(动态层模型)和(或)Remshing(局部网格重划模型)。

2)设置弹簧光顺参数

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

收敛判据就是网格节点移动计算中,迭代计算的判据。迭代次数是指网格节点移动计算的最大迭代次数。

3)动态分层

在Layering(动态分层)标签下,可以设置与动态层模型相关的参数。通过设定C onstant Height(常值高度)与Constant Ratio(常值比例)可以确定分解网格的两种方法。Split Factor(分割因子)和Collapse Factor(合并因子)则分别为上面介绍的alpha_s和alpha_c。

4)局部网格重新划分网格

在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]

则网格被标志为需要重新划分的网格,并在随后的计算中被重新划分。式中的ga mma用下面的公式计算:

当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 Fun ction 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(使用缺省值)按钮,可以恢复系统缺省设置。

5)设定活塞运动参数

如果在计算中选择使用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 scal e info中的值是整个网格的评价值,设置的时候看一下动网格附近的网格和整个网格区域的大小比较,然后确定这两个参数,一般来讲,动网格附近的网格较密,这些值都比整体的小,所以在设置时通常设置为比mesh scale info中的Minimum length scale大一点,比Maximum Length Scale小一点。

5、定义动网格的运动方式

在计算动网格问题时,必须定义动网格区的运动方式。在动网格区为刚体运动时,可以用型函数和UDF 来定义其运动;在动网格区为变形区域时,则需要定义其几何特征及局部网格重划参数;如果动网格区既做刚体运动又有变形发生,则只能用UDF 来定义其几何形状的变化和运动过程。

上述定义在Dynamic Zones(动态区域)面板中设置,在这个面板中可以修改动态区域的设置、计算刚体运动区域的重心或删除一个动态区域。方法是首先在Dyna mic Zones(动态区域)列表中选择一个动网格区,然后修改其设置参数,或计算其重心,或进行删除操作,最后点击Create(创建)按钮保存设置。

对于新加入的区域,需要先从Zone Names(区域名称)下选择相关区域,然后在Type(类型)下选择其运动类型。可供选择的运动类型包括:

Stationary(静止)

Rigid Body(刚体运动)

Deforming(变形)

User-Defined(用户自定义)

补充资料:FLUENT三种动边界控制实现方法

1) void DEFINE_CG_MOTION (UDFname,Dynamic_Thread * dt,real vel[ ], real omega[ ], real time,real dtime)。

此函数接口用于控制刚体的运动,用户把刚体质心运动速度和角速度分别赋值给ve

l和omega, FLUENT根据它们的值来自动计算出边界下一步的位置,从而实现动边界

的控制; 刚体质心的位置可以在函数接口界面对话框中定义。Dynamic Zones中的d wall就是要控制的动边界,Motion UDF/Profile中的就是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坐标, posi tion [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)设置迭代时间步数和时间步长。在计算过程中,当前时间将被显示在Curre

nt Mesh Time(当前网格时间)栏中。如果在计算中选用了活塞模型选项,则时间步长用曲柄速度(shaft speed)和曲柄转动步长(crank angel step size)计算得出。

(3)为了在图形窗口中预览网格变化过程,需要激活Display Options(显示选项)下的Display Grid(显示网格),并在Display Frequency(显示频率)中设置显示频率,即每分钟显示图幅数量。如果要保存显示的图形,则同时激活Save Hard copy(保存硬拷贝)选项。

(4)点击Preview(预览)按钮开始预览。

在定义了活塞运动时,活塞运动的预览是在IC Zone Motion(活塞运动)面板中实现的,激活这个面板的菜单操作为:Display -> IC Zone Motion...

预览操作的具体步骤为:

(1)在Display Grid(显示网格)面板中选择准备预览的网格区域。

(2)在IC Zone Motion(网格运动)面板中,设置曲柄角度增量(Increment)和迭代步数(Number of Steps)。

(3)点击Preview(预览)按钮开始预览。

注:在动网格的建立内容中,已经说到了预览动网格在整个计算之中的重要性,请参考。

§二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程首先需要声明的是,这个例子也是来源于网络,原作者不详,在此向他表示感谢。

1、问题描述

本例是想对作简谐振荡运动的NACA0012翼型的气动特性(升力系数,阻力系数和力矩系数)进行数值计算,来流速度为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:check,scale…,Smooth/Swap…;Display Grid;

2)定义求解器为,Define:pressure-based,2D,unsteady,Implicit,Green-Gauss Node Based(因本例使用的是三角形单元).

3)编译UDF,Define->User-Defined->Functions->Complied…

此时打开了Complied UDFs的窗口,Add…在选择UDF的对话框中找到NACA0 012DM文件夹中的airfoil.c文件,选中,ok;此时返回到Complied UDFs的窗口点击Build,FLUENT开始进行编译,可以在FLUENT窗口看到编译的一些过程提示;等编译完成,点击Load;就将已经编译好的UDF加载到FLUENT中了。

4)定义动网格参数,Define->Dynamic Mesh(选勾,激活动网格模型)->Para meters…

此时打开了Dynamic Mesh Parameters 窗口,在Models中只选取Dynamic M esh,本例的网格类型为三角形单元,要实现的运动为小幅度的转动,因此选用的动网格更新方法为Smoothing+Remeshing;开始依次对这两种更新方法进行参数设定:Smoothing中的参数设定:

Spring Constant Factor(弹簧倔强系数),该值设定为一个较小的值,在0.01到0.1之间,本例选取0.08;

Boundary Node Relaxation(边界节点松弛),设定为0.5;

Convergence Tolerance(收敛判据),保持默认的0.001;

Number of Iterations(迭代次数),保持默认的20;

Remeshing中的参数设定:

为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+Must Improve Skewness+Size Function的策略。

将Minimum Length Scale及Maximum Length Scale均设置为0,为了使所有的区域都被标记重新划分;

Maximum Cell Skewness(最大单元畸变),参考Mesh Scale Info…中的参考值0.51,将其设定为0.4,以保证更新后的单元质量;

Size Remesh Interval(依照尺寸标准重新划分的间隔),将这个值设定为1,在FLUENT,不满足最大网格畸变的网格在每个时间步都会被标记,而后重新划分,而不满足最小,最大及尺寸函数的网格,只有在Current Time=(Size Remesh Interv al)*delta t的时候,才根据这些尺寸的标准标记不合格的单元进行重新划分,为了保证每步的更新质量,将其修改为1,就是每个时间都根据尺寸的标准标记及更新网格。

Size Function Resolution(尺寸函数分辨率),保持默认的3;

Size Function Variation(尺寸函数变量):建议使用一个小值,在0.1到0.5之间,本例将其设置为0.3;

Size Function Rate(尺寸函数变化率),保持默认的0.3。

5)定义动网格区域,Define->Dynamic Mesh->Zones…

此时打开了Dynamic Mesh Zones窗口,本例是使用UDF控制翼型上下边的刚体运动,因此,在Zone Names的下拉菜单中选中airfoil的边界,在Type中选择Ri gid Body,而编译好的airfoil UDF已经在Motion UDF/Profile中了,不用管它;在Center of Gravity Location中定义刚体重心的初始位置(在这里其实该坐标就是转动点坐标,翼型绕这个点俯仰,本应该设定在1/4弦线点,但由于不清楚模型情况,在此让翼型绕原点俯仰。);Center of Gravity Orientation定义重力在惯性系中的方向,均保持默认,这两项如果需要跟踪物体运动的质心位置变化规律则比较有用,如在6DOF中,这里由于不清楚模型情况,保持默认。Meshing Options中Cell Heigh t设定为0.001,用于定义局部网格重新划分时与边界相邻网格的理想尺寸,由于不知道网格划分间距,大致填写。

到此,动网格已经定义完成,接下来,预览动网格更新情况。

6)预览动网格,Solve->Mesh Motion…设置Time Step Size(时间步长)为0. 001秒,Number of Time Steps(时间步数)设置为400,之后点击Preview就可以看动网格的更新情况了。

初始网格如图:

经0.02秒后的网格:

经0.1秒后的网格:

经0.17秒后的网格:

由以上的图可以看出,此次网格更新的质量很好,可以用于计算。

ICEM_CFD混合网格

ICEM CFD中合并多个网格 对于结构十分复杂的几何模型,若能够将几何体分割成多个部分由多人分别进行网格划分,生成网格后能够对网格进行组装,这恐怕是很多人梦寐以求的功能了。其实很多前处理软件都具有此功能。今天要说的是如何在ICEM CFD中实现此功能。 为了简单起见,这里用一个非常简单的模型进行演示。当然复杂的模型的处理方式也是相同的。我们要处理的几何模型如图1所示。一个L型整体块被切割成3份。分别导出为3个不同的几何文件。按图中标示的顺序分别导出为1.x_t,2.x_t,3.x_t,当然其他的格式也无妨。但是最好是在同一个体上进行切割,否则网格组装的过程中会存在定位的问题。同一个体上切割的几何则不会存在几何坐标定位的问题。 图1 原始几何图2 几何1生成的网格图3 保存网格 1、将几何1.x_t导入到ICEM CFD中进行网格划分。注意千万保证单位的一致,切记。 这里是一个长方体,网格划分方法就不多说了。预览网格如图2所示。选择菜单File > Mesh > Load From Blocking生成网格。 2、保存网格。 选择File > Mesh >Save Mesh As…,我们这里保存已生成的网格为1.uns,后面组装的时候要用到此文件。 3、按照相同的步骤对模型2与模型3进行网格文件,同时保存网格文件为2.uns与3.uns。

图4 模型2的网格图5 模型3的网格 4、网格组装 先导入1.uns,点击菜单File > Mesh >Open Mesh…,选择第2步保存的网格文件1.uns,导入模型1的网格。 以同样的菜单,选择2.uns,会弹出对话框如图6所示。注意此时选择Merge,否则如果选择Replace的话,则只会导入模型2的网格,将模型1的网格替换掉,这不是我们想要的。接下来我们以相同的步骤导入3.uns,同样选择Merge。导入后网格如图7所示。 图6 对话框图7 全部倒入后的模型 5、导出网格 以常规方式导出网格。我们这里测试将网格导入至少fluent中。从图8导入信息可以看到,完全没有问题。

ICEM_CFD_网格划分入门

WorkBench ICEM CFD 网格划分入门 111AnsysWB里集成了一个非常重要的工具:ICEM CFD。 它是一个建模、划分网格的集成工具,功能非常强大。我也只是蜻蜓点水的用了几次,感觉确实非常棒,以前遇到复杂的模型,用过几个划分网格的工具。但这是我觉得最方便和最具效率的。 网格划分很大程度上影响着后续的仿真分析——相信各位都有所体会。而ICEM CFD特别长于划分六面体网格,相信无论是结构或流体(当然铁别是流体),都会得益于它的威力。 ICEM CFD建模的能力不敢恭维,但划分网格确实有其独到之处。教程开始前,作一个简单的原理介绍,方面没有使用过ICEM CFD的朋友理解主要的任务: 111如下图: 1:白色的物体是我们需要划分网格的,但是它非常不规则。 2:这时候你一定想:怎么这个不规则呢,要是它是一个方方正正的形状多好(例如红色的那个形状)01 111于是有了这样一种思想: 1:对于异型,我们用一种规则形状去描述它。 2:或者说:如果目标形状非常复杂,我们就用很多规则的,简单的形状单元合成在一起,去描述它。之后,将网格划分的设置,做到规则形状上。

最后,这些规则,通过最初的“描述”关系,自动的“映射”到原先的复杂形状上——问题就得到了解决!!! ICEM CFD正是使用了这种思想。 如下是一个三通管,在ProE里做得 02 在ProE里面直接启动WB 进入WB后,选择如下图: 03 111如下: 1:代表工作空间里的实体

2:代表某实体的子实体,可以控制它们的开关状态 3:控制显示的地方 04 下面需要创建一个Body实体 这个实体代表了真实的物体。这个真实的物体的外形由我们导入的外形来定义。 ——我们导入的外形并不是真实的实体。这个概念要清楚。 但是今后基本上不会对这个真实的实体作什么操作。这种处理方式主要是为工作空间内有多个物体的时候准备的。 05

高级应用之头像ICEM网格划分

网格剖分之人头——ICEM 先来看看头像的原始几何模型吧,原始文件是影像扫描技术成型的自由曲面蒙皮模型,当然先要把曲面转换成实体格式(这一步对专业的网格平台不是必需),还好,手头先进的三维CAD 程序正好发挥用途,一个简单的操作,便完成了曲面向实体的转变,很显然,这是一个对称体,为了减少工作量,当然,对称化的处理是必须的(见图1、2),对不住了,我只有残忍地把这家伙一劈为二了。 图1 整体头像 图2 对称头像 好了,完成了基本头像几何的边界,接下来的工作应该是几何拓补规划,把脑筋转起来,OK,很快就发现了,整体头像的几何拓补非常简单,几乎就是一个方块+圆柱+切削圆球的组合体(图3、4),麻烦的制造者在于这家伙脑袋上长了眼睛和一个嘴巴,嘴巴是一个洞穴,眼睛也是一个洞穴,显然,最终拓补构造的时候,这个地方可能得多挖两锄头,至少得搞两个坑出来,把多余的“赘肉”给割掉(鼻子很简单,不过就是广阔的平原上冒出一个小山丘,而且和立脸颊面部连接非常光滑,没有凹凸拐点,因此,应该不影响咱们的网格分布构造)。OK,到目前为止,美容手术之前的准备工作已经结束,可以躺到手术床上了。 图3 整体拓补 图4 面部拓补

上了手术台(导入ICEM),当然首先要做的工作便是一系列“宽衣解带”工作,ICEM里面这个过程称之为几何清理和修复,当然,这一切过程都基本上是自动化的,也有需要手工清理的时候,那种情况的前提是“相貌”长得实在太丑(几何模型太“烂”),不手工打底,实在没有办法。这个头像的几何模型还可以,基本上没有什么多余操作,自动清理就是了,这个过程实在没有啰嗦的必要,大多数网格程序都差不多。接下来,先回顾一下几种典型的几何拓补关系的分块方法(图5),彻底理解了这些分块思路,这个模型就简单了,图6为分块组合方式(几乎是高质量结构化六面体网格的必须方式)——从左到右,依次为圆球挖孔、1/8圆球+1/4圆柱、1/4圆球+1/2圆柱、圆柱、圆球、1/2圆柱+方体,当然,圆球也可异化为椭球体,方体可以异化为梯形体、楔形体、1/8圆球体可以异化为三棱锥体,这些异化体的几何拓补以及分块组合方式是完全相同的,因此图5的几何组合元素具有相当的普适性。图6、7是对应的分块拓补和网格,值得一提的是,最后的网格质量是相当地高。 图5 典型的几何拓补组合形式

ANSYS ICEM CFD 网格划分教程1

AutoHexa Tutorial Manual Version 4.2 March 2002

ii ? 2002 by ICEM CFD Engineering All Rights Reserved. No part of this document may be reproduced or used in any form otherwise without express permission from ICEM CFD Engineering. All other products or name brands are trademarks of their respective holders. ICEM CFD Engineering 2855 Telegraph Avenue Suite 501 Berkeley, CA 94705 https://www.doczj.com/doc/1616797274.html, info@https://www.doczj.com/doc/1616797274.html,

iii Version 4.2AutoHexa Tutorial Manual ICEM CFD Engineering Table of Contents Getting Started xi Tutorial Example 1.1: Modeling and Meshing a Room 1 1.1.1:Starting the Project (2) 1.1.2:Menus and Windows (3) 1.1.3:Creating Objects (4) 1.1.4:Mesh Generation (15) Tutorial Example 1.2: Modeling and Meshing a Subway Station 23 1.2.1:Starting the Project (24) 1.2.2:Creating Objects (24) 1.2.3:Copying Objects (27) 1.2.4:Creating Objects (28) 1.2.5:Creating Groups of Objects (30) 1.2.6:Creating Polygons (32) 1.2.7:Creating Quads (35) 1.2.8:Mesh Generation (38) Tutorial Example 1.3: Modeling and Meshing a Chemical Vapor Deposition Reactor 43 1.3.1:Starting the Project (44) 1.3.2:Model Creation (44) 1.3.3:Copying Objects (47) 1.3.4:Creating Objects (49) 1.3.5:Mesh Generation (52) Tutorial Example 1.4: Modeling and Meshing a Lab 57 1.4.1:Starting the Project (58) 1.4.2:Creating Objects (59)

相关主题
文本预览
相关文档 最新文档