ansys有限元分析软件-第八章APDL基础-xia

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

有限元分析软件ANSYS中国矿业大学(北京)夏昌敬APDL基础•APDL(ANSYSParametricDesignLanguage)是ANSYS参数化设计语言的的缩写,它是一种允许使用参数并能完成一系列任务的强大的程序语言。•使用APDL,您可以:–用参数而不是用数值输入模型尺寸,材料类型等。–从ANSYS数据库中获取信息,比如节点位置或最大应力。–在参数中进行数学运算,包括矢量和矩阵运算。–把常用的命令或宏定义成缩写形式。–建立一个宏使用if-then-else分支和do循环等来执行一系列任务。APDL基础概述APDL基础A.定义参数•用以下格式定义参数Name=Value–可以在输入窗口或标量参数对话框中输入(UtilityMenuParametersScalarParameters...)–参数名不能超过8个字符。–值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串(用单引号括住)。•例子:inrad=2.5outrad=8.2numholes=4thick=outrad-inrade=2.7e6density=0.283bb=cos(30)pi=acos(-1)g=386massdens=density/gcircumf=2*pi*radarea=pi*r**2dist=sqrt((y2-y1)**2+(x2-x1)**2)slope=(y2-y1)/(x2-x1)theta=atan(slope)jobname=‘proj1’用*SET看有用参数列表APDL基础...定义参数APDL基础...定义参数•以上例子是关于标量参数的,它只有一个值—数字或者字符。•ANSYS也提供数组参数,它有若干个值。数字数组和字符数组都是有效的。28.7-9.2-2.151.00.0xvalues=job1job2job3job4job5filnam=一些命名规则:•参数名不超过8个字符,并以字母开头。•参数名中只能出现字母,数字和下划线。•避免以下划线开头,这在ANSYS中另有它用。•参数名不分大小写,如“RAD”和“Rad”是一样的。所有的参数都以大写形式存储。•避免使用ANSYS标识,如STAT,DEFA,和ALL。APDL基础...定义参数APDL基础B.使用参数•使用参数时,只需在对话框中或通过命令输入参数名就行了。•例如,利用参数定义一个w=10,h=5的矩形,–您可以使用以下菜单:PreprocessorCreateRectangleBy2Corners+–或命令:/prep7*SET,W,15*SET,H,20blc4,,,w,hAPDL基础...参数的用法注意:•当使用参数时,ANSYS将立刻把参数名换为它的值。上一个例子中的矩形将被存为10x5,而不是wxh。也就是说,如果你在生成矩形后再改变w或h的值,矩形将不被修改。•其它一些关于参数用法的例子:jobname=‘proj1’/filnam,jobname!作业名/prep7youngs=30e6mp,ex,1,youngs!杨氏模量force=500fk,2,fy,-force!2号关键点的力fk,6,fx,force/2!6号关键点的力APDL基础...参数的用法•从数据库中获取信息并给参数赋值,使用*GET命令或UtilityMenuParametersGetScalarData...•对获取大量信息是很有用的,包括模型和结果数据,请参看*GET命令的详细资料。APDL基础C.从数据库中获取信息•例子:*get,x1,node,1,loc,x!x1=节点1的x坐标[CSYS]*/post1*get,sx25,node,25,s,x!sx25=节点25的x方向应力[RSYS]**get,uz44,node,44,u,z!uz44=节点44的UZ方向的位移[RSYS]*nsort,s,eqv!对节点的vonMises应力排序*get,smax,sort,,max!smax=排序的最大值etable,vol,volu!用vol存储单元体积ssum!对单元表的列求和*get,totvol,ssum,,vol!totvol=对vol的列求和*CSYS=激活坐标系(CSYS)RSYS=激活的结果坐标系(RSYS)APDL基础...从数据库中获取信息•一些数据可以通过函数获取。例如:x1=nx(1)!x1=节点1的x坐标[CSYS]*nn=node(2.5,3,0)!nn=在(2.5,3,0)处的节点[CSYS]*/post1ux25=ux(25)!ux25=25号节点的UX值[RSYS]*temp93=temp(93)!temp93=节点93的温度值width=distnd(23,88)!width=23号节点和88号节点间的距离*CSYS=激活坐标系(CSYS)RSYS=激或的结果坐标系(RSYS)APDL基础...从数据库中获取信息•在一些地方您可以直接取函数值,就象用一个参数一样。例如:k,10,kx(1),ky(3)!10号关键点x坐标取1号关键点的x坐标,y坐标取!3号关键点的y坐标k,11,kx(1)*2,ky(3)![CSYS]*f,node(2,2,0),fx,100!在节点(2,2,0)施加力FX[CSYS]**CSYS=激活坐标系(CSYS)APDL基础...从数据库中获取信息APDL基础概要:•利用格式Name=Value定义参数.•参数值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串。•利用*GET命令或函数从ANSYS数据库中获取信息。•ANSYS存储的是参数的实际值(数字或字符串),而不是参数名。2.数组参数•数组参数是能够容纳多个值的参数•数组参数可以是1-D,2-D,or3-D.–1-D:m行x1列–2-D:m行xn列–3-D:m行xn列xk面17.1-47.6-5.225.0107.9814173861057-477041033-52348714125-666221071115x1array5x3arraymxnx3arrayAA=BB=CC=•有三种数组参数类型:–数值数组–表–字符数组•数值数组是标准的1-D,2-D,或3-D数值矩阵,如下面的BB–BB(2,3)=704–BB(3,1)=1033–等.814173861057-477041033-52348714125-666221071115x3arrayBB=数组参数A.数组参数的类型•数据表除了行、列、面可以是实数外与数值数组类似。–第零行、零列、零面必须填充数字。–对定义随时间变化的载荷和类似情况非常有用–例如,表FORCE可以表示力随时间的变化关系,第零行表示时间值。•FORCE(0.4)=279.9996•FORCE(6.5)=560.0•FORCE(8.9)=119.25•等数组参数...数组参数的类型数组参数...数组参数的类型•一个字符型数组是1-D,2-D,或3-D的字符串矩阵–可用来存放文件名,自由度标识等–每个字符串不超过8个字符。JOB1JOB2JOB3JOB4JOB5jobs=UXUYUZROTYROTZdofs=定义数组的步骤:1.指定类型和维数–UtilityMenuParametersArrayParametersDefine/EditAdd–或使用*DIM命令.例如:*dim,aa,array,4!4x1x1array*dim,force,table,5!5x1x1table*dim,bb,array,5,3!5x3x1array*dim,dofs,char,6!6x1x1characterarray数组参数B.怎样定义数组2.给数组赋值–UtilityMenuParametersArrayParametersDefine/EditEdit–或使用*VEDIT命令–或使用“=”命令.例如:bb(1,1)=11,21,31,41,51bb(1,2)=12,22,32,42,52bb(1,3)=13,23,33,43,53数组参数...怎样定义数组•对于表型数组,必须定义第0位置。否则,取缺省值7.8886E-31.–例如:force(1,1)=0,560,560,238.5,0force(1,0)=1E-6,0.8,7.2,8.5,9.3force(0,1)=0数组参数...怎样定义数组•对字符数组,不能以图形方式填充字符串–使用“=”命令键入值,接着用*STAT显示字符串–每个字符串必须用单引号括起来–例如:dofs(1)=‘ux’,‘uy’,‘uz’,‘rotx’,‘roty’,‘rotz’*stat,dofs数组参数...怎样定义数组•给数组赋值的其他方法:–用*VFILL命令或(UtilityMenuParametersArrayParametersFill)预定义函数赋值•跃阶函数•随机函数•等–从一个文件读入数据:•*VREAD用于数值数组•*TREAD用于数据表•或UtilityMenuParametersReadfromFile–从数据库获取数组参数...怎样定义数组•正如*GET从数据库获取标量数据,可以用*VGET获取数组信息.–或UtilityMenuParametersGetArrayData•先定义数组,然后获取数据.•例如:*dim,dispval,array,20,3!20x3array*vget,dispval(1,1),node,1,u,x!UXofnodes1-20incolumn1*vget,dispval(1,2),node,1,u,y!UYincolumn2*vget,dispval(1,3),node,1,u,z!UZincolumn3数组参数C.获取数据库信息•其他可获取的数组信息类型:–节点和关键点坐标(当前坐标系)–单元属性,体,面等.–实体的选择状态(1选上,0未选上)–节点应力,应变,温度梯度,热通量等–单元表数据–等…数组参数…获取数据库信息•一旦定义了数组参数,就可以对它们进行各种操作–UtilityMenuParametersArrayOperations–或使用*VFUN,*VOPER,*VSCFUN,*VWRITE等命令数组参数D.数组操作数组参数...数组操作•*VFUN对单个数组操作–*vfun,b(1),sin,a(1)等价于b(j)=sin(a(j))–其他操作包括:•自然对数,常用对数,指数•平方根,排序,复制•局部坐标系与整体坐标系的相互转换关系•路径的切线和法线矢量•等•*VOPER对两个数组参数操作。–*voper,c(1),a(1),sub,b(1)等价于c(k)=a(k)-b(k)–其它操作包括:•加,减,乘,除•最小值,最大值,逻辑运算•微分,积分•点积和叉积数组参数...数组操作•*VSCFUN定义数组参数的属性。–*vscfun,maxval,max,a(1)等价于一个标量maxval=max(a(i))–其它操作包括:•求数组的所有元素的和•诸如标准偏差,中值,平均数等统计量•最小值/最大值,最小值/最大值的位置•第一个和最后一个非零记录的位置数组参数...数组操作•*VWRITE把数据按格式写进文件–例如:*cfopen,wing,dat*vwrite(/,3x,’NodeNumber’,4x,’Temperature’,/)*vwrite,nnum(1),tval(1)(5x,f6.0,6x,e14.8)*cfclose将会创建一个名为wing.dat的文件,包含指定格式的nnum和tval数组数组参数...数组操作数组参数...数组操作•还有大量很有用的数组操作。•请参考APDL程序员指南获取详细情况.•APDL(ANSYS参数设计语言)最强有力的特征之一是创建宏的能力。•宏就是一系列贮存在一个文件中的ANSYS命令,并且能象一个ANSYS命令一样来运行。•常用宏功能:–它可以如同ANSYS命令一样具有变量。–分支和循环用来

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功