Workbench Mesh网格划分分析步骤.docx
《Workbench Mesh网格划分分析步骤.docx》由会员分享,可在线阅读,更多相关《Workbench Mesh网格划分分析步骤.docx(29页珍藏版)》请在冰豆网上搜索。
![Workbench Mesh网格划分分析步骤.docx](https://file1.bdocx.com/fileroot1/2023-6/10/c591e1f5-7060-48e5-886f-eceb544d3b52/c591e1f5-7060-48e5-886f-eceb544d3b521.gif)
WorkbenchMesh网格划分分析步骤
WorkbenchMesh网格划分分析步骤
网格划分工具平台就是为ANSYS软件的不同物理场和求解器提供相应的网格文件,Workbench中集成了很多网格划分软件/应用程序,有ICEMCFD,TGrid,CFX,GAMBIT,ANSYSPrep/Post等。
网格文件有两类:
①有限元分析(FEM)的结构网格:
结构动力学分析,电磁场仿真,显示动力学分析(AUTODYN,ANSYSLSDYNA);
②计算流体力学(CFD分析)分析的网格:
用于ANSYSCFX,ANSYSFLUENT,Polyflow;
这两类网格的具体要求如下:
(1)结构网格:
①细化网格来捕捉关心部位的梯度,例如温度、应变能、应力能、位移等;②大部分可划分为四面体网格,但六面体单元仍然是首选;
③有些显示有限元求解器需要六面体网格;
④结构网格的四面体单元通常是二阶的(单元边上包含中节点);
(2)CFD网格:
①细化网格来捕捉关心的梯度,例如速度、压力、温度等;
②由于是流体分析,网格的质量和平滑度对结果的精确度至关重要,这导致较大的网格数量,经常数百万的单元;
③大部分可划分为四面体网格,但六面体单元仍然是首选,流体分析中,同样的求解精度,六面体节点数少于四面体网格的一半。
④CFD网格的四面体单元通常是一阶的(单元边上不包含中节点)一般而言,针对不同分析类型有不同的网格划分要求:
①结构分析:
使用高阶单元划分较为粗糙的网格;
②CFD:
好的,平滑过渡的网格,边界层转化(不同CFD求解器也有不同的要求);
③显示动力学分析:
需要均匀尺寸的网格;
注:
上面的几项分别对应Advanced中的ElementMidsideNodes,以及Sizeing中的
RelevanceCenter,Smoothing,Transition。
网格划分的目的是对CFD(流体)和FEM(结构)模型实现离散化,把求解域分解成可得到精确解的适当数量的单元。
用户需要权衡计算成本和网格划分份数之间的矛盾。
细密的网格可以使结果更精确,但是会增加CPU计算时间和需要更大的存储空间,特别是有些不必要的细节会大大增加分析需求。
而有些地方,如复杂应力梯度区域,这些区域需要高密度的网格,如下图所示。
一般而言,我们需要特别留意几何体中物理量变化特别大的区域,这些地方的网格需要划分得细密一些!
在理想情况下,用户需要的网格密度是结果不再随网格的加密而改变的密度(例如,当网格细化后解没有什么改变),收敛控制可以达到这样的目的。
注意:
细化网格不能弥补模型不准确的假设和输入引起的错误。
网格划分的好坏对后面的求解有十分重要的影响,上图例子列举了一个集流管固体铸件中不收敛的热场。
很明显劣质单元区域的分析不可能得到切合实际的数据场。
下面是几种典型网格的形状示意图,其中“四面体网格”和“六面体网格”是主要类型:
(1)四面体网格:
①可以快速地、自动地生成,并适合于复杂几何。
如选用网格划分方法中的Automatic,对于一般几何体外形不那么规整,难以被Sweep,因此很难生成六面体网格,这时选用Automatic方法能快速生成四面体网格;
②有等向细化特点,如为捕捉一个方向的梯度,网格将在所有的三个方向细化,这会导致网格数量迅速上升;
③边界层有助于面法向网格的细化,但2-D中仍是等向的(表面网格)。
(2)六面体网格:
①大多CFD程序中,使用六面体网格可以使用较少的单元数量来进行求解求解。
如流体分析中,同样的求解精度,六面体节点数少于四面体网格的一半。
②对任意几何体,由于其外形通常不是很规整,难以被Sweep,因此要想得到高质高效的六面体网格,需要许多步骤。
如在ICEMCFD中划分六面体网格就比较费时,需要对几何体进行切割,如下图
但对许多简单几何,用Sweep方法是生成六面体网格的一种简单方式,具体可以选用的划分方法是Sweep和Multizone。
注意点1:
多体部件“接触面”的网格匹配的问题:
在Ansys中,有时候往往需要分析比较复杂的装配体,在DesignModeler中可以将某些零件先组成一个多体部件(Multi-BodyPart,实体-Body,部件-Part),即一个Part下面含有多个Body,一旦形成多体部件后,之前相互独立的这些Bodies在后面的设计仿真中就能拓扑共享,在Mesh中就表现
为它们接触面上的网格是相互匹配的,不像它们相互独立时划分网格是相互间没有任何关联。
这个功能是DM的亮点,区别于其他CAD画图软件。
但我们一般画图是在其他CAD软件中完成,不再DM中。
那如果是在Solidworks中先画了一个单一几何体,如下图中的一个T型部件(命名为T台),然后将其用“分割”命令划分成两部分,之后导入Workbench中,在DesignModeler中我们看到其被组成了一个多体部件,1Parts,2Bodies:
在Mesh中我们知道对于一个多体部件其划分网格时有如下特点:
①每一个实体-Body,都独立划分网格,但在实体间的关联仍旧被保留;
②实体间结点能够共享,意味着两个实体间的接触区网格是连续的。
其网格效果就将这些不同的Bodies用布尔操作变成一个Body后划分网格一样,但实际上它们是无接触的,即没有成为单个Body,不同Bodies间仍旧相互独立;
③一个多体部件体可以由不同的材料组成;
但是我们实际上将上图所示的部件直接导入Mesh中划分网格之后的结果如下图所示:
发现两部分实体之间的网格并不连续,这也就是说实际上它们并没有形成一个多体部件,而是两个实体(Body)都各自单独地划分网格,它们在接触处的结点位置也不一样,不共享。
为什么?
我们需要在DM中将该几何体重新组成一次多体部件,如下图所示,在DM中先将几何体ExplodePart,每个Body都独立,变成2Parts,2Bodies:
然后再一次FromNewPart,重新变成一个多体部件,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几三个零部件画网格,结果如下图所示:
首先是输入几何体,然后点击树形窗口中的mesh之后,主要设置一下几大块内容:
2、Defaults设置
确定物理场,一共对应四种,Mechanical-结构场,Electromagnetics-电磁场,CFD-流场,Explicit-显示动力学。
Relevance-指网格相关度,数值从-100~+100,代表网格由疏到密,不同的值对应不同的网格数和节点数:
3、Sizing(网格尺寸函数)设置
Sizing设置中,对于不同的物理场选择会稍有不同,但基本一致,下图以Mechanical为例。
(1)UseAdvancedSizeFunction-高级尺寸函数,主要用于控制曲线/曲面在曲率较大地方的网格,其有如下几种设置:
①off,先从边开始划分网格,在在曲率比较大的地方细化边网格,接下来再产生面网格,最后体网格。
②Curvature,由曲率法确定(细化)边和曲面处的网格大小。
在有曲率变化的地方,网格会做的比较漂亮,会自动地加密。
如下图所示:
③Proximity,这将对网格划分算法添加更好的处理临近部位的网格,即控制模型邻近区网格的生成,主要适用于窄/薄处的网格生成。
对于狭长/细长的几何体,网格会做的比较好,但是对于曲面则不好处理,会做的失败。
④ProximityandCurvature,②和③情况的综合,适用于比较复杂的几何体。
如下图所示
⑤Fixed,只以设定的大小划分网格,不会根据曲率大小自动细化网格。
(2)RelevanceCenter,关联中心
代表网格的“粗糙,中等,细化”三种模式。
其会和上面的Relevance-网格相关度(-100~+100)一起对网格产生影响,如下图所示:
(3)ElementSize,全局单元尺寸
ElementSize设置用于整个模型使用的单元尺寸。
这个尺寸将应用到所有的边、面、体的划分。
当上面高级尺寸功能(UseAdvancedSizeFunction)使用的时候这个选项不会出现。
其缺省值(默认值)基于Relevance和InitialSizeSeed,也可以手动可输入想要的值。
(4)InitialSizeSeed,初始尺寸种子
用于控制每一部件的初始网格种子,对于已定义单元尺寸则被忽略。
有如上所示三种模式:
①ActiveAssembly,基于这个设置,初始种子放入未抑制部件,网格可改变;
②FullAssembly,基于这个设置,初始种子放入所有装配部件,不管抑制部件的数量。
由于抑制部件网格不改变。
③Part,基于这个设置,初始种子在网格划分时放入个别特殊部件。
由于抑制部件网格不改变。
(5)Smoothing以及Transition,平滑和过渡
Smoothing平滑网格,通过移动周围节点和单元的节点位置来改进网格质量,平滑有助于获得更加均匀尺寸的网格。
下列选项和“网格划分器开始平滑的门槛尺度”一起控制平滑迭代次数,设置判据如下:
中等(Mechanical,CFD,Electromagnetics),高(Explicit)。
Transition过渡,用于过渡控制邻近单元增长比,设置判据:
缓慢(Explicit),快速(Mechanical,Electromagnetics)。
(6)SpanAngelCenter,跨度中心角
SpanAngleCenter设定基于边的细化的曲度目标,网格在弯曲区域细分,直到单独单元跨越这个角。
有以下几种选择:
粗糙:
91°60°;中等:
75°~24°;细化:
36°~12°。
4、Inflation(膨胀)设置
一般而言,这里的Inflation我们不会去用它,因此UseAutomaticInflation设置为None,即初始网格无膨胀。
等到我们在确定局部网格设置时,如果对几何体边界处的物理条件感兴趣,可以利用Mesh-Insert-Inflation来设置具体的膨胀。
5、确定局部网格设置
注意,上面介绍的Defaults,Sizing,Inflation三项设置是针对mesh全局的,对整个几何体都起作用。
对于简单的几何体,或者对于网格要求不高的情况,设置好前三项就可以了,后面的几项可以先不用管。
可以等网格划分完之后在进行局部网格设定。
但是实际上我们往往要对几何体进行局部优化,这时就需要进行“局部网络设置”。
也就是说,mesh的整体思路是“先进行整体和局部网格控制,然后对被选的边、面进行网格细化”。
如下图中左侧致密网格就是由后期局部优化得到的:
具体操作为:
Mesh-Insert,如下图所示:
而且在Mesh的基础上每插入一项,都会在树形窗口下面跳出对应的局部网格设置项,以及每一项对应的参数设置窗口,如下图所示:
下面列出了可用到的局部网格控制(可用性取决于使用的网格划分方法):
尺寸-Sizing、接触尺寸-ContactSizing、细化-Refinement、映射面划分-MappedFaceMeshing、匹配控制-MatchControl、收缩-Pinch、膨胀-Inflation。
(1)Method,设置网格划分方法
①Automatic-自动划分法,是在四面体和扫掠型网格之间切换,取决于被划分的几何从整体上而言能否被扫掠,遇到不规则的地方(不能被扫掠)程序就自动生成四面体,反之生成六面体。
因为Automatic划六面体是根据对“整个几何体”而言能否被扫掠,要达到整个几何体都能被扫的几率是很低的,因为我们用来分析的几何体往往没有那么规整。
由此也就带来了一个问题,在用Automatic划分网格时,往往划出来的都是四面体,如下图所示:
②Tetrahedrons-四面体网格,在三维网格中,相对而言四面体网格划分是最简单的。
四面体网格的优缺点如下:
Workbench中四面体网格的生成主要基于两种算法:
TGRID算法和ICEMCFDTetra算法(Algorithm),这两种算法分别对应于下面的Pathch
Conforming和PatchIndependent,两种四面体算法都可以用于CFD的边界层识别。
①PathConforming:
默认考虑几何面和体生成表面网格,会考虑小的边和面,基于TGRIDTetra算法由表面网格生成体网格(表面网格→体网格)。
此方法适用于多体部件,可混合使用PatchConforming四面体和扫掠方法共同生成网格,可联合PinchControl功能有助于移除短边,基于最小尺寸具有内在网格缺陷。
也正是由于PatchConforming方法会考虑到几何体中比较小的边和面,因此像下图中这种包含太多不同尺寸和形状的面的几何会使PatchConforming方法产生问题,这时可使用PatchIndependent方法的“虚拟拓扑选项”解决这个问题。
而且PatchIndependent方法本身也更适合于质量差的几何体。
②PatchIndependent:
基于ICEMCFDTetra算法,先生成体网格并映射到表面产生表面网格(体网格→表面网格)。
如果没有载荷或命名,就不考虑面和边界(顶点和边)。
此法更加容许质量差的CAD几何体,对CAD许多面的修补有用,如碎面、短边、差的面参数等。
如果面上没有载荷或者命名,就不考虑面和边,直接将网格跟其它面作一体划。
如果有命名则要单独划分该区域网格
③Sweep-扫掠型网格,这种方法主要是产生六面体网格,或者棱柱型网格,但要注意被划分体必须是可扫掠的,即是规则几何体:
几个重要的设置项目(源面,目标面):
在Sweep设置中,上图中的几项表示扫掠“源面/目标面”的选择,以及网格类型。
如果选择ManualSource则下面的Source(源面)需要手动选择;如果设置成ManualSourceandTarget则源面和目标面都需要手动选择。
当创建六面体网格时,先划分“源面”再延伸到“目标面”,其它面叫做侧面。
“扫掠方向”或“路径”由侧面定义,源面和目标面间的单元层是由插值法而建立并投射到侧面。
当扫掠几何包含许多扭曲/弯曲时,扫掠划分器会产生扭曲单元导致网格划分失败。
如果想知道几何体哪些部位能被Sweep的话,可以在树形窗中的Mesh上点击右键,Show,可以看到几何体SweepableBodies和MappableFaces即“可被扫掠”和“可被映射”的部分(满足条件的部位会变成绿色,如果没有绿色则说明不可以),如下图所示:
一个可扫掠体需满足的条件是:
①包含不完全闭合空间;
②至少有一个由边或闭合表面连接的从“源面”到“目标面”的路径;③没有硬性分割定义以致在源面和目标面相应边上有不同分割数;
虽然我们通过ShowSweepableBodies可能找不到可扫掠体的轴,即系统显示没有部位可以被Sweep。
但我们仍旧可以手动设置来找到源面和目标面,另外源面和目标面不必是平面或平行面,也不必是等截面的。
如果整个几何体在上面Show步骤之后显示没有部位可以被Sweep,则我们在用Sweep方法划分网格时用系统ProgramControlled去设定源面和目标面,则会出现错误:
④Multizone-多区域扫掠型,主要用来划分六面体网格。
其特点是有几何体自动分解功能(分割功能),从而尽量使每一部分都能被扫掠,多生成六面体网格。
如下图,用扫掠方法,这个元件要被切成3个体来得到纯六面体网格:
我们发现,扫掠Sweep和多区Multizone方法的目标均是生成六面体网格,对于有些几何体而言这两种方法都可以使用,但这两种方法之间也有很多不同。
“扫掠方法”是单个源面对单个目标面的扫掠,很好地处理扫掠方向多个侧面,需要分解几何以致每个扫掠路径对应一个体。
“多区方法”是自由分解方法,多个源面对多个目标面。
一般满足下列条件时会使用多区:
①划分对于传统扫掠方法来说太复杂的单体部件;②需考虑多个源面和目标面(不能使用VTs集成一个源面/目标面);③关闭对源面和侧面的膨胀;
注意,使用多区时一般把Sizing下的AdvancedSizeFunction关闭。
⑤HexDominant,六面体主导网格法。
先在几何体表面生成“四边形主导”的面网格,然后再得到六面体,再按需要填充棱锥和四面体单元。
最终往往是在模型的外面生成六面体单元,里面四面体单元。
如下面所示的是用Automatic方法和HexDominant方法得到的两种网格,可见Automatic方法得到的是四面体,而HexDominant以六面体为主:
Automatic方法
HexDominant方法
HexDominant方法对于不可扫掠的体,要得到六面体网格时被推荐,在FEM分析有用。
如下图所示的几何体,其属于不可以被
Sweepable,(怎么看能否被扫掠,见上面“Sweep-扫掠型网格”部分内容),因此不能用Sweep方法划分网格,但是能用Hex-Dominant方法尽可能多得到六面体网格:
适用于:
①对内部容积大的体有用;
②对体积和表面积比小的薄复杂体无用:
对于CFD无边界层识别。
(2)Sizing,用于设置局部单元的大小
Sizing中的Type通常采用如下两类:
①ElementSize:
用于设置所选中的具体某单元(体,面,边,或顶点)的平均边长。
②SphereofInfluence:
用球体来设置单元平均大小的范围,球体中心坐标采用的是局部坐标系,所有包含在球体内的实体,其单元网格大小均按照设定的尺寸划分。
为了描述球所在位置,还对其它需要定义一个坐标系。
如下图所示,球体部分的网格致密程度和其余地方很不一样:
(3)ContactSizing,用于接触区的网格设置
提供一种在部件间接触面上产生“近似”尺寸单元的方式(网格的尺寸近似但不共形),在接触面上产生大小一致的网格有利于分析。
具体设置类型有ElementSize或Relevance:
(4)Refinement,用于网格局部单元细化
要注意的是Refinement仅对“边,面,顶点有效”。
另外,Refinement的标准范围值是1~3,推荐使用1级别细化,这使单元边界划分为初始单元边界的一半,是生成粗网格后,网格细化的得到更加密的网格的简易方法。
要注意:
Refinement是打破原来的网格划分,但如有原来的网格不是一致的,细化后的网格也不是一致的。
尽管对单元的过渡进行平滑处理,但是细化后仍会有不平滑的过渡。
(5)MappedFaceMeshing,映射面网格划分
特点是允许在面上生成结构网格,由于进行映射网格划分可以得到“很一致的网格”,因此对计算有益。
但如果因为某些原因不能进行映射面网格划分,网格划分仍将继续,这时将在OutlineTree上出现标志:
对于一个面能不能生成映射面划分,我们可以利用在树形窗中的Mesh上点击右键,Show,可以看到几何体MappableFaces,“可被映射”的面,如果我们选择的面不是可被映射的,则就会出现如上所述的图标。
如下图就是对圆柱面内侧进行网格划分,可以看到得到了很一致的网格:
(6)MatchControl,面匹配网格划分
用于定义三维实体的周期面或者二维实体的周期边,从而在“对称面或者对称边”上划分出一致的网格。
尤其适用于旋转机械的旋转对称分析。
(7)Pinch,用于网格的收缩控制
Pinch可以在划分网格时自动去除模型上的一些小特征,如边、狭窄区等,如可在CFD中用来移除长边,短边和尖角。
收缩只对顶点和边起作用,面和体不能收缩。
Mesh-右键-CreatePinchControls可以让程序自动寻找并去除几何体上的一些小特征,之前要在Defeaturing(特征清除)中设置好PinchTolerance(收缩容差),收缩容差要小于局部最小尺寸(MinimumEdgeLength)。
如下图所示,此时得到的Pinch结果数一般比较多。
如果想单独对几何体某个点或边进行网格收缩,则Mesh-Insert–Pinch。
下图是执行完CreatePinchControls之后的网格图对比,表面上没什么差异,但实际上清除前Nodes-32061,Elements-16714;清除后Nodes-30155,Elements-15718。
以下网格方法支持收缩特性:
PatchConforming四面体,薄实体扫掠,六面体控制划分,四边形控制表面网格划分,所有三角形表面划分。
(8)Inflation,膨胀层,用于边界层网格划分加密
一些物理参数在边界层处的梯度变化很大,如流体场中的管道,其管道内外侧的物理参数是很不一样的。
为了精确地描述这些参数,Inflation能够将边界层处的网格密度变得较密一些,一般在CFD分析中处理边界层处的网格常用Inflation方法。
当然,如果在有限元分析中对“表面边界层处”的结果感兴趣,我们也可以用Inflation方法来对边界处的网格进行优化。
典型的CFD中,膨胀是由边界法向的挤压面边界网格转化来实现的,可实现从膨胀层到内部网格的平滑过渡。
上图中表示的是Inflation的设置选项:
①Geometry-作用的几何体,上图中选择了整个几何体;
②Boundary-边界层所在的面(CFD中就是流体场中对应的管壁,即物理参量变化很大的界面),上图中选择了整个几何体的外表面,如红色部分所示;③InflationOption-膨胀选项:
a.SmoothTransition-平滑过渡(默认),使用局部四面体单元尺寸计算每个局部的初始高度和总高度以达到平滑的体积变化比。
每个膨胀的三角形都有一个关于面积计算的初始高度,在节点处平均。
这意味着对一均匀网格,初始高度大致相同,而对变化网格初始高度也是不同的;
b.总厚度,用NumberofLayers的值和GrowthRate控制以获得MaximumThickness值控制的总厚度。
不同于SmoothTransition选项的膨胀,TotalThickness选项的膨胀其第一膨胀层和下列每一层的厚度是常量;
c.第一层厚度,用FirstLayerHeight,MaximumLayers和GrowthRate控制生成膨胀网格。
不同于SmoothTransition选项的膨胀,FirstLayerThickness选项的膨胀其