搜索
您的当前位置:首页正文

ANSYS命令:前处理

来源:筏尚旅游网
第6章 ANSYS命令:前處理 143

第6章

ANSYS命令:前处理

ANSYS Commands: Preprocessing

这一章介绍preprocessing命令。请你回顾Figure 5-2,我们把preprocessing的命令区分成solid modeling、element attributes、mesh generation三大类。Solid modeling可以使用bottom-up及top-down两种方法,所以我们依此将命令分成两类:与bottom-up approach有关的keypoints、lines、areas、volumes,和与top-down approach有关的primitives、booleans。Meshing generation则可以使用direct generation或auto-meshing两种方法,所以我们也依此将命令细分成两类:与direct generation有关的nodes、elements命令,和与auto-meshing有关的mesh size/shape、auto-meshing命令。如此,preprocessing的命令分为5类,分述于5节中:第1节是solid Modeling中与bottom-up approach有关的命令,第2节是solid Modeling中与top-down approach有关的命令,第3节是Element Attributes Commands,第4节是mesh generation与direct generation有关的命令,第5节是mesh generation中与auto-meshing有关的命令。

144 第6章 ANSYS命令:前處理

第6.1节 建立实体模型:Bottom-up Approach

Solid Modeling: Bottom-up Approach

6.1.1 Keypoints Commands

01 K, NPT, X, Y, Z 02 KLIST, NP1, NP2, NINC 03 KPLOT, NP1, NP2, NINC

K命令(第1行)是去建立一个keypoint,NPT是这个keypoint的编号,X, Y, Z是坐标值(参照目前的Active CS)。再次提醒你,在ANSYS中的命令说明书中或文字输出时,坐标一律以X, Y, Z来表示,可是它们并不一定表示直角坐标;如果是圆柱坐标的话(Figure 5-7b),X, Y, Z必须解释成R,, Z(或R, Y, );如果是圆球坐标的话,X, Y, Z必须解释成R, , 。KLIST(第2行)是以文字方式列出你所定义的keypoints,显示的坐标值是参照目前的Display CS。KPLOT(第3行),把这些keypoints画出在Grapgics Window上;不过当这些keypoints被画出来时,通常只是一些小点,肉眼很难辨识,所以最好是在每个点的旁边再标出编号(在KPLOT命令之前使用/PNUM命令)。

6.1.2 Lines Commands

01 L, P1, P2, NDIV, SPACE 02 CIRCLE, PCENT, RAD, PAXIS 03 LARC, P1, P2, PC, RAD 04 LFILLT, NL1, NL2, RAD 05 SPLINE, P1, P2, ..., P6, ... 06 BSPLIN, P1, P2, ..., P6, ... 07 LLIST, NL1, NL2, NINC 08 LPLOT, NL1, NL2, NINC 第6.1節 建立實體模型:Bottom-Up Approach 145

L命令(第1行)是定义一线段,起迄点是编号P1及P2的keypoints。当你定义此线段时,你可以利用参数NDIV及SPACE去指定将线段切割成NDIV段,及切割的space ratio。所谓space ratio是切割后,最后一段(靠近P2的一段)与第一段(靠近P1的一段)长度的比值,而中间线段则依此渐变;换句话说,space ratio小于1时,线段切割是越来越细;反之,space ratio大于1时,线段切割是越来越粗。但你在使用L命令时,并不一定要输入这些参数(NDIV及SPACE),你可以在完成solid modeling以后,再来处理这些meshing的事情。L命令是定义一线段,但是并不一定是直线段,而是依当时的Active CS而定──当使用直角坐标时的确会产生直线,但若是使用其它的CS,则不一定是直线。譬如说在圆柱坐标(R, , Z)时,假设P1 =(1, 0, 0),P2 =(1, 90, 0),则L, P1, P2命令就会产生一个圆弧。广泛而言,L命令在P1(假设坐标是X1, Y1, Z1)与P2(假设坐标是X2, Y2, Z2)两个点之间是如此产生线段的:当X坐标由X1增加至X2的同时,Y坐标也是由Y1依比例增加至Y2,Z坐标也是由Z1依比例增加至Z2。

CIRCLE命令(第2行)可以用来定义一个圆,PCENT是圆心,RAD是指半径;如果该圆不是在X-Y平面的话,还要输入PAXIS去定义通过圆心的轴,PAXIS省略的话,内定的圆心轴是垂直于WP。CIRCLE命令最后面还有几个参数可以用来定义圆弧,但是下一个命令(LARC)可能较方便。LARC(第3行)是去定义一个圆弧,圆弧的起点P1、终点P2,半径是RAD;因为若只有这3个参数会定义出两个可能的圆弧,所以PC是用来定义圆弧的凹方向是在那一边。LFILLT(第4行)是在NL1及NL2两个lines之间产生一个半径是RAD的圆角

SPLINE及BSPLIN两个命令(第5、6行)都是在产生称为splines的圆滑曲线,通过P1、P2、…、P6等最多六个点。这两个命令不一样的地方在于,SPLINE命令产生出来的曲线是许多独立的线段,而BSPLIN命令产生出来的是单一的曲线。两个命令的最后还有几个参数可以去指定曲线头尾的斜率。LLIST命令(第7行)把所定义的lines打印出来。LPLOT命令(第8行)是把所定义的lines画出来。

146 第6章 ANSYS命令:前處理

6.1.3 Areas Commands

01 A, P1, P2, ..., P18 02 AL, L1, L2, ..., L10 03 ADRAG, NL1, ..., NL6, NLP1, ..., NLP6 04 AROTAT, NL1, ..., NL6, PAX1, PAX2, ARC 05 AFILLT, NA1, NA2, RAD 06 ALIST, NA1, NA2, NINC 07 APLOT, NA1, NA2, NINC

A命令(第1行)是由keypoints来定义一个area,这些keypoints必须在一个平面上(当使用非直角坐标系统时,所谓「平面」是广义的 [Ref. 5, A]),输入时必须依顺时针或逆时针的顺序,这个顺序也用来决定area的「正面」方向(依右手规则)。在产生area之前,keypoints间会先产生「直线段」作为area的边界,但是如果keypoints间已经有lines存在,则会直接以现存的lines作为area的边界。AL命令(第2行)是由lines去定义一个area,亦即用这些lines去围成一个area;这些lines必须在一个「平面」上,顺序可以任意排列,但是必须要有意义,比如某些lines没有连接在一起,或是互相交叉,这些都会出现错误讯息,基本上这些lines必须要形成一个simply connected closed curve [Ref. 5, AL]。

我们知道一条线段往某一方向拖拉(drag)可以「扫」(sweep)出一个area出来。ADRAG命令(第3行)就是基于这种构想来产生一个area;NL1, NL2等连接线段定义出欲被拖拉的线段,而NLP1, NLP2等定义出拖拉的路径(path)。AROTAT命令(第4行)和ADRAG类似,但是AROTAT是对着某一轴做旋转来产生一个area,PAX1和PAX2两个keypoints定义出旋转轴(方向依右手规则),ARC(degree)则定义其旋转角度。关于ADRAG与AROTAT有一点特别要强调的:这些欲被拖拉或旋转的lines上,如果已经有定义了elements,那么这些1D的elements也会随着「长」成2D的elements,关于这点,我们在解说VDRAG及VROTAT命令时再举例说明可能会比较清楚。因为通常由1D的元素「长」成2D元素的应用比较少,而由2D的元素「长」成3D元素的应用会比较多。

AFILLT命令(第5行)是在两个areas间去产生一个圆角面。ALIST命令(第

第6.1節 建立實體模型:Bottom-Up Approach 147

6行)把所定义的areas打印出来。APLOT命令(第7行)是把所定义的area画出来。

6.1.4 Volumes Commands

01 V, P1, P2, ..., P8 02 VA, A1, A2, ..., A10 03 VOFFST, NAREA, DIST 04 VEXT, NA1, NA2, NINC, DX,DY,DZ, RX,RY,RZ 05 VDRAG, NA1, ..., NA6, NLP1, ..., NLP6 06 VROTAT, NA1, ..., NA6, PAX1, PAX2, ARC 07 VSWEEP, VNUM, SRCA, TRGA, LSMO 08 VLIST, NV1, NV2, NINC 09 VPLOT, NV1, NV2, NINC

V命令(第1行)是由keypoints来定义一个volume;这些keypoints的顺序虽没有严格规定,但是太杂乱的顺序有可能会产生错误讯息 [Ref. 5, V]。VA命令(第2行)则是由areas定义一个volume,当然这些areas必须形成一个封闭的边界。

接下来的几个命令(第3-7行)在某方面很相似。想象一个或以上的areas往某一方向偏移(offset)、挤出(extrude)、拖拉(drag)、或对着某一轴旋转(rotate),可以「扫」(sweep)出一个volume出来。VOFFST(第3行)、VEXT(第4行)、VDRAG(第5行)、及VROTAT(第6行)就是基于这样的构想来产生一个volume。VOFFST命令中的NAREA定义了欲被偏移的areas,DIST是偏移量(往垂直area的方向偏移)。VEXT命令中的NA1, NA2, NINC定义了欲被挤出的areas,DX, DY, DZ是挤出的方向,RX, RY, RZ则容许挤出时各方向缩放的比例。VDRAG命令中的NA1, NA2等定义了欲被拖拉的areas,而NLP1, NLP2等定义出拖拉的路径。VROTAT命令中的NA1, NA2等定义了欲被旋转的areas,PAX1和PAX2两个keypoints定义出旋转轴(方向依右手规则),ARC(度)则定义其旋转角度。

以上这些欲被偏移、挤出、拖拉、或旋转的areas上,如果已经有定义了elements,那么这些2D的elements也会随着「长」成3D的elements。一般使

148 第6章 ANSYS命令:前處理

用这个方法来产生网格的程序如下 [Ref. 19, Sec. 5.2.5.1. Extruding Volumes]:(一)使用MESH200元素将欲被偏移、挤出、拖拉、或旋转的areas先做2D的网格切割,(二)使用TYPE命令去选用适当的3D元素型态,(三)使用ESIZE命令去指定沿着偏移、挤出、拖拉、或旋转方向的元素数目,(四)使用VOFFST、VEXT、VDRAG、或VROTAT命令。在以后的章节中,我们会透过练习来说明这个方法的使用。

注意,使用这个方法来产生3D网格时,volume和mesh是一起产生的。但是在许多工业应用的实例上,solid model是在ANSYS之外使用独立的程序(Pro/Engineer或其它CAD软件)建构完成后再输入ANSYS做切割的工作;很明显的VOFFST、VEXT、VDRAG、或VROTAT命令无法用在这种场合去产生元素。VSWEEP命令即是为此而设计的命令,详细说明请自行参阅说明书 [Ref. 5, VSWEEP]。

VLIST命令(第8行)把所定义的volumes打印出来。VPLOT命令(第9行)是把所定义的volumes画出来。

第6.2節 建立實體模型:Top-Down Approach 149

第6.2节 建立实体模型:Top-down Approach

Solid Modeling: Top-down Approach

6.2.1 Primatives Commands

01 RECTNG, X1, X2, Y1, Y2 02 PCIRC, RAD1, RAD2, THETA1, THETA2 03 RPOLY, NSIDES, LSIDE, MAJRAD, MINRAD 04 BLOCK, X1, X2, Y1, Y2, Z1, Z2 05 CYLIND, RAD1, RAD2, Z1, Z2, THETA1, THETA2 06 SPHERE, RAD1, RAD2, THETA1, THETA2 07 TORUS, RAD1, RAD2, RAD3, THETA1, THETA2

以上列出了你可能会用到的primitives 的命令。所谓primitives是指一些基本的几何形状(2D或3D),这些基本的形状经由联集、交集、差集的运算(称为boolean运算),可以建构出solid model。这种「由上而下」的solid modeling又称为建构式实体几何法(constructive solid geometry)。相对的,第6.1节所描述的,由keypoints、lines、areas、到volumes这种「由下而上」的方法又称为边界表示法(boundary representation)。

前面3个命令是2D的几何形状,而后面4个命令是3D的几何形状。注意,所有primitives命令的坐标系统都是参照WP。RECTNG(第1行)是产生一个矩形area。PCIRC(第2行)是定义一个圆心在WP原点上的圆形或扇形面积,并且也可以是有外径、内径的2D「甜甜圈」(doughnut)。RPOLY(第3行)是定义一个中心在WP原点上的正多边形(regular polygon) area,边数是由NSIDES决定,第一个顶点是在X轴上面,然后逆着时针方向去产生其它顶点。你有三个方式来定义这个正多边形:(一)你可以指定每一个边的长度LSIDE,(二)你可以指定外接圆半径MAJRAD,(三)或是指定内切圆半径MINRAD;这三个方法只能选其中一种。

150 第6章 ANSYS命令:前處理

BLOCK(第4行)是去定义一个长方体。CYLIND(第5行)是去定义一个以WP的Z轴为中心轴的圆柱体,可以是有内径、外径的圆管,也可以是未满360度的「扇形柱」。SPHERE(第6行)是定义一个圆心在WP原点上的圆球,这个圆球可以是有内径和外径的球壳。TORUS(第7行)所产生的则是像游泳圈或甜甜圈的volume,中心是在原点上,major circle座落在WP的X-Y平面上。你必须输入3个半径(任何次序都可以),由大至小分别是major radius、outer minor radius、及inner minor radius(Figure 6-1,此图片摘自Ref. 5, TORUS)。

Figure 6-1 Torus [Ref. 5]

6.2.2 Booleans Commands

01 AADD, NA1, NA2, ..., NA9 02 AINA, NA1, NA2, ..., NA9 03 AINV, NA, NV 04 ASBA, NA1, NA2, SEPO, KEEP1, KEEP2 05 ASBL, NA, NL,, KEEPA, KEEPL 06 ASBV, NA, NV, SEPO, KEEPA, KEEPV 07 AGLUE, NA1, NA2, ..., NA9 08 AOVLAP, NA1, NA2, ..., NA9 09 VADD, NV1, NV2, ..., NV9 第6.2節 建立實體模型:Top-Down Approach 151

10 VINV, NV1, NV2, ..., NV9 11 VSBV, NV1, NV2, SEPO, KEEP1, KEEP2 12 VSBA, NV, NA, SEPO, KEEPV, KEEPA 13 VGLUE, NV1, NV2, ..., NV9 14 VOVLAP, NV1, NV2, ..., NV9

你所定义的areas及volumes(无论是否用primitives命令建构的),都可以拿来做boolean运算。Booleans运算一般虽是指两个操作数(operands)间的联集(union)、交集(intersection)、差集(difference)等运算,但是ANSYS做了很多延伸,操作数也不限制在两个。前面8个命令是areas的运算,后面6个命令是volumes的运算。当我们在使用这些命令时要注意一个问题:areas或volumes被运算之后会产生一个新的area或volume,那么这些被运算的「旧」的areas或volumes会何去何从呢?一般而言,预设情况是会被删除掉的,但是可以透过适当的选项来保留它们 [Ref. 5, BOPTN]。

AADD(第1行)读成areas addition,是指areas的联集;这些areas(必须共平面)联集起来后形成一个新的area,被联集的areas会被删除掉(预设)。AINA(第2行)读成area intersect area,是几个areas间的交集。AINV(第3行)读成area intersect volume,是一个area和一个volume间的交集,正常情况下其结果是一个area,但还是有可能是一个line、keypoint、或是空集合。

第4、5、6个命令分别是一个area和另一个area、line、或volume的差集。ASBA(第4行)读成area subtract area,是一个area减去另一个area(也就是第一个area减去两个areas的交集),其结果可能是一个area(当两个areas交集是一个area时)、或是两个areas(当两个areas交集是一个line时)。当运算的结果是两个areas时,SEPO是用来决定这两个areas是独立的(各有其边界线)还是连续的(共享一个边界线)。KEEP1及KEEP2两个参数是来决定这两个旧的areas是不是要保留着或删除掉。ASBL(第5行)读成area subtract line,是一个area减掉一个line,其结果正常情况下是两个areas; KEEPA, KEEPL是分别用来决定旧有的area及line是否要保留或删除。ASBV(第6行)读成area subtract volume,是一个area减掉一个volume,正常的情况下结果应该是一个area。

152 第6章 ANSYS命令:前處理

AGLUE(第7行)读成areas glue,是将几个areas「黏接」起来;这听起来有点像联集,不过这些areas的边界线必须要是紧邻的才能「黏接」起来。这个运算事实上只是将独立但重迭的两条或以上的边界线删除而剩下一条,也就是共享边界线。AOVLAP(第8行)读成areas overlap,所产生的area包含了所有被overlap的areas:两两之间的交集部分及不与任何其它areas交集的部分。

第9行至第14行是volumes的boolean运算,这些和areas的boolean运算都很类似,在此不再详细讨论。

第6.3節 元素屬性命令 153

第6.3节 元素属性命令 Element Attributes Commands

6.3.1 元素属性表

ET Table ID Description 1 2 3 … … … … …

MP Table

R Table

CS Table Description … … … … ID Description ID Description ID 1 2 3 … … … … 1 2 3 … … … … 0 1 2 … … … Element Data

Element 1 2 3 4 … Nodes … … … … … ET 1 1 … … … MP 1 2 … … … R 1 2 … … … CS 0 0 … … … Figure 6-2 Elements Attributes Tables and Element Data

一个solid model要做网格切割(meshing)之前必须指定所产生的elements的属性(attributes)。所谓attributes是指:element type是哪一种的?material property是哪一种的?若有real constant的话,是哪一种的?若需要element CS,是哪一种的?

Figure 6-2代表ANSYS数据库是如何纪录所有elements的数据的。Figure 6-2下图的element data(元素数据)表中记载着每一个element的节点号码(这些节点的坐标纪录在另一个nodal data表中)、element type(ET)是哪一种的、material property(MP)是哪一种的、real constant(R)是哪一种的、coordinate

154 第6章 ANSYS命令:前處理

system(CS)是哪一种的。譬如编号第2号的element,它的element type是ET table中的第1号,material property是MP table中的第2号,real constant是R table中的第2号,而coordinate system是CS table中的第0号。

以上说明了元素属性表(elements attributes tables)的角色:在指定元素属性前,我们必须要先建立这些elements attributes tables,包括ET table、MP table、R table、及CS table。注意,这些属性表除了CS table是从0开始编号外,其它属性表都是从1号开始的。

6.3.2 ET Table Commands

01 ET, ITYPE, Ename, KOP1, KOP2, ..., KOP6 02 KEYOPT, ITYPE, KNUM, VALUE 03 ETLIST, ITYP1, ITYP2, INC

ET命令(第1行)是在ET table中定义一种element type,其中ITYPE是ET table内的编号,ENAME是ANSYS专用的element name [Ref. 6, Sec. 3.3. Pictorial Summary],譬如SOLID45(可以简写成45)。最后这些KEYOPT是元素的选项(key options),经由适当的输入,你可以对这个元素型态做适当的修改,去符合你的需要。这些key options都列在元素的说明内。譬如SOLID45的第1个key option让你选择是否需要加入额外的shape functions(以提升弯曲的精确性),第2个key option让你选择元素高斯积分点(Gauss integration points)的个数,第4个key option让你选择element CS [Ref. 6, SOLID45]。Key options常常是使用某一元素时最困难的主题之一,而且有些元素的key options有很多。ET命令中最多只能输入到第6个key options,如果你要输入第7个以上时,KEYOPT命令(第2行)可以让你来输入这些key options。ETLIST命令(第3行)可以将你所建立的ET table以文字方式打印出来,供你检视是否输入正确。

第6.3節 元素屬性命令 155

6.3.3 MP Table Commands

01 MP, Lab, MAT, C0, C1, C2, C3, C4 02 MPLIST, MAT1, MAT2, INC 03 TB, Lab, MAT, NTEMP, NPTS 04 TBTEMP, TEMP 05 TBDATA, STLOC, C1, C2, C3, C4, C5, C6 06 TBPT,, X, Y 07 TBLIST, Lab, MAT 08 TBPLOT, Lab, MAT

以上是有关建立MP table的命令,如果是线性的材料,无论是结构分析还是热分析,只要用到前两个命令(MP及MPLIST)就可以了。MP(第1行)是在MP table中定义一种材料(编号是MAT)的某一个性质(由Lab指定,譬如EX、NUXY等),其值由C0、C1、C2、C3、C4来决定:若此值与温度无关则输入C0就可以了;若此值与温度(T)有关,这个命令容许你以T的多项式(最多4次式)来表示此值,亦即C0 + C1 x T + C2 x T2 + C3 x T3+ C4 x T4。MPLIST(第2行)是把MP table的以文字方式打印出来。

如果要定义一种非线性材料性质,除了MP外还必须使用到其它命令;基本的观念是:必须完整的描述出应力与应变(或应变率)的关系曲线,必要的话不同的温度下要输入不同的应力应变曲线。TB命令(第3行)是描述这些应力应变曲线的第一个命令,MAT是MP table上的编号,Lab是材料模式名称(譬如BKIN等) [Ref. 5, TB; Ref. 6, Sec. 2.5. Data Tables],NTEMP是指定接下来要输入多少组应力应变曲线,每一组曲线代表一个温度下的材料性质。不同的材料模式需要输入不同的数据来描述应力应变关系,譬如BKIN材料模式需要输入Young’s modulus、Poisson’s ratio、Shear modulus(任选两者输入即可;这两个材料参数使用MP命令输入)、Tangent modulus、及Yield stress;最后两者以TBDATA命令输入。有些材料模式必须以逐点(X轴是应变,Y轴是应力)输入的方式来描述应力应变曲线,此时NPTS是用来注明要输入多少点的。TBTEMP(第4行)是指定接下来要输入的应力应变曲线的温度。TBDATA(第5行)及TBPT(第6

156 第6章 ANSYS命令:前處理

行)是让你输入数值来描述应力应变曲线,前者是以材料参数的方式输入,后者是以逐点方式输入(X轴是应变,Y轴是应力)。TBDATA命令中的STLOC读成storage location,一般输入空白,但是如果需要输入的材料参物超过6个,就必须使用好几次的TBDATA命令来输入,此时用STLOC来指定你现在要输入的是从第几个开始的。

TBLIST(第7行)是将某一种材料以文字方式打印出来。TBPLOT(第8行)则是将某一种材料以图形方式画出来。以下是描述某一非线性材料性质的例子:

01 MP, ... 02 MP, ... 03 TB, ... 04 05 06 07 08 TBTEMP, ... TBTEMP, ... ! Input Young’s modulus ! Input Poisson’s ratio, etc. ! Specify material model ! The first temperature ! The second temperature ! Etc. TBDATA, ... ! Other material parameters TBDATA, ... ! Other material parameters

6.3.4 R Table Commands

01 R, NSET, R1, R2, ..., R6 02 RMORE, R7, R8, ..., R12 03 RLIST, NSET1, NSET2, NINC

R table的命令没有像MP table的命令那么复杂。每一种元素都有特定的real constants需要输入,你必须先阅读该元素的说明 [Ref. 6]。R命令(第1行)是定义一组real constants,NSET是在R table的编号,后面的值是欲输入的real constants,其意义必须参照Elements Reference [Ref. 6]。有些element的real constants有6个以上,此时你必须用RMORE(第2行)来输入直到第12个,若还有的话,可以再用一次RMORE,依此类推。RLIST(第3行)是把这些R table的数据用文字的方式打印出来。

第6.3節 元素屬性命令 157

6.3.5 Attributes Assignment Commands

01 TYPE, ITYPE 02 MAT, MAT 03 REAL, NSET 04 ESYS, KCN 05 KATT, MAT, REAL, TYPE, ESYS 06 LATT, MAT, REAL, TYPE 07 AATT, MAT, REAL, TYPE, ESYS 08 VATT, MAT, REAL, TYPE, ESYS

前面4个命令(TYPE、MAT、REAL、ESYS)分别是是用来指定接下来要产生的elements的element type、material properties、real constants、及coordinate system的编号。一般的程序是:你先选择某一部份solid model(volumes或areas)、指定元素属性(使用TYPE、MAT、REAL、ESYS命令)、进行网格切割(使用VMESH或AMESH命令),接着再以同样程序来处理其它部分。

你也可以指定全部的solid model后再一次进行网格切割,后面4个命令(KATT、LATT、AATT、VATT)就是做如此用途的。譬如VATT(第8行)是指定目前所选取的volumes,它们的元素属性(包括四种元素属性)。

158 第6章 ANSYS命令:前處理

第6.4节 建立网格:直接法 Mesh Generation: Direct Generation

所谓网格(mesh)是由nodes及elements组成的。产生网格的方式可以分为直接法(direct generation)与自动切割法(auto meshing)。直接法是指没有经过建立solid model的程序,而直接去建立nodes及elements。自动接割法是先建立solid model后,再做网格切割工作。虽然两种方法可以混合使用,但是通常不常如此做。注意,有限元素分析所需要的是分析模型(亦即有限元素模型),至于solid model是否存在并不影响有限元素分析工作。本节介绍这些直接建立nodes或elements的命令,下一节再介绍meshing的命令。

6.4.1 Nodes Commands

01 N, NODE, X, Y, Z 02 FILL, NODE1, NODE2, NFILL, NSTRT, NINC, ITIME, INC, SPACE 03 NGEN, ITIME, INC, NODE1, NODE2, NINC, DX, DY, DZ 04 NLIST, NODE1, NODE2, NINC 05 NPLOT, KNUM 前3个命令(N、FILL、NGEN)是直接产生nodes的命令。N(第1行)是定义一个node,编号是NODE,X, Y, Z是坐标值(参照目前的Active CS)。理论上所有的nodes都可以使用N命令去定义,但通常我们只利用N来定义少数几个nodes,其它的nodes是以FILL(第2行)或NGEN(第3行)来产生的。

FILL命令是用「填满」的方式来产生两个nodes(NODE1及NODE2)之间的nodes(共NFILL个nodes,预设是NODE2-NODE1-1),第一个node编号是NSTRT(预设是NODE1+NINC),接下来的每一个编号都增加NINC。以上产生nodes的动作可以重复ITIME次(包含第一次),每一次NODE1及NODE2都必须增加INC。SPACE是用来指指定space ratio(最后一段距离与第一段距离的比

第6.4節 建立網格:直接法 159

值),当大于1时,nodes的排列会越来越宽,当小于1时,nodes的排列会越来越窄。

NGEN命令读成nodes generation,也可以读成nodes copy。NODE1, NODE2, NINC是要被复制的nodes,连续复制ITIME次(被复制者本身也算一次),每次NODE1及NODE2增加INC,而坐标则增加DX, DY, DZ。

以上这些命令听起来很复杂,事实上在大部分的应用下你都可以利用argument defaults,譬如下列命令产生100个nodes:

01 N, 1, 1 02 N, 10, 10 03 FILL ! First node ! Last node ! Intermediate nodes 04 NGEN, 10, 10, 1, 10,,, 1 ! Copy 10 rows

NLIST(第4行)是以文字方式打印出nodes的数据(坐标等),NPLOT(第5行)则是画出所有的nodes,其中KNUM是用来控制这些nodes的编号是不是也要它画出来。

6.4.2 Elements Commands

01 E, I, J, K, L, M, N, O, P 02 EMORE, Q, R, S, T, U, V, W, X 03 EN, IEL, I, J, K, L, M, N, O, P 04 EGEN, ITIME, NINC, IEL1, IEL2, IEINC 05 ELIST, IEL1, IEL2, INC 06 EPLOT

E命令(第1行)是直接去定义一个element,后面的参数是nodes的编号,最多可以有8个nodes;如果超过8个nodes,可以使用EMORE命令(第2行)输入更多的nodes。注意,nodes编号必须依元素说明 [Ref. 6] 所描述的顺序输入。EN命令(第3行)和E命令几乎是一样的,但是EN可以指定元素编号(IEL),而E命令无法控制元素编号(ANSYS自行选定,一般由1渐增)。

160 第6章 ANSYS命令:前處理

EGEN命令(第4行)读成element generation,也可以读成elements copy, IEL1, IEL2, IEINC决定欲复制的elements,共复制ITIME次(被复制者本身也算一次),每次的nodes编号增加NINC。当IEL1输入负值时,譬如 -N,表示「刚刚定义的N个elements」(注意,此输入方式非常方便,但是在命令手册 [Ref. 5, EGEN] 上并没有写出)。

ELIST(第5行)是以文字方式打印出elements的数据,EPLOT(第6行)则是画出所有的elements。

第6.5節 建立網格:自動切割法 161

第6.5节 建立网格:自动切割法 Mesh Generation: Auto Meshing

6.5.1 Mesh Size/Shape Commands

01 DESIZE, ... 02 SMRTSIZE, SIZLVL 03 ESIZE, SIZE, NDIV 04 KESIZE, NPT, SIZE, FACT 05 LESIZE, NL, SIZE, ANGSIZ, NDIV, SPACE 06 MSHAPE, KEY, Dimension 07 MSHMID, KEY 08 MSHKEY, KEY 09 LCCAT, NL1, NL2 10 ACCAT, NA1, NA2

在做网格切割之前,如果你没有给ANSYS任何有关elements size或elements shape的指示,ANSYS会依内部的运算逻辑来自行选定,但是常常会不尽理想,所以你最好给ANSYS一些指示。DESIZE(第1行)读成default element size,是在指定预设的元素大小,亦即若没有进一步的指示时,ANSYS所采用的元素大小。DESIZE通常不使用,若需用到请参阅命令说明 [Ref. 5, DESIZE]。SMRTSIZE命令(第2行)指示mesh的粗细程度:SIZLVL可以从1(最细)至10(最粗)。很多情况下你使用SMRTSIZE命令就可以了,可是有些情况下还是不尽理想;我们需要更多的meshing控制。

ESIZE命令(第3行)直接对ANSYS指示整体的elements size(SIZE)或是把每一条line切成多少段(NDIV),两者只能择一输入,ANSYS会尽量依照你的指示。KESIZE命令(第4行)是指示某一keypoint(NPT)附近的elements size(SIZE)。KESIZE命令中的第3个参数 FACT是这样子的:如果你不喜欢用绝对的数目,而喜欢用相对倍数,譬如我们指定在某一keypoint附近的elements size

162 第6章 ANSYS命令:前處理

是0.3,然后再指定另一个keypoint附近的elements size是刚才尺寸的一半,你可以将FACT输入0.5。LESIZE命令(第5行)是指定某一line(NL)被切割成多细,你可以指定沿着line上的elements size是多少(SIZE),也可以指定沿着line上切割成几段(NDIV),如果这条线是圆弧,你可以指定每段的angular size(ANGSIZ,单位是度);比如一个弧是90度,如果你指定angular size为15度,它就会被分成6段;这三个参数(SIZE、ANGSIZ、NDIV)只能输入一个;SPACE是space ratio,亦即最后一段的长度和第一段长度的比值。

至目前为止我们介绍的5个命令(第1-5行)有它们的优先级:依序是LESIZE、KESIZE、ESIZE、SMRTSIZE、DESIZE。也就是说如果我们指定某一个line的mesh size时(LESIZE命令),那么这是最优先的,若没有的话它才会去使用附近keypoints的element size(KESIZE),再没有的话,才会去使用整体的element size(ESIZE),然后使用SMRTSIZE命令所指定的SIZLVL,最后采用DESIZE所指定的默认值。

MSHAPE命令(第6行)是在指定element shape,Dimension可以是2D或3D,KEY可以是四边形或三角形(2D),六面体或四面体(3D)。当你使用的elements具有中间节点时(midside nodes,亦即高次元素),MSHMID命令(第7行)是用来控制这些midside nodes的位置:当边界是曲线时,要把midside nodes放在曲线上面,还是把曲线简化成直线,然后放在直线上面?从计算的效率及精度上来讨论,若midside nodes在直线上时,计算效率会比较好一点的,但是当我们需要较精确的边界形状时(譬如接触问题),边界还是需要维持曲线。

MSHKEY命令(第8行)是来选择要用free mesh或是mapped meshing。通常free mesh可以全自动的完成,你不需任何额外的指示,缺点是常常必须包含三角形(2D情况)或四面体(3D情况)的元素。2D的三角形或3D的四面体元素收敛行为很差 [Sec. 3.5],亦即精度很差,此点可以透过Sec. 9.7的练习题验证)。Mapped meshing的网格配置通常很整齐好看,而且可以完全不用到三角形或四面体元素,但是限制蛮多的,ANSYS需要你更多的指示。Mapped mesh主要的限制是欲被mesh的areas必须是四边形或三边形,如果超过四个边,可以使用LCCAT命令(第9行)将某两个边「暂时」合并(lines concatenation)为一个边。同样的,mapped meshing时欲被mesh的volumes必须是六面体、三

第6.5節 建立網格:自動切割法 163

角柱、或四面体,如果超过六个面,可以使用ACCAT命令(第10行)将某两个面「暂时」合并(areas concatenation)为一个面。这里「暂时」的意思是这种「合并」并不是真的将两个lines或areas联集起来,而只是告诉ANSYS将两个lines或areas视为一个。

6.5.2 Auto-Meshing Commands

01 KMESH, NP1, NP2, NINC 02 LMESH, NL1, NL2, NINC 03 AMESH, NA1, NA2, NINC 04 VMESH, NV1, NV2, NINC 05 GCGEN, Ccomp, Tcomp

这些命令是要ANSYS去执行网格切割的工作。前面四个命令(KMESH、LMESH、AMESH、VMESH)比较容易了解,分别是对keypoints、lines、areas、volumes进行网格切割。VMESH通常产生3D元素,AMESH通常产生2D元素,LMESH通常产生1D元素(譬如BEAM3、LINK1等),KMESH事实上只是将质点元素(或称为0D元素,譬如MASS21)附着在keypoints上而已。

GCGEN命令(第5行),是去产生contact elements。两个表面之间可以去建立contact elements;计算时,ANSYS会去追踪这两个面之间是不是有接触在一起的,如果没有接触,那么这些contact elements就好像不存在一样,若有接触的话就会产生接触力。两个接触面其中一个叫contact surface,另一个叫target surface,GCGEN是在两个接触面间自动去建立这些contact elements ,通常程序如下:先分别把contact surface和target surface上面的nodes选出来作为两个components,再用GCGEN命令并输入 contact surface 的component name(Ccomp)和target surface 的component name(Tcomp)。

164 第6章 ANSYS命令:前處理

因篇幅问题不能全部显示,请点此查看更多更全内容

Top