由CAD到ANSYS再到FLAC3D建模过程-揭密详细步骤

更新时间:2024-03-31 13:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

由CAD到ANSYS再到FLAC3D建模过程-揭密详细步骤

2008-05-28 17:38:54| 分类: 默认分类 | 标签:无 |字号 订阅

1.首先把纸上的建模图形,在autocad中建立由点线弧线组成的模型,注意线和线加在一起, 2.使用autocad to ansys 转换软件,将autocad的图形转换为ansys命令流后。保存为文本文件.txt。 3.在ansys中建模 ①导入命令流:read

②建立面:通过create-area-by key points ,依次选择四个角点,建立面。

③分离线和面:operate(操作)-divide(分开)-area by line-参数全选pick alls。 ④划分线:使用mesh tool 工具,将模型的每条边线进行划分,划分过程中要注意线与线的对应关系。一般划分的断数为偶数,如6、8、10等。

⑤拷贝点并连线:使用copy(拷贝)命令,将四个角点中的一个沿Z方向上拷贝生成一个新的点。拷贝的距离视个人计算情况来确定,一般二维选择1个单位。使用create-lines-by key points将⑤中的两点连起来,建立线,并划分成1个单元。

⑥拉伸面成体:operate(操作)-extrude(拉伸)-area along lines-area参数全选, lines 选择⑤生成的线。

⑦设置不同体、不同材料属性参数。调用vatt.txt文件来设定。vatt.txt文件内容如下: *do,i,1,154 vsel,s,,,i vatt,i,, *enddo alls

⑧设置单元类型,在命令行键入“et,1,45” 。

⑨划分体单元,利用mesh tool 工具选择volumes体项中的 hex项中的mesh或swap项。由里到外,按顺序进行划分,先用mesh进行划分,mesh划分不了的用swap进行划分。 ⑩建立导入到FLAC的文件:先在菜单中选择list-nodes按缺省设置进行保存。生成节点文件nodes.txt。

然后在processor-create-element-write element dat.file,保存到上面nlist目录下。导出ansys中elemnt 和node的属性参数,存入txt, 4.运行node.exe。查看节点数。

5.运行ansystoflac.exe。输入节点数,单元数生成。 6.在flac中call――ansystoflac.dat文件,即可。

关于ansys建模后使用flac3d计算。

1.ansys建模:ansys7.1 单元类型soild 45 建模后,用list命令显示结点信息,并save as文件名为nlist.lis.

2.单元信息的输出用processor----create--element----write to file 单元信息输出文件名为element.dat

3.然后运行node.exe 生成node.dat

4.运行ansys to flac3d,按提示输入结点数,单元数,生成文件outforflac.dat 5.通过f'lac3d中call 命令读入outforfl3c3d即可。

或者运行cjiao2000版主的 程序,后出现如下界面,调入节点文件nlist.lis和单元文件element.dat。单击转换,将生成的文字拷贝并保存成文本文件。然后在FLAC中调用保存的文本文件即可。

Christian 的 原创.Ansys划分网格

第二章 划分网格

学习要点 分配单元属性 网格划分的控制 有限元网格模型生成 编号控制 本章小结

2.1 有限元网格概论

生成节点和单元的网格划分过程包括以下3个步骤: ① 定义单元属性

② 定义网格生成控制(非必须),ANSYS程序提供了大量的网格生成控制,用户可按需要选择。

③ 生成网格。 2.2设定单元属性

在生成节点和单元网格之前,必须定义合适的单元属性,包括如下几项: ① 单元类型(例如。BEAM3,SHELL61等)。 ② 实常数(例如厚度和横截面积)。

③ 材料性质(例如杨氏弹性模量、热传导系数等)。 ④ 单元坐标系。

⑤ 截面号(只对BEAM44,BEAM188,BEAM189单元有效)。 注意:对于梁结构网格的划分,用户有时候需要指定方向关键点。 2.2.1生成单元属性表

为了定义单元属性,首先必须建立一些单元属性表。典型的包括单元类型、实常数、材料性质。

利用LACAL、CLOCAL等命令可以创建坐标系表。这个表用来给单元分配单元坐标系。 注意:并非所有的单元类型都可用这种方式来分配单元坐标系。

对于用BEAM44、BEAM188、BEAM189单元划分的梁网格,可利用命令SECTYPE和SECDATA创建截面号表格。

注意:方向关键点是线的属性而不是单元属性,用户不能创建方向关键点表格。 用户可以用 命令ETLIST来显示单元类型,用 命令RLIST来显示实常数,用命令MPLIST来显示材料属性。另外,用户还可以用命令CSLIST来显示坐标系,用命令SLIST来显示截面号。

2.2.2在划分网格之前分配单元属性

一旦建立了单元属性表,用过指向表中合适的条目即可对模型的不同部分分配单元属性。指针就是参考号码集,包括材料号(MAT)、实常数号(TEAL)、单元类型号(TYPE)、坐标系号(ESYS),以及使用BEAM188和BEAM189单元时的截面号(SECNUM)。可以直接给所选的实体模型图元分配单元属性,或者定义默认的属性在生成单元的网格划分中使用。 注意:如前面所提到的,在给梁划分网格时,给线分配的方面关键点是线的属性而不是单元属性,所以必须是直接分配给所选线,而不能定义默认的方向关键点以备后面划分网格时直接使用。

1 直接给实体模型图元分配单元属性

给实体模型分配单元属性时,允许对模型的每个区域预置单元属性,从而避免在网格划分过程中重置单元属性。清除实体模型的节点和单元不会删除直接分配给图元的属性。

利用下列命令和对应的GUI路径可以直接给实体模型分配单元属性。 2 分配默认属性

用户可以通过指向属性表的不同条目来分配默认的属性,在开始划分网格时,ANSYS程序会自动将默认属性分配给模型。直接分配给模型的单元属性将取代上述默认属性,而且,当清除实体模型图元的节点和单元时,其默认的单元属性也将被删除。

3自动选择维数正确的单元类型

有些情况下,ANSYS程序能对网格划分或拖拉操作选择正确的单元类型,当选择明显正确时,用户不必认为转换单元类型。

特殊的,当未将单元类型(xATT)直接分配给实体模型时,或者默认的单元属性(TYPE)对于要执行的操作维数不对时,而且已定义的单元属性表中只有已个维数正确的单元,ANSYS程序会自动利用该种单元类型执行这个操作。

受此影响的网格划分和拖拉操作命令有:KMESH、LMESH、AMESH、VMESH等。 4 在节点处定义不同的厚度

用户可以利用下列方式对壳单元在节点处定义不同的厚度(RTHICK)。

壳单元可以模拟复杂的厚度分布。以SHELL63为例,允许给每个单元的4个角点指定不同的厚度,单元内部的厚度假定是在四个角点厚度之间光滑变化。给一群单元指定复杂的

厚度变化是有一定难度的,特别是没一个单元都需要单独指定其角点厚度的时候,在这种情况下,利用命令RTHICK能大大简化模型定义。

2.3 网格划分的控制

网格划分控制能建立用在实体模型划分网格时的因素,例如单元形状、中间节点位置、单元大小等。此步骤时整个分析种最重要的步骤之一,因为此阶段得到的有限员网格将对分析的准确性和经济性起决定作用。

2.3.1 ANSYS网格划分工具(MESH TOOL)

ANSYS网格划分工具提供了最常用的网格划分控制和网格划分操作的便捷途径。其功能主要包括:

① 控制SMARTSIZING水平。 ② 设置单元尺寸控制。 ③ 指定单元形状。

④ 指定网格划分类型(自由或映射)。 ⑤ 对实体模型图元划分网格。 ⑥ 细化网格。 2.3.2单元形状

ANSYS程序允许在同一个划分区域出现多种单元形状,例如同一区域的面单元可以是四边形也可以是三角形,但建议尽量不要在同一个模型中混用六面体或四面体单元。 下面简单介绍一下单元形状的退化。如图2-4所示,用户在划分网格时,应该尽量避免使用退化单元。

如果正在使用MSHAPE命令,维数(2D或3D)的值表明待划分的网格模型的维数,KEY值(0或1)表示划分网格的形状:

有些情况下,MSHAPE命令及合适的网格划分命令(AMESH、YMESH或相应的GUI路径)确定。例如??

2.3.3选择网格划分类型

除了指定单元形状外,还需要指定对模型进行网格划分的类型(自由划分或映射划分)。 单元形状(MSHAPE)和网格划分类型(MSHKEY)的设置共同影响网格的生成,表2-1列出了ANSYS程序支持的单元形状和网格划分类型。

表2-1 ANSYS支持的单元形状和网格划分类型 单元形状

自由划分 映射划分 既可以映射有可

四边形 三角形 六面体 四面体 YES YES NO YES YES YES YES NO 以自由 YES YES NO NO 2.3.4控制单元边中点的位置

当使用二次单元划分网格时,可以控制中间节点的位置。有以下两种选择: ① 边界区域单元在中间节点沿着边界线或面的弯曲方向,这是默认设置。

② 设置所有单元的中间节点且单元边是直的,此选项允许沿曲线进行粗糙的网格划分,但是模型的弯曲并不与之相配。

可用如下方法控制中间节点的位置: 命令:MSHMID

GUI:MAIN>PREPROCESSOR>MESHING>MESHER OPTS。 2.3.5划分自由网格时的单元尺寸控制(SmartSizing)

默认的,DESIZE命令方法控制单元大小在自由网格划分中的使用,但一般推荐使用SmartSizing,为打开SmartSizing,只要在SMARTSIZE命令中指定单元大小即可。

ANSYS中有两种SmartSizing控制:基本控制和高级控制。 1基本控制

利用基本控制,可以简单指定网格划分的粗细程度,从1(细网格)到10(粗网格),程序会自动设置一系列独立的控制值用来生成想要的网格大小,方法如下:

命令:SMRTSIZE,SIZLVL。

GUI:Main Menu>Preprocessor>Meshing>MeshTool

Main Menu>Preprocessor>Meshing>Size Cntrls>SmartSize>Basic 2高级控制

ANSYS还允许用户使用高级方法专门设置人工控制网格质量,方法如下: 命令:SMRTSIZE和ESIZE

2.3.6映射网格划分中单元的默认尺寸

DESIZE命令常用来控制映射网格划分的单元尺寸,同时也用在自由网格划分的默认设置,但是,对于自由网格划分,建议使用SmartSizing(SMRTSIZE)。

注意:SmartSizing(SMRTSIZE)不能用于映射网格划分,另外,硬点不支持映射网格划分。

1面映射网格划分

面映射网格包括全部是四边形单元或者全部是三角形单元,面映射网格须满足以下条件:

①该面必须是三条边或者四条边(有无连接均可)。

②如果是四条边,对边必须划分为相同数目的单元,或者是划分一过渡型网格。如果是三条边,则线分割总数必须为偶数且每条边的分割数相同。

③网格划分必须设置为映射网格。 如图2-17所示为一面映射网格的实例。

如果一个面多于四条边,则不能直接用映射网格划分,但可以使某些线合并,或者连接时总线数减少到4条之后再用映射网格划分,如图2-18所示,方法如下:

连接线。 命令:LCCAT

GUI: Main Menu>Preprocessor>Meshing>Mesh>Areas>Mapped>Concatenate>Lines 合并线。 命令:LCOMB

GUI: Main Menu>Preprocessor>Modeling>Operate>Booleans>Add>Lines

需指出的是,线、面或体上的关键点将生成节点,因此,一条连接线至少有线上已定义的与关键点数同样多的分割数,而且,指定的总体单元尺寸(ESIZE)是针对原始线而不是针对连接线,如图2-19所示。用户不能直接给连接线指定线分割数,但可以对合并线(LCOMB)指定分割数,所以通常来说,合并线比连接线有一些优势。

命令AMAP(GUI:Main Menu>Preprocessor>Meshing>Mesh>Areas>Mapped>By Corners)提供了获得映射网格划分的最便捷途径,它使用所指定的关键点作为角点并连接关键点之间的所有线,面自动全部用三角形或四边形单元进行网格划分。

对于前面连接的例子,现利用AMAP方法进行网格划分。注意到在已选定的几个关键点之间有多条线,在选定面之后,已按任意顺序拾取关键点1、3、4和6,得到映射网格,如图2-20所示。

另一种生成映射网格的途径是指面的对边的分割数,以生成过渡映射四边形网格,如图2-21所示。需指出的是,指定的线分割数必须与图2-22和图2-23的模型相对应。 除了过渡映射四边形网格之外,还可以生成过渡映射三角形网格。为生成过渡映射三角形网格 ,必须使用支持三角形的单元类型,且须设定为映射划分 (MSHKEY,1),并指定

形状为容许三角形(MSHAPE,1,2D)。实际上,过渡映射三角形网格的划分是在过渡映射四边形网格划分的基础上自动将四边形网格分割成三角形,如图2-24所示,所以,各边的线分割数目依然必须满足图2-22和图2-23的模型。

2体映射网格划分

要将体全部划分为六面体单元,必须满足以下条件:

①该体的外形应为块状(6个面)、楔形或棱柱(5个面)、四面体(4个面)。 ②在边上必须划分相同的单元数,或分割符合过渡网格形式适合六面体网格划分。 ③如果是棱柱或者四面体,三角形面上的单元分割数必须是偶数,如图2-25所示。 与面网格划分的连接线一样,当需要减少围成体的面数以进行映射网格划分时,可以对面进行加(AADD)或者连接(ACCAT)。如果连接面有边界线,线也必须连接在一起,必须线连接面,再连接线,举例如下(命令流格式):

说明:一般来说,AADD(面为平面或者共面时)的连接效果优于ACCAT。

如上所述,在连接面(ACCAT)之后一般需要连接线(LCCAT),但是,如果相连接的两个面都是由4条线组成(无连接线)的,则连接线操作会自动进行,如果2-26所示,另外须注意,删除连接面并不会自动删除相关的连接线。

命令:ACCAT.

GUI: Main Menu>Preprocessor>Meshing>Concatenates>Areas Main Menu>Preprocessor>Meshing>Mesh>Areas>Mapped 将面相加的方法如下: 命令:AADD

GUI: Main Menu>Preprocessor>Modeling>Operates>Booleans>Add>Areas

注意:ACCAT命令不支持用IGES功能输入的模型,但是,可用ARMERGE命令合并由CAD文件输入模型的两个或更多面。而且,当以此方法使用ARMERGE命令时,在合并线之间删除了关键点的位置而不会有节点。

与生成过渡映射面网格类似,ANSYS程序允许生成过渡映射体网格。过渡映射体网格的划分只适合六面体(有无连接面均可),如图2-27所示。

2.5给实体模型划分有限元网格

构造好几何模型、定义了单元属性和网格划分控制之后,即可生成有限元网格了,通常建议用户在划分网格之前线保存模型,方法如下:

命令:SAVE

GUI: Utility Menu>File>Save as Jobname.db 2.5.1用xMESH命令生成网格

为对模型进行网格划分,必须使用适合待划分网格图元类型的网格划分操作,对关键点、线、面和体分别使用下列命令和GUI菜单路径进行网格划分:

1在关键点处生成点单元(如MSAA21)。 命令:KMESH

GUI: Main Menu>Preprocessor>Meshing>Mesh>Keypoints 2在线上生成线单元(如LINK31) 命令:LMESH

GUI: Main Menu>Preprocessor>Meshing>Mesh>Lines 3在面上生成面单元(如PLANE82) 命令:AMESH,AMAP

GUI: Main Menu>Preprocessor>Meshing>Mesh>Areas>Mapped>3 or 4 sided Main Menu>Preprocessor>Meshing>Mesh>Areas>Free Main Menu>Preprocessor>Meshing>Mesh>Areas>Target Surf Main Menu>Preprocessor>Meshing>Mesh>Areas>Mapped>By Corners 4在体上生成体单元(如SOLID90) 命令:VMESH

GUI: Main Menu>Preprocessor>Meshing>Mesh>Volumes>Mapped>4 to 6 sided Main Menu>Preprocessor>Meshing>Mesh>Volumes>Free 5在分界线或者分解面处生成单位厚度的界面单元(如INTER192) 命令:IMESH

GUI: Main Menu>Preprocessor>Meshing>Mesh>Interface Mesh>2D Interface Main Menu>Preprocessor>Meshing>Mesh>Interface Mesh>3D Interface 另外还需要说明的是,使用xMESH命令有如下几点注意事项:

有时需要对实体模型用不同维数的多种单元划分网格。例如,带筋的壳有梁单元(线单元)和壳单元(面单元),另外还有用表面作用单元(面单元)覆盖于三维实体单元(体单元)。这种情况可按照任意顺序使用相应的网格划分操作(KMESH,LMESH,AMESH和VMESH),只需在划分网格之前设置合适的单元属性。

无论选取何种网格划分器(MOPT,VMESH,Value),在不同的硬件平台上对统一模型进行划分可能会得到不同的网格结果,这是正常。

2.5.2生成带方向节点的梁单元网格

可定义方向关键点作为线的属性对梁进行网格划分,方向关键点与待划分的线是独立的,在这些关键点位置处,ANSYS会沿着梁单元自动生成方向节点。支持这种方向节点的单元有:BEAM4,BEAM24,BEAM44,BEAM161,BEAM188和BEAM189。定义方向关键点的方法如下:

命令:LATT

GUI: Main Menu>Preprocessor>Meshing>Mesh Attributes>All Lines Main Menu>Preprocessor>Meshing>Mesh Attributes>Picked Lines

如果一条线由两个关键点(KP1和KP2)组成且两个方向关键点(KB和KE)已定义为线的属性,方向矢量在线的开始处从KP1延伸到KB,在线的末端从KP2延伸到KE。ANSYS通过上面给定两个方向矢量的插入方向来计算方向节点。如图2-28,图2-29,图2-30,图2-31。

下面简单介绍定义带方向节点梁单元的GUI菜单路径:

①选择菜单路径Main Menu>Preprocessor>Meshing>Mesh Attributes>Piked Lines,弹出Line Attributes对话框,如图2-32所示,在其中选择相应材料号(MAT)、实常数号(REAL)、单元类型号(TYPE)和梁截面号(SECT),然后在Pick Orientation Keypoints后面单击使其显示为Yes,单击OK按钮。在继续弹出的选择关键点的对话框中,选择适当的关键点作为方向关键点。

注意:第一个选中的关键点将作为KB,第二个将作为KE,如果只选择了一个 ,那么KE=KB。这之后就可以按普通的梁那样划分梁单元,在此不详述。

②如果想屏幕显示带方向点的梁单元,选择菜单路径Utility

Menu>PlotCtrls>Style>Size and Shape,弹出Size and Shape对话框,如图2-33所示,在ESHAPE后面单击On,然后单击OK按钮,屏幕即会显示如图2-31所示的梁单元。

2.5.3在分界线或者分界面处生成单元厚度的界面单元

为了真实模拟模型的接缝,有时候必须划分界面单元,用户可以用线性的或者非线性的2D或者3D分界面单元在结构单元之间的接缝层划分网格。图2-34是一个接缝模型的实例,下面针对该模型简单介绍一下如何划分界面网格。

1定义相应的材料属性和单元属性。

2利用AMESH或者VMESH(或者相应的GUI路径)给包含源面(如图2-34所示)的实体划分单元。

3利用IMESH,LINE;或者IMESH,AREA;或者VDRAG命令(或者相应的GUI路径)给接缝处(即分界层)划分单元。

4利用AMESH或者VMESH(或者相应的GUI路径)给包含目标面(如图2-34所示)的实体划分单元。

2.6 延伸和扫掠生成有限元模型

下面介绍一些相对上述方法而言更为简便的划分网格模式,即拖拉、旋转和扫掠生成有限员网格模型。其中延伸方法主要用于利用二维模型和二维单元生成三维模型和三维单元,如果不指定单元,那么就只会生成三维几何模型,有时候它可以成为布尔操作的替代方法 ,而且通常更为简便,详见2.6.1节。扫掠方法是利用二维单元在已有的三维几何模型上生成三维单元,详见2.6.2节,该方法对于从CAD中输入的实体模型通常特别游泳。显然,延伸方法与扫掠方法最大的区别在于:前者能在二维几何模型的基础上生成新的三维模型,同时划分好网格,而后者必须是在完整的几何模型基础上来划分网格。

2.6.1延伸生成网格

先用下面方法指定延伸(Extrude)的单元属性,如果不指定的话,后面的延伸操作都只会产生相应的几何模型而不会划分网格。另外,值得注意的是:如果想生成网格模型,则在源面(或者线)上必须划分相应的面网格(或者线网格):

命令:EXTOPT

GUI: Main Menu>Preprocessor>Modeling>Operate>Extrude>Elem Ext Opts. 弹出“Element Extrusion Options”对话框,如图2-35所示,指定想要生成的单元类型(TYPE)、材料好(MAT)、实常数(REAL)、单元坐标系(ESYS)、单元数(VAL1)、单元比率(VAL2),以及指定是否要删除源面(ACLEAR)。

用以下命令可以执行具体的延伸操作: 1面沿指定轴线旋转生成体。 命令:VROTATE。

GUI: Main Menu>Preprocessor>Modeling>Operate>Extrude>Areas>About Axis 2面沿指定方向延伸生成体。 命令:VEXT

GUI: Main Menu>Preprocesso>Modeling>Operate>Extrude>Areas>By XYZ Offset 3面沿其法线生成体。 命令:VOFFST

GUI: Main Menu>Preprocessor>Modeling>Operate>Extrude>Areas>Along Normal

另外需要提醒用户的是,当使用VEXT或者相应GUI的时候,弹出“Extrude Areas by XYZ Offset”对话框,如图2-36所示,其中DX.、DY、DZ表示延长的方向和长度,而RX、RY、RZ表示延长时的放大倍数,示例如图2-37所示。

4面沿指定路径延长生成体 命令:VDRAG

GUI: Main Menu>Preprocessor>Modeling>Operate>Extrude>Areas>Along Lines 5线沿指定轴线旋转生成面。 命令:AROTATE

GUI: Main Menu>Preprocessor>Modeling>Operate>Extrude>Lines>About Axis 6线沿指定路径延伸生成面。 命令:ADRAG

GUI: Main Menu>Preprocessor>Modeling>Operate>Extrude>Lines>Along Lines 7关键点沿指定轴线旋转生成线 命令:LROTATE

GUI: Main Menu>Preprocessor>Modeling>Operate>Extrude>Keypoints>About Axis 8关键点沿指定路径延伸生成线。 命令:LDRAG

GUI:,Main Menu>Preprocessor>Modeling>Operate>Extrude>Keypoints>Along Lines 如果不在EXTOPT中指定单元属性,那么上述方法只会生成相应的几何模型,有时候可以将它们作为布尔操作的替代方法,如图2-38所示,可以将空心球截面绕直径旋转一定角度直接生成。

2.6.2扫掠生成网格

在激活体扫掠(VSWEEP)之前按以下步骤进行:

1确定体的拓扑模型能够进行扫掠,如果是下列情况之一则不能扫掠:体的一个或多个侧面包含多于一个环;体包含多于一个壳;体的拓扑源面于目标面不是相对的。

2确定已定义合适的二维和三维单元类型,例如,如果对源面进行预网格划分,并想扫掠成包含二次六面体的单元,应当先用二次二维面单元对源面划分网格。

3确定在扫掠操作中如何控制生成单元层数,即沿扫掠方向生成的单元数。可知如下方法控制:

命令:EXTOPT,ESIZE,Val1,Val2.

GUI: Main Menu>Preprocessor>Meshing>Mesh>Volumes Sweep>Sweep Opts

弹出Sweep Options对话框,如图2-39所示。框中各项的意义依次是:是否清除源面的面网格,在无法扫掠处是否用四面体单元划分网格,程序自动选择源面和目标面还是用户手动选择,在扫掠方向生成多少单元数,在扫掠方向生成的单元尺寸比率。其中关于源面、目标面、扫掠方向和生成单元数的含义如图2-40所示。

4确定体的源面和目标面。ANSYS在源面上使用的是面单元模式(三角形或者四边形),用六面体或者楔形单元填充体。目标面是仅与源面相对的面。

5有选择的对源面、目标面和边界面划分网格。

体扫掠操作的结果会因在扫掠前是否对模型的任何面(源面、目标面和边界面)划分网格而不同。典型情况是用户在扫掠之前对源面划分网格,如果不划分,则ANSYS程序会自动生成临时面单元,在确定了体扫掠模式之后就会自动清除。

在扫掠前确定是否预划分网格应当考虑以下因素:

①如果想让源面用四边形或者三角形映射网格划分,那么应当预划分网格。 ②如果想让源面用初始单元尺寸划分网格,那么应当预划分。 ③如果不预划分网格,ANSYS通常用自由网格划分。

④如果不预划分网格,ANSYS使用有MSHAPE设置的单元形状来确定对源面的网格划分。“MSHAPE,0,2D”生成四边形单元,“MSHAPE,1,2D”生成三角形单元。

⑤如果与体关联的面或者线上出现硬点则扫掠操作失败,除非对包含硬点的面或者线预划分网格。

⑥如果源面和目标面都进行预划分网格,那么面网格必须相匹配。不过,源面和目标面并不要求一定都划分成映射网格。

⑦在扫掠之前,体的所有侧面(可以有连接线)必须是映射网格划分或者四边形网格划分,如果侧面为划分网格,则必须有一条线在源面上,还有一条在目标面上。 ⑧有时候,尽管源面和目标面的拓扑结构不同,但扫掠操作依然可以成功,只需要采用适当的方法既可。如图2-41所示,将模型分解成两个模型,分别从不同方向扫掠就可生成合适的网格。

用户可以如下方法激活体扫掠: 命令:VSWEEP,VNUM,SRCA,TRGA,LSMO

GUI: Main Menu>Preprocessor>Meshing>Mesh>Volume Sweep>Sweep

如果用VSWEEP命令扫掠体,须指定变量值:待扫掠体(VNUM)、源面(SRCA)、目标面(TRGA),另外可选用LSMO变量指定ANSYS在扫掠体中是否执行线的光滑处理。

如果采用GUI菜单路径,则按下列步骤执行:

①选择菜单路径Main Menu>Preprocessor>Meshing>Mesh>Volume Sweep>Sweep,弹出体扫掠选择框。

②选择待扫掠的体并单击Apply按钮。 ③选择源面并单击Apply按钮。 ④选择目标面,单击OK按钮。

图2-42是一个体扫掠网格的实例,其中图(a)和图(c)表示没有预网格直接执行体扫掠的结果,图(b)和图(d)表示在源面上划分映射预网格然后执行体扫掠的结果,如果用户觉得这两种网格结果都不满意,可以考虑图(e)、图(f)、图(g)形式,步骤如下:

①清除网格(VCLEAR)。

②通过在想要分割的位置创建关键点来对源面的线和目标面的线进行分割(LDIV),如图(e)所示。

③按图(e)将源面上增线的线分割复制到目标面的相应新增线上(新增线是步骤2产生的)。该步骤可以通过网格划分工具实现,菜单路径为:Main Menu>Preprocessor>Meshing>MeshTool。

④手工对步骤(2)修改过的边界面划分映射网格,如图(f)所示。 ⑤重新激活和执行体扫掠,结果如图(g)所示。 2.7 修正有限员模型

本节主要叙述一些常用的修改有限员模型的方法,主要包括: l 局部细化网格。 l 移动和复制节点和单元。 l 控制面、线和单元的法向。 l 修改单元属性。 2.7.1 局部细化网格

通常碰到下面两种情况时,用户需要考虑对局部区域进行细化:

用户已经将一个模型划分了网格,但想在模型的指定区域内得到更好的网格。 用户已经完成分析,同时根据结果想在感兴趣的区域得到更精确的解。

注意:对于由四面体组成的体网格,ANSYS程序语序用户在指定的节点、单元、关键点、线或者面的周围进行局部细化网格,但非四面体单元(例如六面体、楔形、棱锥等)不能进行局部细化网格。

下面具体介绍利用命令或者相应GUI菜单路径来进行网格细化并设置细化控制。 1、 细化网格。 命令:NREFINE

GUI: Main Menu>Preprocessor>Meshing>Modify Mesh>Refine At>Nodes 2、围绕单元细化网格。 命令:EREFINE

GUI: Main Menu>Preprocessor>Meshing>Modify Mesh>Refine At>Elements Main Menu>Preprocessor>Meshing>Modify Mesh>Refine At>All 3、围绕关键点细化网格。 命令:KREFINE

GUI: Main Menu>Preprocessor>Meshing>Modify Mesh>Refine At>Keypoints 4、围绕线细化。 命令:LREFINE

GUI: Main Menu>Preprocessor>Meshing>Modify Mesh>Refine At>Lines 5、围绕面细化。 命令:AREFINE

GUI: Main Menu>Proprocessor>Meshing>Modify Mesh>Refine At>Areas 图2-43、图2-44、图2-45和图2-46提供了一些网格细化的范例。

从图2-46中可以看出,控制网格细化时常用的3个变量为:LEVEL、DEPTH和POST。下面对这3个变量分别进行介绍,在此之前,先介绍在何处定义这3个变量。

下面以用菜单路径围绕节点细化网格为例。

GUI: Main Menu>Preprocessor>Meshing>Modify Mesh>Refine At>Nodes

弹出拾取节点对话框,在模型上拾取相应节点,弹出“Refine Mesh at Nodes”对话框,如图2-47所示,在LEVEL后面的下拉列表中选择合适的数值作为LEVEL值,单击Advanced options后面的复选框使其显示为Yes,然后单击OK按钮,弹出“Refine mesh at

nodes advanced option”对话框,如图2-48所示,在DEPTH后面输入相应数值,在POST后面选择相应选项,其余默认,然后单击OK按钮即可执行网格细化操作。

下面对这3个变量分别进行解释。LEVEL变量用来指定网格细化的程度,它必须是从1到5的整数。1表示最小程度的细化,其细化区域单元边界的长度大约为原单元边界长度的1/2;5表示最大程度的细化,其细化区域单元边界的长度大约为原单元边界长度的1/9,其余值的细化程度如表2-3表示。

表2-3细化程度 LEVEL值 1 2 3 4 5 细化后单元跟原单元边长的比值 1/2 1/3 1/4 1/8 1/9 DEPTH变量表示网格细化的范围,默认DEPTH=0,表示只细化选择点(或者单元、线、面等)处一层网格,当然,DEPTH=0时也可能细化一层之外的网格,那只是因为网格过渡的要求所致。

POST变量表示是否对网格细化区域进行光滑和清理处理。光滑处理表示调整细化区域的节点位置以改善单元形状,清理处理表示ANSYS程序对细化区域或者直接与细化区域相连的单元执行清理命令,通常可以改善单元质量。默认情况是进行光滑和清理处理。 另外,图2-48中的RETAIN变量通常设置为On(默认形式),它可以防止四边形网格裂变成三角形。

2.7.2移动和复制节点和单元

当一个已经划分了网格的实体模型图元被复制时,用户可以选择是否连同单元和节点一起复制。以复制面为例,在选择菜单路径Main Menu>Preprocessor>Modeling>Copy>Areas之后,将弹出“Copy Areas(复制面)”对话框,如图2-49所示,可以在NOELEM后面的下拉列表中选择是否复制单元和节点。

1、 移动和复制面。 命令:AGEN

GUI: Main Menu>Preprocessor>Modeling>Copy>Areas Main Menu>Preprocessor>Move/Modify>Areas>Areas 2、移动和复制体。 命令:VGEN

GUI: Main Menu>Preprocessor>Modeling>Copy>Volumes Main Menu>Preprocessor>Modeling>Move/Modify>Volumes

3、对称映像生成面。 命令:ARSYM

GUI: Main Menu>Preprocessor>Modeling>Reflect>Areas 4、对成映像生成体。 命令:VSYMM

GUI: Main Menu>Preprocessor>Modeling>Reflect>Volumes 5、转换面的坐标系。 命令:ATRAN

GUI: Main Menu>Preprocessor>Modeling>Move/Modify>Transfer Coord>Areas 6、转换体的坐标系。 命令:VTRAN

GUI: Main Menu>Preprocessor>Modeling>Move/Modify>Transfer Coord>Volumes 2.7.3控制面、线和单元的法向

如果模型中包含壳单元,并且加的是面载荷,那么用户就需要了解单元面以便能对载荷定义正确的方向。通常,壳的表面载荷将加在单元的某一个面上,并根据右手法则(I、J、K、L节点序号方向,如图2-50所示)确定正向。。如果用户是用实体模型面进行网格划分的方法生成壳单元,那么单元的正方向将与面的正方向相一致。

以下几种方法可进行图形检查:

l 壳执行/NORMAL命令(GUI: Utility Menu>PlotCtrls>Style>Shell Normals),

接着再执行EPLOT命令(GUI: Utility Menu>Plot>Elements)。该方法可以对壳单元的正法线方向进行一次快速的图形检查。

l 利用命令/GRAPHICS,POWER(GUI: Utility

Menu>PlotCtrls>Style>Hidden-Line Options,如图2-51所示)打开PowerGraphics选项(通常该选项是默认打开),PowerGraphics将用不同颜色来显示壳单元的底面和顶面。 l 用假定正确的表面载荷加到模型上,然后在执行EPLOT命令之前先打开显示表面载荷符号的选项【/PSF,Item,Comp,2】(相应GUI: Utility Menu>PlotCtrls>Symbols)以检验它们方向的正确性。

有时候用户需要修改或者控制面、线和单元的法向,ANSYS程序提供了如下方法: 1、重新设定壳单元的法向。

命令:ENORM

GUI: Main Menu>Preprocessor>Modeling>Move/Modify>Elements>Shell Normals 2、重新设定面的法向。 命令:ANORM

GUI: Main Menu>Preprocessor>Modeling>Move/Modify>Areas>Area Normals 3、将壳单元的法向反向。 命令:ENSYM

GUI: Main Menu>Preprocessor>Modeling>Move/Modify>Reverse Normals>of Shell Elems

4、将线的法向反向。 命令:LREVERSE

GUI: Main Menu>Preprocessor>Modeling>Move/Modify>Reverse Normals>of Lines 5、将面的法向反向。 命令:AREVERSE

GUI: Main Menu>Preprocessor>Modeling>Move/Modify>Reverse Normals>of Areas 2.7.4修改单元属性

通常,要修改单元属性时,用户可以直接删除单元,重新设定单元属性后再执行网格划分操作,这个方法最直观,但通常也最费时、最不方便。下面提供另外一种不必删除网格的简便方法:

命令:EMODIFY

GUI: Main Menu>Preprocessor.>Modeling>Move/Modify>Elements>Modify Attrib 弹出拾取单元对话框,用鼠标在模型上拾取相应单元之后即弹出“Modify Elem

Attributes”对话框,如图2-52所示,在STLOC后面的下拉列表选择适当选项(例如,单元类型、材料号、实常数等),然后在I1后面填入新的序号(表示修改后的单元类型号、材料号或者实常数等)。

2.8 直接通过节点和单元生成有限员模型

如前所述,ANSYS程序已经提供了许多方便的命令用于通过几何模型生成有限元网格模型,以及对节点和单元的复制、移动等操作,但同时,ANSYS还提供了直接通过节点和单元生成有限元模型的方法,有时候,这种直接方法更便捷、更有效。

由直接生成法生成的模型严格按节点和单元的顺序定义,单元必须在相应节点全部生成之后才能定义。

2.8.1 节点

本节叙述的只要内容包括: l 定义节点

l 从已有的节点生成另外的节点 l 查看和删除节点。 l 移动节点 l 旋转节点的坐标系

l 读写包含节点数据的文本文件

用户可以按表2-4、表2-5、表2-6、表2-7、表2-8和表2-9中提供的方法执行上述操作。

表2-4 定义节点 用法 在激活的坐标系里定义单个节点 在关键点上生成节点 命令 N GUI菜单路径 Main Menu>Preprocessor>Modeling>Create> Nodes>In Active CS or>On Working Plane Main Menu>Preprocessor>Modeling>Create> Nodes>On Keypoint

表2-5 从已有的节点生成另外的节点 用法 在两节点连线上生成节点 由一种模式的节点生成另外的节点 由一种模式的节点生成缩放的

NKPT 命令 FILL GUI菜单路径 Main Menu>Preprocessor>Modeling>Create>Nodes>Fill between Nds Main Menu>Preprocessor>Modeling>Copy>Nodes>Copy NGEN NSCALE Main Menu>Preprocessor>Modeling>Copy>Nodes>Scale&Copy

节点 or>Scale&Move Main Menu>Preprocessor>Modeling>Operate>Scale>Nodes>Scale&Copy or>Scale Move QUAD Main Menu>Preprocessor>Modeling>Create>Nodes>Quadratic Fill 在三节点的二次线上生成节点 生成镜NSYM Main Menu>Preprocessor>Modeling>Reflect>Nodes 像映射节点 将一种TRANSFMain Menu>Preprocessor>Modeling>Move/Modify>Transfer 模式的节点ER Coord>Nodes 转换坐标系 在曲线CENTER Main Menu>Preprocessor>Modeling>Create>Nodes>At 的曲率中心Curvature Ctr 定义节点

表2-6 查看和删除节点 用法 列表显示节点 屏幕显示节点 删除节点 命令 NLIST NPLOT NDELE GUI菜单路径 Utility Menu>List>Nodes Utility Menu>Plot>Nodes Main Menu>Preprocessor>Modeling>Delete>Nodes

表2-7 移动节点 用法 通过编辑节点坐标来移动节点 移动节点到坐标面的交点 命令 NMODIF GUI菜单路径 Main Menu>Modeling>Preprocessor>Create>Nodes>Rotate Nodes CS>By Angles Main Menu>Preprocessor>Modeling>Move/Modify>Nodes>To intersect MOVE

表2-8 旋转节点的坐标系 用法 旋转到当前激活的坐标系 命令 NROTAT GUI菜单路径 Main Menu>Preprocessor>Modeling>Create>Nodes>Rotate Node CS>To Active CS

通过方向余弦来旋转节点坐标系 NANG Main Menu>Preprocessor>Modeling>Move/Modify>Rotate Nodes CS>To Active CS Main Menu>Preprocessor>Modeling>Create>Nodes>Rotate Nodes CS>By Vectors Main Menu>Preprocessor>Modeling>Move/Modify>Rotate Node CS>By Vectors Main Menu>Preprocessor>Modeling>Create>Nodes>In Active CS or>On Working Plane Main Menu>Modeling>Preprocessor>Create>Nodes>Rotate Node CS>By Angles Main Menu>Preprocessor>Modeling>Move/Modify>Rotate Node CS>By Angles or>Set of Nodes or>Single Node 通过角度来旋转节点坐标系 N;NMODIF

表2-9 读写包含节点数据的文本文件 用法 从文件中读取一部分节点 从文件中读取节点 将节点写入文件 命令 NRRANG GUI菜单路径 Main Menu>Preprocessor>Modeling>Create>Nodes>Read Node File Main Menu>Preprocessor>Modeling>Create>Nodes>Read Node File Main Menu>Preprocessor>Modeling>Create>Nodes>Write Node File NREAD NWRITE

2.8.2 单元

本节叙述的主要内容包括: l 组集单元表 l 指定单元表中的项 l 查看单元列表

l 定义单元 l 查看和删除单元

l 从已有单元生成另外的单元 l 利用特殊方法生成单元 l 读写包含单元数据的文本文件

注意:定义单元的前提时:用户已经定义了该单元所需的最少节点并且已指定合适的单元属性。

用户可以按照表2-20、表2-11、表2-12、表2-13、表2-14、表2-15、表2-16和表2-17中提供的方法来执行上述操作。

表2-10组集单元表 用法 定义单元类型 命令 ET GUI菜单路径 Main Menu>Preprocessor>Element Type>Add/Edit/Delete Main Menu>Preprocessor>Real Constants Main Menu>Preprocessor>Material Models>analysis type 定义实常数 R 定义线性材料属性 MP;MPDATA;MPTEMP

表2-11 指定单元属性 用法 指定单元类型 指定实常数 指定材料号 指定单元坐标系 REAL MAT ESYS 命令 TYPE GUI菜单路径 Main Menu>Preprocessor>Modeling>Create>Elements>Elem Attributes Menu>Preprocessor>Modeling>Create>Elements>Elem Attributes Menu>Preprocessor>Modeling>Create>Elements>Elem Attributes Menu>Preprocessor>Modeling>Create>Elements>Elem Attributes

表2-12 查看单元列表 用法 列表显示单元类型 命令 ETLIST GUI菜单路径 Utility Menu>List>Properties>Element Types Utility Menu>List>Properties>All Real Constants or>Specified Real Constants Utility Menu>List>Properties>All Materials or>All Matls, All Temps or>All Matls, Specified Temp or>Specified Matl, All Temps Main Menu>Preprocessor>Material Props>Material Models Utility Menu>List>Properties>Data Tables Utility Menu>List>Other>Local Coord Sys 列表显示实常数的设置 RLIST 列表显示线性材料属性 MPLIST 列表显示数据表 TBLIST 列表显示坐标系 CSLIST

表2-13 定义单元 用法 定义单元 命令 E GUI路径菜单 Main Menu>Preprocessor>Modeling>Create>Elements>Auto Numbered>Thru Nodes Main Menu>Preprocessor>Modeling>Create>Elements>User Numbered>Thru Nodes 表2-14 查看和删除单元 用法 列表显示单元 命令 ELIST GUI路径菜单 Utility Menu>List>Elements Utility Menu>List>Picked Entities>Elements

屏幕显示单元 删除单元 EPLOT EDELE Utility>Plot>Elements Main Menu>Preprocessor>Modeling>Delete>Elements 表2-15 从已有单元生成另外的单元 用法 从已有模式的单元生成另外的单元 手工控制编号从已有模式的单元生成另外的单元 镜像映射生成单元 手工控制编号镜像映射生成单元 命令 EGEN GUI路径菜单 Main Menu>Preprocessor>Modeling>Copy>Elements>Auto Numbered Menu>Preprocessor>Modeling>Copy>Elements>User Numbered ENGEN ESYM ENSYM Menu>Preprocessor>Modeling>Reflect>Elements>Auto Numbered Menu>Preprocessor>Modeling>Reflect>Elements>User Numbered Menu>Preprocessor>Modeling>Move/Modify>Reverse Normals>of Shell Elements 表2-16 利用特殊方法生成单元

用法 令 在已有EMain 单元的外表SURF Menu>Preprocessor>Modeling>Create>Elements>Surf/Contact>optio面生成表面n 单元(SURF151和SURF152) 用表面LMain 单元覆盖于FSURF Menu>Preprocessor>Modeling>Create>Elements>Surf/Contact>Surfa平面单元的ce Effect>Attach to Fluid>Line to Fluid 边界上,并分配额外节点作为最近的流体单元节点(SURF151) 用表面AMain 单元覆盖于FSURF Menu>Preprocessor>Modeling>Create>Elements>Surf/Contact>Surfa实体单元的ce Effect>Attach to Fluid>Area to Fluid 表面上,并分配额外的节点作为最近的流体单元的节点

命GUI菜单路径

(SURF152) 用表面NMain 单元覆盖于DSURF Menu>Preprocessor>Modeling>Create>Elements>Surf/Contact> 已有单元的Surface Effect> Attach to Fluid>Node to Fluid 表面,并分配额外的节点作为最近的流体单元的节点(SURF151和SURF152) 在重合EMain Menu>Preprocessor>Modeling>Create>Elements>Auto 位置处产生INTF Numbered 两节点单元 产生接GMain 触单元 CGEN Menu>Preprocessor>Modeling>Create>Elements>Surf/Contact>Node to Surf 读写包含单元数据的文本文件 用法 从单元文件中读取部分单元 从文件中读取单元 将单元写入文件 命令 ERRANG GUI菜单路径 Main Menu>Preprocessor>Modeling>Create>Elements>Read Elem File Main Menu>Preprocessor>Modeling>Create>Elements>Read Elem File Main Menu>Preprocessor>Modeling>Create>Elements>Write Elem File EREAD EWRITE 2.9编写控制

本节主要叙述用于编号控制(包含关键点、线、面、体、单元、节点、单元类型、实常数、材料号、耦合自由度、约束方向、坐标系等)命令和 GUI菜单路径。这种编号控制对于将模型的各个独立部分组合起来是相当有用和必要的。

注意:布尔运算输出图元的编号并非完全可以预估,在不同的计算机系统中,执行同样的布尔运算,生成图元的编号可能会不同。

2.9.1合并重复项

如果两个独立的图元在相同或者非常接近的位置,可用下列方法将它们合并成一个图元:

命令:NUMMRG

GUI: Main Menu>Preprocessor>Numbering Ctrls>Merge Items

弹出“Merge Coincident or Equivalently Defined Items”对话框,如图2-53所示。在Label后面选择合适的项(例如关键点、线、面、体、单元、节点、单元类型、实常数、材料号等);TOLER后面的输入值表示条件公差(相对公差),GTOLER后面的输入值表示总体公差(绝对公差),通常采用默认值(即不输入具体数值),图2-54和图2-55给出了两个合并的实例;ACTION变量表示是直接合并选择项还是先提示用户然后再合并(默认是直接合并);SWITCH变量表示是保留合并图元中较高的编号还是较低的编号(默认是较低的编号)。

2.9.2编号压缩

在构造模型时,由于删除、清除、合并或者其他操作可能在编号中产生许多空号,可采用如下方法清除空号并且保证编号的连续性:

命令:NUMCMP

GUI: Main Menu>Preprocessor>Numbering Ctrls>Compress Numbers

弹出“Compress Numbers”对话框,如图2-56所示,在Label后面的下拉里表中选择适当的项(例如关键点、线、面、体、单元、节点、单元类型、实常数、材料号等)即可执行编号压缩操作。

2.9.3设定起始编号

在生成新的编号项时,用户可能想使新生成的系列项的起始编号大于已有图元的最大编号。这样做可以保证新生成图元的连续编号不会占用已有编号序列中的空号。这样做的另一个理由是,可以使生成的模型的某个区域在编号上与其他区域保持独立,从而避免将这些区域连接到一块时有编号冲突。设定起始编号的方法如下:

命令:NUMSTR

GUI: Main Menu>Preprocessor>Numbering Ctrls>Set Start Number

弹出“Starting Number Specifications”对话框,如图2-57所示,在节点、单元、关键点、线、面后面指定相应的起始编号即可。

如果想恢复默认的起始编号,可用如下方法: 命令:NUMSTR,DEFA

GUI: Main Menu>Preprocessor>Numbering Ctrls>Reset Start Number

弹出“Reset Starting Number Specification”对话框,如图2-58所示,单击OK按钮即可。

2.9.4 编号偏差

在连接模型中的两个独立区域时,为避免编号冲突,可对当前已选取的编号加已个偏差值来重新编号,方法如下:

命令:NUMOFF

GUI: Main Menu>Preprocessor>Numbering Ctrls>Add Num Offset

弹出“Add an Offset to Item Numbers”对话框,如图2-59所示,在Label后面选择想要执行编号偏差的项(例如关键点、线、面、体、单元、节点、单元类型、实常数、材料号等),在VALUE后面输入具体数值即可。

2.10本章小结

有限元网格是进行有限元分析的基础,单元质量的好坏通常直接决定求解结果的好坏。对于同一个模型,不同的网格划分将会导致不同的结果,有时候甚至会导致完全错误的结果。所以,用户一定要从一开始就重视网格的划分,对于初学者而言,大致可以从如下3个方面来选择合适的网格:

1. 尽可能避免有尖角的网格和急剧的单元尺寸过渡。

2. 对于有应力集中区域(例如几何模型尖角处等)局部细化网格。 3. 用不同的网格密度来划分模型,对比其求解结果,选择合适的网格密度做最终分析。

ANSYS 网格划分介绍

2010-04-13 14:51:59| 分类: 默认分类 | 标签:无 |字号 订阅

众所周知,对于有限元分析来说,网格划分是其中 最关键的一个步骤,网格划分的好坏直接影响到解算的精度和速度。在ANSYS中,大家知道,网格划分有三个步骤:定义单元属性(包括实常数)、在几何模型 上定义网格属性、划分网格。在这里,我们仅对网格划分这个步骤所涉及到的一些问题,尤其是与复杂模型相关的一些问题作简要阐述。

一、 自由网格划分

自由网格划分是自动化程度最高的网格划分技术之一,它在面上(平面、曲面)可以自动生成三角形或四边形网格,在体上自动生成四面体网格。通常情况下,可利 用ANSYS的智能尺寸控制技术(SMARTSIZE命令)来自动控制网格的大小和疏密分布,也可进行人工设置网格的大小(AESIZE、LESIZE、 KESIZE、ESIZE等系列命令)并控制疏密分布以及选择分网算法等(MOPT命令)。对于复杂几何模型而言,这种分网方法省时省力,但缺点是单元数 量通常会很大,计算效率降低。同时,由于这种方法对于三维复杂模型只能生成四面体单元,为了获得较好的计算精度,建议采用二次四面体单元(92号单元)。 如果选用的是六面体单元,则此方法自动将六面体单元退化为阶次一致的四面体单元,因此,最好不要选用线性的六面体单元(没有中间节点,比如45号单元), 因为该单元退化后为线性的四面体单元,具有过刚的刚度,计算精度较差;如果选用二次的六面体单元(比如95号单元),由于其是退化形式,节点数与其六面体 原型单元一致,只是有多个节点在同一位置而已,因此,可以利用TCHG命令将模型中的退化形式的四面体单元变化为非退化的四面体单元,减少每个单元的节点 数量,提高求解效率。在有些情况下,必须要用六面体单元的退化形式来进行自由网格划分,比如,在进行混合网格划分(后面详述)时,只有用六面体单元才能形 成金字塔过渡单元。对于计算流体力学和考虑集肤效应的电磁场分析而言,自由网格划分中的层网格功能(由LESIZE命令的LAYER1和LAYER2域控 制)是非常有用的。 二、 映射网格划分

映射网格划分是对规整模型的一种规整网格划分方法,其原始概念是:对于面,只能是四边形面,网格划分数需在对边上保持一致,形成的单元全部为四边形;对于 体,只能

是六面体,对应线和面的网格划分数保持一致;形成的单元全部为六面体。在ANSYS中,这些条件有了很大的放宽,包括: 1 面可以是三角形、四边形、或其它任意多边形。对于四边以上的多边形,必须用LCCAT命令将某些边联成一条边,以使得对于网格划分而言,仍然是三角形或四 边形;或者用AMAP命令定义3到4个顶点(程序自动将两个顶点之间的所有线段联成一条)来进行映射划分。 2 面上对边的网格划分数可以不同,但有一些限制条件。 3 面上可以形成全三角形的映射网格。

4 体可以是四面体、五面体、六面体或其它任意多面体。对于六面以上的多面体,必须用ACCAT命令将某些面联成一个面,以使得对于网格划分而言,仍然是四、 五或六面体。 5 体上对应线和面的网格划分数可以不同,但有一些限制条件。 对于三维复杂几何模型而言,通常的做法是利用ANSYS布尔运算功能,将其切割成一系列四、五或六面体,然后对这些切割好的体进行映射网格划分。当然,这 种纯粹的映射划分方式比较烦琐,需要的时间和精力较多。 面的三角形映射网格划分往往可以为体的自由网格划分服务,以使体的自由网格划分满足一些特定的要求,比如:体的某个狭长面的短边方向上要求一定要有一定层 数的单元、某些位置的节点必须在一条直线上、等等。这种在进行体网格划分前在其面上先划分网格的方式对很多复杂模型可以进行良好的控制,但别忘了在体网格 划分完毕后清除面网格(也可用专门用于辅助网格划分的虚拟单元类型-MESH200-来划分面网格,之后不用清除)。

三、 拖拉、扫略网格划分

对于由面经过拖拉、旋转、偏移(VDRAG、VROTAT、VOFFST、VEXT等系列命令)等方式生成的复杂三维实体而言,可先在原始面上生成壳(或 MESH200)单元形式的面网格,然后在生成体的同时自动形成三维实体网格;对于已经形成好了的三维复杂实体,如果其在某个方向上的拓扑形式始终保持一 致,则可用(人工或全自动)扫略网格划分(VSWEEP命令)功能来划分网格;这两种方式形成的单元几乎都是六面体单元。通常,采用扫略方式形成网格是一 种非常好的方式,对于复杂几何实体,经过一些简单的切分处理,就可以自动形成规整的六面体网格,它比映射网格划分方式具有更大的优势和灵活性。

四、 混合网格划分

混合网格划分即在几何模型上,根据各部位的特点,分别采用自由、映射、扫略等多种网格划分方式,以形成综合效果尽量好的有限元模型。混合网格划分方式要在 计算精度、计算时间、建模工作量等方面进行综合考虑。通常,为了提高计算精度和减少计算时间,应首先考虑对适合于扫略和映射网格划分的区域先划分六面体网 格,这种网格既可以是线性的(无中节点)、也可以是二次的(有中节点),如果无合适的区域,应尽量通过切分等多种布尔运算手段来创建合适的区域(尤其是对 所关心的区域或部位);其次,对实在无法再切分而必须用四面体自由网格划分的区域,采用带中节点的六面体单元进行自由分网(自动退化成适合于自由划分形式 的单元),此时,在该区域与已进行扫略或映射网格划分的区域的交界面上,会自动形成金字塔过渡单元(无中节点的六面体单元没有金字塔退化形式)。 ANSYS中的这种金字塔过渡单元具有很大的灵活性:如果其邻接的六面体单元无中节点,则在金字塔单元四边形面的四条单元边上,自动取消中间节点,以保证 网格的协调性。同时,应采用前面描述的TCHG命令来将退化形式的四面体单元自动转换成非退化的四面体单元,提高求解效率。如果对整个分析模型的计算精度 要求不高、或对进行自由网格划分区域的计算精度要求不高,则可在自由网格划分区采用无中节点的六面体单元来分网(自动退化成无中节点的四面体单元),此 时,虽然在六面体单元划分区和四面体单元划分区之间无金字塔过渡单元,但如果六面体单元区的单元也无中节点,则由于都是线性单元,亦可保证单元的协调性。

五、 利用自由度耦合和约束方程

对于某些形式的复杂几何模型,可以利用ANSYS的约束方程和自由度耦合功能来促成划分出优良的网格并降低计算规模。比如,利用CEINTF命令可以将相 邻的体在进行独立的网格划分(通常是采用映射或扫略方式)后再\粘结\起来,由于各个体之间在几何上没有联

系,因此不用费劲地考虑相互之间网格的影响,所 以可以自由地采用多种手段划分出良好的网格,而体之间的网格\粘结\是通过形函数差值来进行自由度耦合的,因此连接位置处的位移连续性可以得到绝对保证, 如果非常关注连接处的应力,可以如下面所述再在该局部位置建立子区模型予以分析。再如,对于循环对称模型(如旋转机械等),可仅建立一个扇区作为分析模 型,利用CPCYC命令可自动对扇区的两个切面上的所有对应节点建立自由度耦合条件(用MSHCOPY命令可非常方便地在两个切面上生成对应网格)。

六、 利用子区模型等其它手段

子区模型是一种先总体、后局部的分析技术(也称为切割边界条件方法),对于只关心局部区域准确结果的复杂几何模型,可采用此手段,以尽量小的工作量来获得 想要的结果。其过程是:先建立总体分析模型,并忽略模型中的一系列细小的特征,如导角、开孔、开槽等(因为根据圣维南原理,模型的局部细小改动并不特别影 响模型总的分析结果),同时在该大模型上划分较粗的网格(计算和建模的工作量都很小),施加载荷并完成分析;其次,(在与总体模型相同的坐标系下)建立局 部模型,此时将前面忽略的细小特征加上,并划分精细网格(模型的切割边界应离关心的区域尽量远),用CBDOF等系列命令自动将前面总体模型的计算结果插 值作为该细模型的边界条件,进行求解计算。该方法的另外好处是:可以在小模型的基础上优化(或任意改变)所关心的细小特征,如改变圆角半径、缝的宽度等; 总体模型和局部模型可以采用不同的单元类型,比如,总体模型采用板壳单元,局部模型采用实体单元等。

子结构(也称超单元)也是一种解决大型问题的有效手段,并且在ANSYS中,超单元可以用于诸如各种非线性以及装配件之间的接触分析等,有效地降低大型模 型的求解规模。 巧妙地利用结构的对称性对实际工作也大有帮助,对于常规的结构和载荷都是轴对称或平面对称的问题,毫无疑问应该利用其对称性,对于一些特殊情况,也可以加 以利用,比如:如果结构轴对称而载荷非轴对称,则可用ANSYS专门用于处理此类问题的25、83和61号单元;对于由多个部件构成装配件,如果其每个零 件都满足平面对称性,但各对称平面又不是同一个的情况下,则可用多个对称面来处理模型(或至少可用此方法来减少建模工作量:各零件只需处理一半的模型然后 拷贝或映射即可生成总体模型)。

总之,对于复杂几何模型,综合运用多种手段建立起高质量、高计算效率的有限元模型是极其重要的一个步骤,这里介绍的注意事项仅仅是很少一部分,用户自己通 过许多工程问题的不断摸索、总结和验证才是最能保证有效而高效地处理复杂模型的手段。

本文来源:https://www.bwwdw.com/article/zd1r.html

Top