ANSYS命令前处理.docx
- 文档编号:30221040
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:19
- 大小:61KB
ANSYS命令前处理.docx
《ANSYS命令前处理.docx》由会员分享,可在线阅读,更多相关《ANSYS命令前处理.docx(19页珍藏版)》请在冰豆网上搜索。
ANSYS命令前处理
第6章
ANSYS命令:
前处理
ANSYSCommands:
Preprocessing
这一章我们要介绍preprocessing命令。
Figure5-2中我们把preprocessing的命令区分成solidmodeling、elementattributes、meshgeneration三大类;Solidmodeling可以使用bottom-up及top-down两种方法,所以我们依此将命令分为两类;meshinggeneration则可以使用directgeneration或automeshing两种方法,所以我们也依此将命令分为两类。
如此,preprocessing的命令分为5类,分述于5节中:
第1节是SolidModeling:
Bottom-UpApproach,第2节是SolidModeling:
Top-DownApproach,第3节是ElementAttributesCommands,第4节是MeshGeneration:
DirectGeneration,第5节是MeshGeneration:
AutoMeshing。
第6.1节建立实体模型:
Bottom-UpApproach
SolidModeling:
Bottom-UpApproach
6.1.1KeypointsCommands
01
02
03
K,NPT,X,Y,Z
KLIST,NP1,NP2,NINC
KPLOT,NP1,NP2,NINC
K命令(第1行)是去建立一个keypoint,NPT是这个keypoint的编号,X,Y,Z是坐标值(参照目前的ActiveCS)。
再次提醒你,在ANSYS中的命令说明书中或文字输出时,坐标一律以X,Y,Z来表示,可是它们并不一定表示直角坐标;如果是圆柱坐标的话(Figure5-7b),X,Y,Z必须解释成R,,Z;如果是圆球坐标的话,X,Y,Z必须解释成R,,,依此类推。
KLIST(第2行)是以文字方式列出你所定义的keypoints,列出的坐标值是参照目前的DisplayCS。
KPLOT(第3行),把这些keypoints画出来(在grapgicswindow);不过当这些keypoints被画出来时,通常只是一些小点,肉眼很难辨识,所以最好是在每个点的旁边再标出编号(在KPLOT命令之前使用/PNUM命令)。
6.1.2LinesCommands
01
02
03
04
05
06
07
08
L,P1,P2,NDIV,SPACE
CIRCLE,PCENT,RAD,PAXIS
LARC,P1,P2,PC,RAD
LFILLT,NL1,NL2,RAD
SPLINE,P1,P2,...,P6,...
BSPLIN,P1,P2,...,P6,...
LLIST,NL1,NL2,NINC
LPLOT,NL1,NL2,NINC
L命令(第1行)是定义一线段,起迄点是编号P1及P2的keypoints。
当你定义此线段时,你可以利用参数NDIV及SPACE去顺便告诉ANSYS:
将来切割元素时,这个线段切割成NDIV段,及切割的spaceratio。
所谓spaceratio是切割后,最后一段与第一段长度的比值;换句话说,spaceratio小于1时,沿着线段切割是越来越细;反之,spaceratio大于1时,沿着线段切割是越来越粗。
但你在使用L命令时,并不一定要输入这些参数(NDIV及SPACE),你可以在完成solidmodeling以后,再来处理这些meshing的事情。
L命令是定义一线段,但是并不一定是直线段,而是依当时的ActiveCS而定:
当使用直角坐标时的却是直线,但若是使用其它的CS,则不一定是直线,比如说在圆柱坐标时,就可能是一条曲线。
广泛而言,L命令在P1(假设坐标是X1,Y1,Z1)与P2(假设坐标是X2,Y2,Z2)两个点之间是如此产生线段的:
当X坐标由X1增加至X2的同时,Y坐标也是由Y1增加至Y2,Z坐标也是由Z1增加至Z2。
想象X1=X2,Z1=Z2的情形,在直角坐标系统下,L,P1,P2是一条平行于y轴的直线,而在圆球坐标下,L,P1,P2是一圆弧。
CIRCLE命令(第二行)可以用来定义一个圆,PCENT是圆心,RAD是指半径;如果该圆不是在X-Y平面的话,还要输入PAXIS去定义通过圆心的轴,PAXIS省略的话,内定的圆心轴是垂直于WP。
LARC(第三行)是去定义一个圆弧,圆弧的起点P1、终点P2,半径是RAD;但是这三个数据会定义出两个可能的圆弧,PC是用来定义圆弧的凹方向是在那一边。
LFILLT(第4行)是在NL1及NL2两个lines之间产生一个半径是RAD的圆角
SPLINE及BSPLIN两个命令(第5、6行)都是在产生称为splines的圆滑曲线,通过P1、P2、…、P6等最多六个点。
这两个命令不一样的地方在于,SPLINE命令产生出来的曲线是许多独立的线段,而BSPLIN命令产生出来的是单一的曲线。
两个命令的最后还有几个参数可以去指定曲线头尾的斜率。
LLIST命令(第7行)把所定义的lines打印出来。
LPLOT命令(第8行)是把所定义的lines画出来。
6.1.3AreasCommands
01
02
03
04
05
06
07
A,P1,P2,...,P18
AL,L1,L2,...,L10
ADRAG,NL1,...,NL6,NLP1,...,NLP6
AROTAT,NL1,...,NL6,PAX1,PAX2,ARC
AFILLT,NA1,NA2,RAD
ALIST,NA1,NA2,NINC
APLOT,NA1,NA2,NINC
A命令(第1行)是由keypoints来定义一个area,这些keypoints必须在一个平面上(当使用非直角坐标系统时,所谓「平面」是广义的,请参阅Ref.5),输入时必须依顺时针或逆时针的顺序,这个顺序也用来决定area的「正面」方向(依右手规则)。
Keypoints间一般会以「直线」连接,但是如果keypoints间已经有lines存在,则以现存lines作为area的边界。
AL命令(第2行)是由lines去定义一个area,亦即用这些lines去围成一个area;这些lines必须在一个「平面」上,顺序可以任意排列,但是必须要有意义,比如没有连接在一起,或是互相横跨,这些都会出现错误讯息,基本上这些lines必须要形成一个simplyconnectedclosedcurve。
我们知道一条线段往某一方向拖拉(drag)可以「扫」(sweep)出一个area出来。
ADRAG命令(第3行)就是基于这种构想来产生一个area;NL1,NL2等连接线段定义出欲被拖拉的线段,而NLP1,NLP2等定义出拖拉的路径。
AROTAT命令(第4行)和ADRAG类似,但是AROTAT是对着某一轴做旋转来产生一个area,PAX1和PAX2两个keypoints定义出旋转轴(方向依右手规则),ARC(度)则定义其旋转角度。
关于ADRAG与AROTAT有一点特别要强调的:
这些欲被拖拉或旋转的lines上,如果已经有定义了elements,那么这些1D的elements也会随着「长」成2D的elements,关于这点,我们在解说VDRAG及VROTAT命令时再举例说明可能会比较清楚。
通常由1D的元素「长」成2D元素的应用比较少,而由2D的元素「长」成3D元素的应用比较多。
AFILLT命令(第5行)是在两个areas间去产生一个圆角面。
ALIST命令(第6行)把所定义的areas打印出来。
APLOT命令(第7行)是把所定义的area画出来。
6.1.4VolumesCommands
01
02
03
04
05
06
07
08
09
V,P1,P2,...,P8
VA,A1,A2,...,A10
VOFFST,NAREA,DIST
VEXT,NA1,NA2,NINC,DX,DY,DZ,RX,RY,RZ
VDRAG,NA1,...,NA6,NLP1,...,NLP6
VROTAT,NA1,...,NA6,PAX1,PAX2,ARC
VSWEEP,VNUM,SRCA,TRGA,LSMO
VLIST,NV1,NV2,NINC
VPLOT,NV1,NV2,NINC
V命令(第1行)是由keypoints来定义一个volume。
VA命令(第2行)则是由areas定义一个volume,当然这些areas必须形成一个封闭的边界。
想象一个area往某一方向偏移(offset)、挤出(extrude)、拖拉(drag)、或对着某一轴旋转,可以「扫」(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。
一般使用这个方法来产生网格的程序如下[5.2.5.1.ExtrudingVolumes,Ref.19]:
(一)使2D的MESH200元素将欲被偏移、挤出、拖拉、或旋转的areas先做网格切割,
(二)使用TYPE命令去选用适当的3D元素型态,(三)使用ESIZE命令去指定沿着偏移、挤出、拖拉、或旋转方向的元素数目,(四)使用VOFFST、VEXT、VDRAG、或VROTAT命令。
在以后的章节中,我们会透过练习来说明这个方法的使用。
注意,使用这个方法来产生3D网格时,volume和mesh是一起产生的。
但是在许多工业应用的实例上,solidmodel是在ANSYS之外建构完成再输入ANSYS做切割的工作;很明显的VOFFST、VEXT、VDRAG、或VROTAT命令无法用在这种场合。
VSWEEP命令即是为此而设计的命令,详细说明请自行参阅说明书[Ref.5]。
VLIST命令(第8行)把所定义的volumes打印出来。
VPLOT命令(第9行)是把所定义的volumes画出来。
第6.2节建立实体模型:
Top-DownApproach
SolidModeling:
Top-DownApproach
6.2.1PrimativesCommands
01
02
03
04
05
06
07
RECTNG,X1,X2,Y1,Y2
PCIRC,RAD1,RAD2,THETA1,THETA2
RPOLY,NSIDES,LSIDE,MAJRAD,MINRAD
BLOCK,X1,X2,Y1,Y2,Z1,Z2
CYLIND,RAD1,RAD2,Z1,Z2,THETA1,THETA2
SPHERE,RAD1,RAD2,THETA1,THETA2
TORUS,RAD1,RAD2,RAD3,THETA1,THETA2
以上列出了你可能会用到的primitives的命令,所谓primitives是指一些基本的几何形状(2D或3D),这些基本的形状经由联集、交集、差集的运算,可以建构出solidmodel。
这种「由上而下」的solidmodeling方法又称为建构式实体几何法(constructivesolidgeometry)。
相对的,第6.1节所描述的,由keypoints、lines、areas、到volumes这种「由下而上」的方法又称为边界表示法(boundaryrepresentation)。
前面3个命令是2D的几何形状,而后面4个命令是3D的几何形状。
所有primitives命令的坐标系统都是参照WP。
RECTNG(第1行)是产生一个长方形面积。
PCIRC(第2行)是定义一个圆心在WP原点上的圆形或扇形面积,并且也可以是有外径、内径的「甜甜圈」。
RPOLY(第3行)是定义一个中心在WP原点上的正多边形面积,几个边是由NSIDES决定,第一个顶点是在X轴上面,然后逆着时针方向去产生其他顶点。
你有三个方式来定义这个正多边形:
(一)你可以指定每一个边的长度LSIDE,
(二)你可以指定外接圆半径MAJRAD,(三)或是指定内切圆半径MINRAD;这三个方法只能选其中一种。
BLOCK(第4行)是去定义一个长方体。
CYLIND(第5行)是去定义一个以WP的Z轴为中心的圆柱体,可以是有内径、外径的圆管,也可以是未满360度的扇形柱。
SPHERE(第6行)是定义一个圆心在WP原点上的圆球,这个圆球可以是有内径和外径的球壳。
TORUS(第7行)是像游泳圈或甜甜圈的东西,中心是在原点上,majorcircle座落在WP的X-Y平面上。
你必须输入3个半径(任何次序都可以),由大至小分别是majorradius、outerminorradius、及innerminorradius(Figure6-1)。
Figure6-1Torus
6.2.2BooleansCommands
01
02
03
04
05
06
07
08
09
10
11
12
13
14
AADD,NA1,NA2,...,NA9
AINA,NA1,NA2,...,NA9
AINV,NA,NV
ASBA,NA1,NA2,SEPO,KEEP1,KEEP2
ASBL,NA,NL,,KEEPA,KEEPL
ASBV,NA,NV,SEPO,KEEPA,KEEPV
AGLUE,NA1,NA2,...,NA9
AOVLAP,NA1,NA2,...,NA9
VADD,NV1,NV2,...,NV9
VINV,NV1,NV2,...,NV9
VSBV,NV1,NV2,SEPO,KEEP1,KEEP2
VSBA,NV,NA,SEPO,KEEPV,KEEPA
VGLUE,NV1,NV2,...,NV9
VOVLAP,NV1,NV2,...,NV9
你所定义的areas及volumes(无论是否用primitives命令建构的),都可以拿来做boolean运算。
Booleans运算一般虽是指两个操作数(operands)间的联集(union)、交集(intersection)、差集(difference)等运算,但是ANSYS做了很多延伸,操作数也不限制在两个。
前面8个命令是areas的运算,后面6个命令是volumes的运算。
当我们在使用这些命令时要注意一个问题:
areas或volumes被运算之后会产生一个新的area或volume出来,那么这些被运算的「旧」的areas或volumes会何去何从呢?
一般而言,内定是会被删除掉的,但是可以透过适当的选项来保留它们(参阅BOPTN,Ref.5)。
AADD(第1行)读成areasaddition,是指areas的联集;这些areas(必须共平面)联集起来后形成一个新的area,被联集areas内定是会被删除掉。
AINA(第2行)读成areaintersectsarea,是几个areas间的交集。
AINV(第3行)读成areaintersectsvolume,是一个area和一个volume间的交集,正常情况下其结果是一个area,但还是有可能是一个line、keypoint、或是空集合。
第4、5、6个命令分别是一个area和另一个area、line、或volume的差集。
ASBA(第4行)读成areasubtractarea,是一个area减去另一个area(也就是第一个area减去两个areas的交集),其结果可能是一个area(当两个areas交集是一个area时)、或是两个areas(当两个areas交集是一个line时)。
当运算的结果是两个areas时,SEPO是用来决定这两个areas是独立的(各有其边界线)还是连续的(共享一个边界线)。
KEEP1及KEEP2两个参数是来决定这两个旧的areas是不是要保留着或删除掉。
ASBL(第5行)读成areasubtractline,是一个area减掉一个line,其结果正常情况下是两个areas;KEEPA,KEEPL是来决定旧有的area及line是否要保留或删除。
ASBV(第6行)读成areasubtractvolume,是一个area减掉一个volume,正常的情况下结果应该是一个area。
AGLUE(第7行)读成areasglue,是将几个areas「黏接」起来;这听起来有点像联集,不过这些areas的边界线必须要是紧邻的才能「黏接」起来。
这个运算事实上只是将独立但重迭的两条以上的边界线删除到剩下一条,也就是共享边界线。
AOVLAP(第8行)读成areasoverlap。
所产生的area包含了所有被overlap的areas,两两之间的交集部分及不与任何其他areas交集的部分。
第9行至第14行是volumes的boolean运算,这些和areas的boolean运算都很类似,在此不再详细讨论。
第6.3节元素属性命令
ElementAttributesCommands
6.3.1元素属性表
Figure6-2ElementsAttributesTables
假设现在你有一solidmodel要做网格切割(meshing)的工作,在切割之前必须指定所产生的elements的属性(attributes)。
所谓attributes是指:
elementtype是哪一种的?
materialproperty是哪一种的?
若有realconstant的话,那是哪一种的?
若需要elementCS,那会是哪一种的?
Figure6-2代表ANSYS数据库是如何纪录所有elements的数据的。
Figure6-2下面的「元素数据」表中记载着每一个element的节点号码(这些节点的坐标纪录在一个「节点资料」表中)、elementtype(ET)是哪一种的、coordinatesystem(CS)是哪一种的、materialproperty(MP)是哪一种的、realconstant(R)是哪一种的。
譬如编号第一号的element,它的elementtype是ETtable中的第1号,coordinatesystem是CStable中的第0号,materialproperty是MPtable中的第1号,而realconstant是Rtable中的第1号。
以上说明了元素属性表(elementsattributestables)的角色:
在指定元素属性前,我们必须要先建立这些elementsattributestables,包括ETtable、MPtable、Rtable、及CStable。
这些属性表除了CStable是从0开始编号外,其他属性表都是从1号开始的。
6.3.2ETTableCommands
01
02
03
ET,ITYPE,Ename,KOP1,KOP2,...,KOP6
KEYOPT,ITYPE,KNUM,VALUE
ETLIST,ITYP1,ITYP2,INC
ET命令(第1行)是在ETtable中定义一种elementtype,ITYPE是ETtable内的编号,ENAME是ANSYS专用的elementname[Ref.6],譬如说SOLID45,或是简写成45就可以了。
最后这些KEYOPT是元素的选项(keyoptions),经由适当的输入,你可以对这个元素型态做适当的修改,去符合你的需要,这些keyoptions都列在元素的说明内[Ref.6]。
譬如SOLID45的第4个keyoption让你选择ElementCS,第5、6个keyoptions让你选择额外的应力应变输出(存在jobname.RST)。
Keyoptions常常是使用某一元素时最困难的主题之一,而且有些元素的keyoptions有很多。
ET命令中最多只能输入到第6个keyoptions,如果你要输入第7个以上时,KEYOPT命令(第2行)可以让你来输入这些keyoptions。
ETLIST命令(第3行)可以将你所建立的ETtable以文字方式打印出来,供你检视是否输入正确。
6.3.3MPTableCommands
01
02
03
04
05
06
07
08
MP,Lab,MAT,C0,C1,C2,C3,C4
MPLIST,MAT1,MAT2,INC
TB,Lab,MAT,NTEMP,NPTS
TBTEMP,TEMP
TBDATA,STLOC,C1,C2,C3,C4,C5,C6
TBPT,,X,Y
TBLIST,Lab,MAT
TBPLOT,Lab,MAT
以上是有关MPtable的命令,如果是线性的问题,无论是结构分析还是热分析,只要用到前两个命令(MP及MPLIST)就可以了。
MP(第1行)是在MPtable中定义一种材料(编号是MAT)的某一个性质(由Lab指定,譬如EX、NUXY等),其值由C0、C1、C2、C3、C4来决定:
若此值与温度无关则输入C0就可以了;若此值与温度(T)有关,这个命令容许你以T的多项式(最多4次式)来表示此值,亦即C0+C1xT+C2xT2+C3xT3+C4xT4。
MPLIST(第2行)是把MPtable的以文字方式列信出来。
如果要定义一种非线性材料性质,除了MP外还必须使用到其他命令;基本的观念是:
必须完整的描述出应力与应变的关系曲线,必要的话不同的温度下输入不同的应力应变曲线。
TB命令(第3行)是用来作为描述这些应力应变曲线的第一个命令,MAT是MPtable上的编号,Lab是材料模式名称(譬如BKIN等,请参阅TB,Ref.5及Sec.2.5,Ref.6),NTEMP是指定接下来要输入多少应力应变曲线(每一曲线代表一个温度)。
不同的材料模式需要输入不同的数据来描述应力应变关系,譬如BKIN材料模式需要输入Young’smodulus、Poisson’sratio、Shearmodulus(任选两者输入即可;使用MP命令输入)、Tangentmodulus、及Yieldstres
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ANSYS 命令 处理