Workbench Mesh网格划分分析步骤
网格划分工具平台就是为ANSYS软件的不同物理场和求解器提供相应的网格文件,Workbench中集成了很多网格划分软件/应用程序,有ICEM CFD,TGrid,CFX,GAMBIT,ANSYS Prep/Post等。网格文件有两类: ①有限元分析(FEM)的结构网格:
结构动力学分析,电磁场仿真,显示动力学分析(AUTODYN,ANSYS LS DYNA);
②计算流体力学(CFD 分析)分析的网格:用于ANSYS CFX,ANSYS FLUENT,Polyflow;
这两类网格的具体要求如下:
(1)结构网格:
①细化网格来捕捉关心部位的梯度,例如温度、应变能、应力能、位移等; ②大部分可划分为四面体网格,但六面体单元仍然是首选; ③有些显示有限元求解器需要六面体网格;
④结构网格的四面体单元通常是二阶的(单元边上包含中节点);
(2)CFD网格:
①细化网格来捕捉关心的梯度,例如速度、压力、温度等;
②由于是流体分析,网格的质量和平滑度对结果的精确度至关重要,这导致较大的网格数量,经常数百万的单元;
③大部分可划分为四面体网格,但六面体单元仍然是首选,流体分析中,同样的求解精度,六面体节点数少于四面体网格的一半。
④CFD网格的四面体单元通常是一阶的(单元边上不包含中节点)
一般而言,针对不同分析类型有不同的网格划分要求:
①结构分析:使用高阶单元划分较为粗糙的网格;
②CFD:好的,平滑过渡的网格,边界层转化(不同CFD 求解器也有不同的要求);
③显示动力学分析:需要均匀尺寸的网格;
物理选项 实体单元默认中结点 关联中心缺省值 Coarse Coarse Medium Coarse 平滑度 过渡 Mechanical CFD Electromagnetic Explicit Kept Dropped Kept Dropped Medium Medium Medium Fine Fast Slow Fast Slow 注:上面的几项分别对应Advanced中的Element Midside Nodes,以及Sizeing中的
Relevance Center,Smoothing,Transition。
网格划分的目的是对CFD (流体) 和FEM (结构) 模型实现离散化,把求解域分解成可得到精确解的适当数量的单元。
用户需要权衡计算成本和网格划分份数之间的矛盾。细密的网格可以使结果更精确,但是会增加CPU计算时间和需要更大的存储空间,特别是有些不必要的细节会大大增加分析需求。而有些地方,如复杂应力梯度区域,这些区域需要高密度的网格,如下图所示。一般而言,我们需要特别留意几何体
中物理量变化特别大的区域,这些地方的网格需要划分得细密一些!
在理想情况下,用户需要的网格密度是结果不再随网格的加密而改变的密度(例如,当网格细化后解没有什么改变),收敛控制可以达到这样的目的。
注意:细化网格不能弥补模型不准确的假设和输入引起的错误。
网格划分的好坏对后面的求解有十分重要的影响,上图例子列举了一个集流管固体铸件中不收敛的热场。很明显劣质单元区域的分析不可能得到切合实际的数据场。
下面是几种典型网格的形状示意图,其中“四面体网格”和“六面体网格”是主要类型:
(1)四面体网格:
①可以快速地、自动地生成,并适合于复杂几何。如选用网格划分方法中的Automatic,对于一般几何体外形不那么规整,难以被Sweep,因此很难生成六面体网格,这时选用Automatic方法能快速生成四面体网格;
②有等向细化特点,如为捕捉一个方向的梯度,网格将在所有的三个方向细化,这会导致网格数量迅速上升;
③边界层有助于面法向网格的细化,但2-D中仍是等向的(表面网格)。 (2)六面体网格:
①大多CFD 程序中,使用六面体网格可以使用较少的单元数量来进行求解求解。如流体分析中,同样的求解精度,六面体节点数少于四面体网格的一半。
②对任意几何体,由于其外形通常不是很规整,难以被Sweep,因此要想得到高质高效的六面体网格,需要许多步骤。如在ICEM CFD中划分六面体网格就比较费时,需要对几何体进行切割,如下图所示:
但对许多简单几何,用Sweep方法是生成六面体网格的一种简单方式,具体可以选用的划分方法是Sweep和Multizone。
注意点1:多体部件“接触面”的网格匹配的问题:
在Ansys中,有时候往往需要分析比较复杂的装配体,在Design Modeler中可以将某些零件先组成一个多体部件(Multi-Body Part,实体-Body,
部件-Part),即一个Part下面含有多个Body,一旦形成多体部件后,之前
相互独立的这些Bodies在后面的设计仿真中就能拓扑共享,在Mesh中就表现
为它们接触面上的网格是相互匹配的,不像它们相互独立时划分网格是相互间没有任何关联。这个功能是DM的亮点,区别于其他CAD画图软件。
但我们一般画图是在其他CAD软件中完成,不再DM中。那如果是在Solidworks中先画了一个单一几何体,如下图中的一个T型部件(命名为T台),然后将其用“分割”命令划分成两部分,之后导入Workbench中,在Design Modeler中我们看到其被组成了一个多体部件,1Parts,2Bodies:
在Mesh中我们知道,对于一个多体部件其划分网格时有如下特点: ①每一个实体-Body,都独立划分网格,但在实体间的关联仍旧被保留; ②实体间结点能够共享,意味着两个实体间的接触区网格是连续的。其网格效果就将这些不同的Bodies用布尔操作变成一个Body后划分网格一样,但实际上它们是无接触的,即没有成为单个Body,不同Bodies间仍旧相互独立;
③一个多体部件体可以由不同的材料组成;
但是我们实际上将上图所示的部件直接导入Mesh中划分网格之后的结果如下图所示:
发现两部分实体之间的网格并不连续,这也就是说实际上它们并没有形成一个多体部件,而是两个实体(Body)都各自单独地划分网格,它们在接触处的结点位置也不一样,不共享。 为什么?
我们需要在DM中将该几何体重新组成一次多体部件,如下图所示,在DM中先将几何体Explode Part,每个Body都独立,变成2Parts,2Bodies:
然后再一次From New Part,重新变成一个多体部件,1Pat,2Bodies:
之后再在Mesh中划分网格,会发现两个Bodies间的网格匹配了:
造成这个的原因可能使Solidworks中的多体部件和DM中的多体部件不匹配,必须要在DM中重新进行一次多体部件的组成操作!如果是在DM中直接画几何体,不会出现该问题。
那要是我在SW中画的是一个装配体,不像上面例子是先画一个单体,然后再“分割”,这会怎么样?
如下图所示,是将一个SW中画好的装配体直接导入DM中后的结果,我们能发现其10个Bodies之间都是相互独立的,并没组成多体部件(10Parts,10Bodies):
我们将该装配体直接划分网格,由于每一个Bodies都是独立的,因此这些不同Bodies之间的网格也没有匹配:
现在在DM中将其组成一个多体部件(1Part,10Bodies):
组成多体部件后我们选取了其中top-cover,down-base,bolt-1几三个零部件画网格,结果如下图所示:
发现它们之间的网格都匹配,不再是单独划分网格了。
注意点2:多体部件采用不同的网格划分方法
注意点1中讲了多体部件接触面之间的网格划分,上面是针对一个多体部件全局网格划分的情况,那要是我一个多体部件不同Bodies想采用不同的网格划分方法,该怎么处理?
Workbench Mesh网格划分应用程序可运用“分割”的思想,即几何体的各个部件可以使用不同的网格划分方法(如Sweep,Multizone等)。不同
部件的体的网格可以不匹配或不一致,单个部件的体的网格匹配一致。那多体部件的网格该怎么操作才能使每一个Solid(在DM中对应
Body)都有不同的网格划分方法?看下面三通管的例子:
既然要选择不同的网格划分方法,Mesh-Insert-Method-选取某一小零件,如下图中我们选择的小零件为Solid3,其颜色已变成蓝色:
这时我们点击工具栏最上方的Generate Mesh:
但却发现虽然上面我们只是选择了Solid3这一小部件,但划出来的结果却是把其他的零件也一起划分了网格,即相当于整个装配体一起划分了,如下图所示:
这时候可以注意到一点,Solid1~Fluid这5个部件前面都变成了绿色小勾上加一横线,这说明这5个部件都已经完成了网格划分,其所用的方法就是之前为Solid3设定的Automatic Method。那怎么样才能避免这种状况?
关键在于我们在选择了Solid3之后,不要去点击工具栏最上方的Generate Mesh,那个按钮是针对全局网格划分的,我们只需要在Solid3右键-Generate Mesh即可,这时划分的网格就是针对Solid3:
Solid3网格划分得到的结果:
这时我们发现,只有Solid3前面绿色勾加了一横,其余都正常,这说明只有Solid3被划分了网格。注意,这时Mesh旁边有一个黄色闪电标记,此时如果点击工具栏上的Generate Mesh或者是在Mesh上右键-Generate Mesh,则剩余的4个部件都会以Automatic Method方法被生成网格:
其实不用管这个黄色标记,等我们给这5个部件分别划分好网格之后其自动回消失。如下图是我们给Solid1~4按照上面的方法单独划分了网格,这时还剩下Fluid没有划分,此时黄色标记还存在:
等到Fluid也划分好之后,黄色标记自动消失,而且部件前面的绿色小勾也都加上了一横:
注意:如果我们在划分网格时有时需要给几个部件一起划分,如下图中
一次选中了Solid1~Solid3三个部件:
这时我们一定要在上面同时选中Solid1~3,再右键-Generate Mesh,如果只是选取了它们中的一个,则划分出来的网格只是对应那个部件的:
三个部件一齐划分网格:
除了上面讲的方法,特征抑制也可以用来单独划分网格:
对其他部件进行特征抑制Suppress。如下图所示:
我们将其他暂时不用划分网格的部件进行抑制,在需要划分网格的部件上面右键-Suppress All Othere Bodies,然后右侧只剩余需要的零部件。这时再Mesh-Insert-Method-选取零件,我们用Hex-Dominant划分网格。划分完之后再解除抑制,可得到整个装配体只有刚才部件划分了网格:
需要对第二个部件进行单独网格划分时,找到对应的部件也一样执行,划分完之后解除抑制,然后得到如下所示结果。可知只有选中的两个部件被划分了网格:
1、首先是输入几何体,然后点击树形窗口中的mesh之后,主要设置一下几大块内容:
2、Defaults设置
确定物理场,一共对应四种,Mechanical-结构场,Electromagnetics-电磁场,CFD-流场,Explicit-显示动力学。Relevance-指网格相关度,数值从-100~+100,代表网格由疏到密,不同的值对应不同的网格数和节点数:
3、Sizing(网格尺寸函数)设置
Sizing设置中,对于不同的物理场选择会稍有不同,但基本一致,下图以Mechanical为例。
(1)Use Advanced Size Function-高级尺寸函数,主要用于控制曲线/曲面在曲率较大地方的网格,其有如下几种设置:
①off,先从边开始划分网格,在在曲率比较大的地方细化边网格,接下来再产生面网格,最后体网格。
②Curvature,由曲率法确定(细化)边和曲面处的网格大小。在有曲率变化的地方,网格会做的比较漂亮,会自动地加密。如下图所示:
③Proximity,这将对网格划分算法添加更好的处理临近部位的网格,即控制模型邻近区网格的生成,主要适用于窄/薄处的网格生成。对于狭长/细长的几何体,网格会做的比较好,但是对于曲面则不好处理,会做的失败。
④Proximity and Curvature,②和③情况的综合,适用于比较复杂的几何体。如下图所示:
⑤Fixed,只以设定的大小划分网格,不会根据曲率大小自动细化网格。 (2)Relevance Center,关联中心
代表网格的“粗糙,中等,细化”三种模式。其会和上面的Relevance-网格相关度(-100~+100)一起对网格产生影响,如下图所示:
(3)Element Size,全局单元尺寸
Element Size设置用于整个模型使用的单元尺寸。这个尺寸将应用到所有的边、面、体的划分。当上面高级尺寸功能(Use Advanced Size Function)使用的时候这个选项不会出现。
其缺省值(默认值)基于 Relevance和Initial Size Seed,也可以手动可输入想要的值。
(4)Initial Size Seed,初始尺寸种子
用于控制每一部件的初始网格种子,对于已定义单元尺寸则被忽略。有如上所示三种模式:
①Active Assembly,基于这个设置,初始种子放入未抑制部件,网格可改变;
②Full Assembly,基于这个设置,初始种子放入所有装配部件,不管抑制部件的数量。由于抑制部件网格不改变。
③Part,基于这个设置,初始种子在网格划分时放入个别特殊部件。由于抑制部件网格不改变 。
(5)Smoothing以及Transition,平滑和过渡
Smoothing平滑网格,通过移动周围节点和单元的节点位置来改进网格质量,平滑有助于获得更加均匀尺寸的网格。下列选项和“网格划分器开始平滑的门槛尺度”一起控制平滑迭代次数,设置判据如下:中等(Mechanical ,CFD,Electromagnetics),高(Explicit)。
Transition过渡,用于过渡控制邻近单元增长比,设置判据:缓慢(CFD,Explicit),快速(Mechanical,Electromagnetics)。 (6)Span Angel Center,跨度中心角
Span Angle Center设定基于边的细化的曲度目标,网格在弯曲区域细分,直到单独单元跨越这个角。有以下几种选择:粗糙:91°60°;中等:75°~24°;细化:36°~12°。
4、Inflation(膨胀)设置
一般而言,这里的Inflation我们不会去用它,因此Use Automatic Inflation设置为None,即初始网格无膨胀。等到我们在确定局部网格设置时,如果对几何体边界处的物理条件感兴趣,可以利用Mesh-Insert-Inflation来设置具体的膨胀。
5、确定局部网格设置
注意,上面介绍的Defaults,Sizing,Inflation三项设置是针对mesh全局的,对整个几何体都起作用。对于简单的几何体,或者对于网格要求不高的情况,设置好前三项就可以了,后面的几项可以先不用管。可以等网格划分完之后在进行局部网格设定。
但是实际上我们往往要对几何体进行局部优化,这时就需要进行“局部网络设置”。也就是说,mesh的整体思路是“先进行整体和局部网格控制,然后对被选的边、面进行网格细化”。如下图中左侧致密网格就是由后期局部优化得到的:
具体操作为:Mesh-Insert,如下图所示:
而且在Mesh的基础上每插入一项,都会在树形窗口下面跳出对应的局部网格设置项,以及每一项对应的参数设置窗口,如下图所示:
下面列出了可用到的局部网格控制(可用性取决于使用的网格划分方法):尺寸-Sizing、接触尺寸-Contact Sizing、细化-Refinement、映
射面划分-Mapped Face Meshing、匹配控制-Match Control、收缩-Pinch、膨胀-Inflation。
(1)Method,设置网格划分方法
①Automatic-自动划分法,是在四面体和扫掠型网格之间切换,取决于被划分的几何从整体上而言能否被扫掠,遇到不规则的地方(不能被扫掠)程序就自动生成四面体,反之生成六面体。
因为Automatic划六面体是根据对“整个几何体”而言能否被扫掠,要达到整个几何体都能被扫的几率是很低的,因为我们用来分析的几何体往往没有那么规整。由此也就带来了一个问题,在用Automatic划分网格时,往往划出来的都是四面体,如下图所示:
②Tetrahedrons-四面体网格,在三维网格中,相对而言四面体网格划分是最简单的。四面体网格的优缺点如下:
Workbench中四面体网格的生成主要基于两种算法:TGRID算法和ICEM CFD Tetra算法(Algorithm),这两种算法分别对应于下面的Pathch Conforming和Patch Independent,两种四面体算法都可以用于CFD的边界层识别。
①Path Conforming:默认考虑几何面和体生成表面网格,会考虑小的边和面,基于TGRID Tetra算法由表面网格生成体网格(表面网格→体网格)。此方法适用于多体部件,可混合使用Patch Conforming四面体和扫掠方法共同生成网格,可联合Pinch Control 功能有助于移除短边,基于最小尺寸具有内在网格缺陷。
也正是由于Patch Conforming方法会考虑到几何体中比较小的边和面,因此像下图中这种包含太多不同尺寸和形状的面的几何会使Patch Conforming 方法产生问题,这时可使用Patch Independent方法的“虚拟拓扑选项”解决这个问题。而且Patch Independent方法本身也更适合于质量差的几何体。
②Patch Independent:基于ICEM CFD Tetra算法,先生成体网格并映射到表面产生表面网格(体网格→表面网格)。如果没有载荷或命名,就不考虑面和边界(顶点和边)。此法更加容许质量差的CAD几何体,对CAD 许多面
的修补有用,如碎面、短边、差的面参数等。如果面上没有载荷或者命名,就不考虑面和边,直接将网格跟其它面作一体划。如果有命名则要单独划分该区域网格
③Sweep-扫掠型网格,这种方法主要是产生六面体网格,或者棱柱型网格,但要注意被划分体必须是可扫掠的,即是规则几何体:
几个重要的设置项目(源面,目标面):
在Sweep设置中,上图中的几项表示扫掠“源面/目标面”的选择, 以及网格类型。如果选择Manual Source则下面的Source(源面)需要手动选择;如果设置成Manual Source and Target则源面和目标面都需要手动选择。
当创建六面体网格时,先划分“源面”再延伸到“目标面”,其它面叫做侧面。“扫掠方向”或“路径”由侧面定义,源面和目标面间的单元层是由插值法而建立并投射到侧面。
当扫掠几何包含许多扭曲/弯曲时,扫掠划分器会产生扭曲单元导致网格划分失败。
如果想知道几何体哪些部位能被Sweep的话,可以在树形窗中的Mesh上点击右键,Show,可以看到几何体Sweepable Bodies和Mappable Faces即“可被扫掠”和“可被映射”的部分(满足条件的部位会变成绿色,如果没有绿色则说明不可以),如下图所示:
一个可扫掠体需满足的条件是:
①包含不完全闭合空间;
②至少有一个由边或闭合表面连接的从“源面”到“目标面”的路径; ③没有硬性分割定义以致在源面和目标面相应边上有不同分割数;
虽然我们通过Show Sweepable Bodies可能找不到可扫掠体的轴,即系统显示没有部位可以被Sweep。但我们仍旧可以手动设置来找到源面和目标面,另外源面和目标面不必是平面或平行面,也不必是等截面的。
如果整个几何体在上面Show步骤之后显示没有部位可以被Sweep,则我们在用Sweep方法划分网格时用系统Program Controlled去设定源面和目标面,则会出现错误:
④Multizone-多区域扫掠型,主要用来划分六面体网格。
其特点是有几何体自动分解功能(分割功能),从而尽量使每一部分都能被扫掠,多生成六面体网格。如下图,用扫掠方法,这个元件要被切成3个体来得到纯六面体网格:
我们发现,扫掠Sweep和多区Multizone方法的目标均是生成六面体网格,对于有些几何体而言这两种方法都可以使用,但这两种方法之间也有很多不同。
“扫掠方法”是单个源面对单个目标面的扫掠,很好地处理扫掠方向多个侧面,需要分解几何以致每个扫掠路径对应一个体。“多区方法”是自由分解方法,多个源面对多个目标面。
一般满足下列条件时会使用多区:
①划分对于传统扫掠方法来说太复杂的单体部件;
②需考虑多个源面和目标面(不能使用VTs 集成一个源面/目标面); ③关闭对源面和侧面的膨胀;
注意,使用多区时一般把Sizing 下的Advanced Size Function关闭。
⑤Hex Dominant,六面体主导网格法。先在几何体表面生成“四边形主导”的面网格,然后再得到六面体,再按需要填充棱锥和四面体单元。最终往往是在模型的外面生成六面体单元,里面四面体单元。
如下面所示的是用Automatic方法和Hex Dominant方法得到的两种网格,可见Automatic方法得到的是四面体,而Hex Dominant以六面体为主:
Automatic方法
Hex Dominant方法
Hex Dominant方法对于不可扫掠的体,要得到六面体网格时被推荐,在FEM 分析有用。如下图所示的几何体,其属于不可以被
Sweepable,(怎么看能否被扫掠,见上面“Sweep-扫掠型网格”部分内容),因此不能用Sweep方法划分网格,但是能用Hex-Dominant方法尽可能多得到六面体网格:
适用于:
①对内部容积大的体有用;
②对体积和表面积比小的薄复杂体无用:对于CFD无边界层识别。
(2)Sizing,用于设置局部单元的大小
Sizing中的Type通常采用如下两类:
①Element Size:用于设置所选中的具体某单元(体,面,边,或顶点)的平均边长。
②Sphere of Influence:用球体来设置单元平均大小的范围,球体中心坐标采用的是局部坐标系,所有包含在球体内的实体,其单元网格大小均按照设定的尺寸划分。为了描述球所在位置,还对其它需要定义一个坐标系。
如下图所示,球体部分的网格致密程度和其余地方很不一样:
(3)Contact Sizing,用于接触区的网格设置
提供一种在部件间接触面上产生“近似”尺寸单元的方式(网格的尺寸近似但不共形),在接触面上产生大小一致的网格有利于分析。具体设置类型有Element Size或 Relevance:
(4)Refinement,用于网格局部单元细化
要注意的是Refinement仅对“边,面,顶点有效”。另外,Refinement的标准范围值是1~3,推荐使用1级别细化,这使单元边界划分为初始单元边界的一半,是生成粗网格后,网格细化的得到更加密的网格的简易方法。
要注意:Refinement是打破原来的网格划分,但如有原来的网格不是一致的,细化后的网格也不是一致的。尽管对单元的过渡进行平滑处理,但是细化后仍会有不平滑的过渡。
(5)Mapped Face Meshing,映射面网格划分
特点是允许在面上生成结构网格,由于进行映射网格划分可以得到“很一致的网格”,因此对计算有益。但如果因为某些原因不能进行映射面网格划分,网格划分仍将继续,这时将在Outline Tree 上出现标志:
对于一个面能不能生成映射面划分,我们可以利用在树形窗中的Mesh上点击右键,Show,可以看到几何体Mappable Faces,“可被映射”的面,如果我们选择的面不是可被映射的,则就会出现如上所述的图标。
如下图就是对圆柱面内侧进行网格划分,可以看到得到了很一致的网格:
(6)Match Control,面匹配网格划分
用于定义三维实体的周期面或者二维实体的周期边,从而在“对称面或者对称边”上划分出一致的网格。尤其适用于旋转机械的旋转对称分析。
(7)Pinch,用于网格的收缩控制
Pinch可以在划分网格时自动去除模型上的一些小特征,如边、狭窄区等,如可在CFD 中用来移除长边,短边和尖角。收缩只对顶点和边起作用,面和体不能收缩。
Mesh-右键-Create Pinch Controls可以让程序自动寻找并去除几何体上的一些小特征,之前要在Defeaturing(特征清除)中设置好Pinch Tolerance(收缩容差),收缩容差要小于局部最小尺寸(Minimum Edge Length)。
如下图所示,此时得到的Pinch结果数一般比较多。如果想单独对几何体某个点或边进行网格收缩,则Mesh-Insert –Pinch。
下图是执行完Create Pinch Controls之后的网格图对比,表面上没什么差异,但实际上清除前Nodes-32061,Elements-16714;清除后Nodes-30155,Elements-15718。
以下网格方法支持收缩特性:Patch Conforming四面体,薄实体扫掠,六面体控制划分,四边形控制表面网格划分,所有三角形表面划分。
(8)Inflation,膨胀层,用于边界层网格划分加密
一些物理参数在边界层处的梯度变化很大,如流体场中的管道,其管道内外侧的物理参数是很不一样的。为了精确地描述这些参数,Inflation能够将边界层处的网格密度变得较密一些,一般在CFD分析中处理边界层处的网格常用Inflation方法。当然,如果在有限元分析中对“表面边界层处”的结果感兴趣,我们也可以用Inflation方法来对边界处的网格进行优化。
典型的CFD中,膨胀是由边界法向的挤压面边界网格转化来实现的,可实现从膨胀层到内部网格的平滑过渡。
上图中表示的是Inflation的设置选项:
①Geometry-作用的几何体,上图中选择了整个几何体;
②Boundary-边界层所在的面(CFD中就是流体场中对应的管壁,即物理参量变化很大的界面),上图中选择了整个几何体的外表面,如红色部分所示; ③Inflation Option-膨胀选项:
a. Smooth Transition-平滑过渡(默认),使用局部四面体单元尺寸计算每个局部的初始高度和总高度以达到平滑的体积变化比。每个膨胀的三角形都有一个关于面积计算的初始高度,在节点处平均。这意味着对一均匀网格,初始高度大致相同,而对变化网格初始高度也是不同的;
b.总厚度,用Number of Layers 的值和Growth Rate 控制以获得Maximum Thickness值控制的总厚度。不同于Smooth Transition 选项的膨胀,Total Thickness选项的膨胀其第一膨胀层和下列每一层的厚度是常量;
c.第一层厚度,用First Layer Height,Maximum Layers和Growth Rate 控制生成膨胀网格。不同于Smooth Transition选项的膨胀,First Layer Thickness选项的膨胀其第一膨胀层和下列每一层的厚度是常量。 ④Transition Ratio-过渡比:
指膨胀层最后单元层和四面体区域第一单元层间的体尺寸改变。当求解器设置为CFX时,默认的Transition Ratio是0.77。对其它物理选项,如设置为Fluent的CFD,默认值是0.272。(因为Fluent 求解器是单元为中心的,其网格单元
等于求解器单元,而CFX 求解器是顶点为中心的,求解器单元是双重节点网格构造的,因此会发生不同的处理)
⑤Maximum Layers-边界层的层数;
⑥Growth Rate-指后一层比前一层厚几倍,如设置成1则每一层的厚度都是一样的。
⑦Inflation Algorithm-膨胀算法:
Pre-前处理,采用TGrid 算法,为默认设置。首先表面网格膨胀,然后生成体网格。不支持邻近面设置不同的层数,可应用于扫掠和 2D 网格划分。
Post-后处理,ICEM CFD 算法,使用一种在四面体网格生成后作用的后处理技术,只对Patching Conforming和Patch Independent 四面体网格有效。
没有Inflation之前的网格划分
Inflation之后的网格划分
Inflation之后的网格划分剖面图(注意边界处)
6、检查网格质量
在Details of mesh下有一项Statistics中有mesh metric,默认的是None。点开后,就会看到里面有几个检查项目:
Element Quality (单元质量检验) 基于一个给定单元的体积与边长间的比率。其值处于0和1之间,0为最差,1为最好。 对于三角形,连接一个顶点跟对边的中点成一条线,再连另两边的中点成一条线,最后以这两条线的交点为中点Aspect Ratio (纵横比) 构建两个矩形。之后再由另外两个顶点构建四个矩形。这六个矩形中的最长边跟最短边的比率再除以sqrt(3)。最好的值为1。值越大单元越差。对四边形而言,通过四个中点构建两个四边形,aspect ratio就是最长边跟最短边的比率。同样最好的值为1。值越大单元越差。 Jacobian Ratio (雅克比率) 其值就是最大值跟最小值的比率,1最好。值越大说明单元越扭曲。如果最大值跟最小值正负号不同,直接赋值-100。 主要用于检查四边形壳单元,以及实体单元的四边形面。其值基于单元跟其投影间的高差。0说明单元位于一个平面上,值越大说明单元翘曲越厉害。 在一个四边形中,由两条对边的向量的点积,通过acos得到一个角度。取两个角度中的大值。0最好。 最大角度。对三角形而言,60度最好,为等边三角形。对四边形而言,90度最好,为矩形。 是最基本的网格质量检查项,其值位于0跟1之间,0最好,1最差。一般而言超过0.95的网格数量要极少,最好是没有! 其数值越大越好,接近数值1的网格数量越多越好。 Warping Factor (翘曲因子) Parallel Deviation (平行偏差) Maximum Corner Angle (最大转弯角) Skewness (单元畸变度) Orthogonal Quality (正交程度质量) 复杂几何区域的网格单元会变扭曲。劣质的单元会导致劣质的结果,或者在某些情况无结果!Skewness是上面检查方法中一个重要的度量,是单元相对其理想形状的相对扭曲度量,其取值如下:
在检查网格质量时,如果我们需要看具体某个数值下网格数量的分布,则点击右侧下部的Bar即可,如下图所示:
此外,在在网格划分程序中,如果想看几何体某一截面的网格划分情况,找到工具栏的“New section plane”按钮
,然后在几何体中画出一个剖面。
可显示:位于截面任一边的单元,切割或完整的单元,截面上的单元,并且可使用多个截面来查看网格情况。
若想显示完整的立体单元,则点击下图中的小立体块,如果不想显示剖面图了,则将下图中小框里面勾去掉即可。
在Workbench中调用ICEM CFD(流沙):
自从ANSYS 12.0之后,ICEM CFD就从Workbench中被分离出去,作为一个独立的程序使用了,取而代之的是Mesh模块。新版本13.0的Mesh模块功能已经相当强大,足够应付工程需要了。但是有许多人还是用不习惯Mesh模块的操作方式,包括我在内。对于熟悉使用ICEM CFD的使用者来说,若能在Mesh中直接调用ICEM CFD进行网格划分,无疑是一件美好的事情。其实在13.0的Mesh中,是可以直接调用ICEM CFD的。下面我们以一个最简单的例子来说明这个过程。
1、首先是在Mesh中导入几何体,在DS的属性节点菜单中右键点击Mesh,选择Insert > Method,插入方法。设置网格划分方式,如图6所示。注意以下几点:(1)设置Method为MultiZone (2)设定Write ICEM CFD Files为Interactive.这是最主要的两点,其他的就见机设置好了。
都设置完成后,就可以如图7所示,在Mesh上点击右键,选择Generate Mesh生成网格了,DS会自动启动ICEM CFD。
图6 网格方法设置 图7 生成网格
说明:不知道为什么要设置Method为MultiZone,但是如果不设置成这个的话,是找不到进入ICEM CFD的入口的。使用此方法进入ICEM CFD后,会自动进行分块。如果不选择Interactive,虽然也能进入ICEM CFD,但是用户不能重新建立分块,只能采用软件自动生成的块,这自然不是我们想要的。对于要划分四面体的,可以在Mapped Mesh Type中选择其他类型。对于四面体划分,我总觉得Mesh要强于ICEM CFD,因为它包含了ICEM CFD。
2、ICEM CFD中的处理
启动ICEM CFD后,软件会自动分块,如图8所示,很明显自动分成的块并不是我们想要的。我们可以将其删除掉然后重新创建块。创建块中需要进行特别注意。
图8 自动生成的块 图9 生成基本块(注意框中的部分)
建立块如图9所示,需要额外注意的地方:(1)part要手动选取,与几何的part一致。点击下拉框的小三角,选择与上方的part名一致的那个。这一步尤其重要,否则你建好了块到了DS后会重复进入ICEM CFD。(2)Entities最好是选取几何而不是采用默认。
3、ICEM CFD中网格划分
至于如何使用ICEM CFD进行网格划分,这里就不想多说了。对于本例几何,最终块与网格如图10,图11所示。
图10 最终块 图11 最终网格
4、生成网格
图11中的网格并非真实的网格,只是网格预览。我们可以通过菜单File > Mesh > Load From Blocking…
生成实体网格。如图12所示。这时会弹出图13所示的提示,我们选择Replace.
图12 生成网格 图13 警告对话框 5、关闭ICEM CFD
我们关闭ICEM CFD,这时会提示是否保存,如图14所示。一定要选Yes,选了Yes之后,DS中的Mesh会继续网格生成。最终meshing中的网格如图15所示。
图14 对话框 图15 DS中的网格