ansys第八章APDL基础实用教案

上传人:大米 文档编号:571137011 上传时间:2024-08-08 格式:PPT 页数:46 大小:1.74MB
返回 下载 相关 举报
ansys第八章APDL基础实用教案_第1页
第1页 / 共46页
ansys第八章APDL基础实用教案_第2页
第2页 / 共46页
ansys第八章APDL基础实用教案_第3页
第3页 / 共46页
ansys第八章APDL基础实用教案_第4页
第4页 / 共46页
ansys第八章APDL基础实用教案_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《ansys第八章APDL基础实用教案》由会员分享,可在线阅读,更多相关《ansys第八章APDL基础实用教案(46页珍藏版)》请在金锄头文库上搜索。

1、APDL(ANSYSParametricDesignLanguage)是ANSYS参数化设计语言的的缩写,它是一种允许使用参数并能完成一系列任务的强大的程序语言。使用APDL,您可以:用参数而不是用数值输入模型尺寸(chcun),材料类型等。从ANSYS数据库中获取信息,比如节点位置或最大应力。在参数中进行数学运算,包括矢量和矩阵运算。把常用的命令或宏定义成缩写形式。建立一个宏使用if-then-else分支和do循环等来执行一系列任务。APDL基础(jch)概述第第2页页/共共45页页第1页/共45页第一页,共46页。APDL基础A.定义(dngy)参数用以下格式定义参数(cnsh)Name

2、=Value可以在输入窗口或标量参数(cnsh)对话框中输入(UtilityMenuParametersScalarParameters.)参数(cnsh)名不能超过8个字符。值可以是一个数值,一个以前定义过的参数(cnsh),一个函数,一个参数(cnsh)表达式,或者一个字符串(用单引号括住)。第第3页页/共共45页页第2页/共45页第二页,共46页。例子(lzi):inrad=2.5outrad=8.2numholes=4thick=outrad-inrade=2.7e6density=0.283bb=cos(30)pi=acos(-1)g=386massdens=density/gcir

3、cumf=2*pi*radarea=pi*r*2dist=sqrt(y2-y1)*2+(x2-x1)*2)slope=(y2-y1)/(x2-x1)theta=atan(slope)jobname=proj1用 *SET 看有用参数(cnsh)列表APDL基础.定义(dngy)参数第第4页页/共共45页页第3页/共45页第三页,共46页。APDL基础(jch).定义参数以上例子是关于标量参数的,它只有一个值数字或者字符(zf)。ANSYS也提供数组参数,它有若干个值。数字数组和字符(zf)数组都是有效的。28.7-9.2-2.151.00.0 xvalues =job1job2job3job4

4、job5 filnam =第第5页页/共共45页页第4页/共45页第四页,共46页。一些命名规则:参数名不超过8个字符,并以字母开头。参数名中只能出现字母,数字和下划线。避免以下划线开头,这在ANSYS中另有它用。参数名不分大小写,如“RAD”和“Rad”是一样的。所有的参数都以大写(dxi)形式存储。避免使用ANSYS标识,如STAT,DEFA, 和ALL。APDL基础(jch).定义参数第第6页页/共共45页页第5页/共45页第五页,共46页。APDL基础(jch)B.使用参数使用参数时,只需在对话框中或通过命令输入(shr)参数名就行了。例如,利用参数定义一个w=10,h=5的矩形,您可

5、以使用以下菜单:PreprocessorCreateRectangleBy2Corners+或命令:/prep7*SET,W,15*SET,H,20blc4,w,h第第7页页/共共45页页第6页/共45页第六页,共46页。APDL基础.参数(cnsh)的用法注意:当使用参数时,ANSYS将立刻把参数名换为它的值。上一个(y)例子中的矩形将被存为10x5,而不是wxh。也就是说,如果你在生成矩形后再改变w或h的值,矩形将不被修改。第第8页页/共共45页页第7页/共45页第七页,共46页。其它一些(yxi)关于参数用法的例子:jobname=proj1/filnam,jobname!作业名/pre

6、p7youngs=30e6mp,ex,1,youngs!杨氏模量force=500fk,2,fy,-force!2号关键点的力fk,6,fx,force/2!6号关键点的力APDL基础.参数(cnsh)的用法第第9页页/共共45页页第8页/共45页第八页,共46页。从数据库中获取信息并给参数赋值,使用*GET命令或UtilityMenuParametersGetScalarData.对获取大量信息是很有用的,包括模型和结果( jigu)数据,请参看*GET命令的详细资料。APDL基础(jch)C.从数据库中获取信息第第10页页/共共45页页第9页/共45页第九页,共46页。例子:*get,x1

7、,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=激活( jhu)坐标系(CSYS)RSYS=激活( jhu)的结果坐标系(RSYS

8、)APDL基础(jch).从数据库中获取信息第第11页页/共共45页页第10页/共45页第十页,共46页。一些数据可以通过函数获取。例如:x1=nx(1)!x1=节点( jidin)1的x坐标CSYS*nn=node(2.5,3,0)!nn=在(2.5,3,0)处的节点( jidin)CSYS*/post1ux25=ux(25)!ux25=25号节点( jidin)的UX值RSYS*temp93=temp(93)!temp93=节点( jidin)93的温度值width=distnd(23,88)!width=23号节点( jidin)和88号节点( jidin)间的距离*CSYS=激活坐标系

9、(CSYS)RSYS=激或的结果坐标系(RSYS)APDL基础(jch).从数据库中获取信息第第12页页/共共45页页第11页/共45页第十一页,共46页。在一些地方(dfng)您可以直接取函数值,就象用一个参数一样。例如: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)施加力FXCSYS*CSYS=激活坐标系(CSYS)APDL基础(jch).从数据库中获取信息第第13页页/共共45页页第12页/共45页第十二页,共46页。AP

10、DL基础(jch)概要:利用格式Name=Value定义参数(cnsh).参数(cnsh)值可以是一个数值,一个以前定义过的参数(cnsh),一个函数,一个参数(cnsh)表达式,或者一个字符串。利用*GET命令或函数从ANSYS数据库中获取信息。ANSYS存储的是参数(cnsh)的实际值(数字或字符串),而不是参数(cnsh)名。第第14页页/共共45页页第13页/共45页第十三页,共46页。2.数组参数(cnsh)数组参数(cnsh)是能够容纳多个值的参数(cnsh)数组参数(cnsh)可以是1-D,2-D,or3-D.1-D:m行x1列2-D:m行xn列3-D:m行xn列xk面17.1-

11、47.6-5.225.0107.9814173861057 -477041033 -52348714125-666221071115x1 array5x3 arraymxnx3 arrayAA =BB =CC =第第15页页/共共45页页第14页/共45页第十四页,共46页。有三种数组参数类型:数值数组表字符数组数值数组是标准(biozhn)的1-D,2-D,或3-D数值矩阵,如下面的BBBB(2,3)=704BB(3,1)=1033等.814173861057 -477041033 -523487141 25-666221071115x3 arrayBB =数组参数(cnsh)A.数组参数(

12、cnsh)的类型第第16页页/共共45页页第15页/共45页第十五页,共46页。数据表除了行、列、面可以是实数外与数值数组类似。第零行、零列、零面必须填充数字。对定义(dngy)随时间变化的载荷和类似情况非常有用例如,表FORCE可以表示力随时间的变化关系,第零行表示时间值。FORCE(0.4)=279.9996FORCE(6.5)=560.0FORCE(8.9)=119.25等数组参数(cnsh).数组参数(cnsh)的类型第第17页页/共共45页页第16页/共45页第十六页,共46页。数组参数(cnsh).数组参数(cnsh)的类型一个字符型数组是1-D,2-D, 或3-D的字符串矩阵可用

13、来存放文件名,自由度标识(biozh)等每个字符串不超过8个字符。JOB1JOB2JOB3JOB4JOB5jobs =UXUYUZROTYROTZdofs =第第18页页/共共45页页第17页/共45页第十七页,共46页。定义数组的步骤:1. 指定(zhdng)类型和维数UtilityMenuParametersArrayParametersDefine/EditAdd或使用*DIM命令.例如:*dim,aa,array,4!4x1x1array*dim,force,table,5!5x1x1table*dim,bb,array,5,3 !5x3x1array*dim,dofs,char,6

14、!6x1x1characterarray数组参数B.怎样(znyng)定义数组第第19页页/共共45页页第18页/共45页第十八页,共46页。2.给数组赋值UtilityMenuParametersArrayParametersDefine/EditEdit或使用*VEDIT命令(mnglng)或使用“=”命令(mnglng).例如:bb(1,1)=11,21,31,41,51bb(1,2)=12,22,32,42,52bb(1,3)=13,23,33,43,53数组参数(cnsh).怎样定义数组第第20页页/共共45页页第19页/共45页第十九页,共46页。对于表型数组,必须定义第0位置(w

15、izhi)。否则,取缺省值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数组参数.怎样(znyng)定义数组第第21页页/共共45页页第20页/共45页第二十页,共46页。对字符数组,不能以图形(txng)方式填充字符串使用“=”命令键入值,接着用*STAT显示字符串每个字符串必须用单引号括起来例如:dofs(1)=ux,uy,uz,rotx,roty,rotz*stat,dofs数组参数(cnsh).怎样定义数组第第22页页/共共45页页第21页/共45页第二十一页,共

16、46页。给数组赋值的其他方法:用*VFILL命令或(UtilityMenuParametersArrayParametersFill)预定义函数赋值跃阶函数随机函数等从一个文件(wnjin)读入数据:*VREAD用于数值数组*TREAD用于数据表或UtilityMenuParametersReadfromFile从数据库获取数组参数.怎样(znyng)定义数组第第23页页/共共45页页第22页/共45页第二十二页,共46页。正如*GET从数据库获取标量数据,可以(ky)用*VGET获取数组信息.或UtilityMenuParametersGetArrayData先定义数组,然后获取数据.例如:

17、*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数组参数(cnsh)C.获取数据库信息第第24页页/共共45页页第23页/共45页第二十三页,共46页。其他可获取的数组信息(xnx)类型:节点和关键点坐标(当前坐标系)单元属性,体,面等.实体的选择状态(1选上,0未选上)节点应力,应变,温度梯度,热通量等单元

18、表数据等数组参数获取(huq)数据库信息第第25页页/共共45页页第24页/共45页第二十四页,共46页。一旦定义了数组参数,就可以对它们进行( jnxng)各种操作UtilityMenuParametersArrayOperations或使用*VFUN,*VOPER,*VSCFUN,*VWRITE等命令数组参数(cnsh)D.数组操作第第26页页/共共45页页第25页/共45页第二十五页,共46页。数组参数(cnsh).数组操作*VFUN对单个数组操作*vfun,b(1),sin,a(1)等价于b(j)=sin(a(j)其他操作包括:自然对数,常用对数,指数平方根,排序(pix),复制局部坐

19、标系与整体坐标系的相互转换关系路径的切线和法线矢量等第第27页页/共共45页页第26页/共45页第二十六页,共46页。*VOPER对两个数组参数操作。*voper,c(1),a(1),sub,b(1)等价于c(k)=a(k)-b(k)其它操作包括(boku):加,减,乘,除最小值,最大值,逻辑运算微分,积分点积和叉积数组参数(cnsh).数组操作第第28页页/共共45页页第27页/共45页第二十七页,共46页。*VSCFUN定义数组参数的属性。*vscfun,maxval,max,a(1)等价于一个标量maxval=max(a(i)其它操作包括:求数组的所有元素的和诸如标准偏差,中值,平均数等

20、统计(tngj)量最小值/最大值,最小值/最大值的位置第一个和最后一个非零记录的位置数组参数(cnsh).数组操作第第29页页/共共45页页第28页/共45页第二十八页,共46页。*VWRITE把数据按格式写进文件例如(lr):*cfopen,wing,dat*vwrite(/,3x,NodeNumber,4x,Temperature,/)*vwrite,nnum(1),tval(1)(5x,f6.0,6x,e14.8)*cfclose将会创建一个名为wing.dat的文件,包含指定格式的nnum和tval数组数组参数(cnsh).数组操作第第30页页/共共45页页第29页/共45页第二十九页

21、,共46页。数组参数(cnsh).数组操作还有大量很有用(yuyn)的数组操作。请参考APDL程序员指南获取详细情况.第第31页页/共共45页页第30页/共45页第三十页,共46页。APDL(ANSYS参数设计语言)最强有力的特征之一是创建宏的能力。宏就是一系列贮存在一个文件中的ANSYS命令,并且能象一个ANSYS命令一样来运行。常用宏功能:它可以如同ANSYS命令一样具有( jyu)变量。分支和循环用来控制一系列命令。交互式特征如图形拾取,提示,以及对话框。宏可以嵌套一个宏引用第二个宏,第二个宏引用第三个宏,等等一直可嵌套20级。10.宏基础(jch)第第32页页/共共45页页第31页/共

22、45页第三十一页,共46页。宏基础(jch)在这一章,我们将给出创建宏的基本步骤:A创建一个宏B带参数的宏C分支D循环(xnhun)E总的指导方针F练习更多的细节,请参考APDL程序指南等第第33页页/共共45页页第32页/共45页第三十二页,共46页。创建一个宏,在文本编辑器中,创建一系列命令,并以文件名name.mac保存它们.name以一个字母开始,可以达32个字符。在文件名中空格不允许。避免特殊字符。确保name不是一个有效的ANSYS命令。可以在开始或所有处理器(PREP7,POST1,等等)中进行( jnxng)检验。如果得到这种信息.不是有效的命令或宏那么这个名字是“安全的”。扩

23、展名.mac允许你运行宏如同运行一个命令一样:只需敲入name。宏基础(jch)A.创建宏第第34页页/共共45页页第33页/共45页第三十三页,共46页。宏基础(jch)创建宏例子:宏totvolume.mac用来计算所有单元的整个体积:esel,all!选择所有单元etable,volume,volu!将所有单元体积建立( jinl)单元表ssum !求解单元表选项总和*get,totvol,ssum,item,volume!totvol=体积总和*stat,totvol!列totvol值在Post1(在求解之后)中发出totvolume来计算整个体积。第第35页页/共共45页页第34页/

24、共45页第三十四页,共46页。搜索路径:ANSYS首先在下列搜索路径中寻找文件name.mac并运行它:1ansys57/docu2在ANSYSMACROLIB环境变量路径中。3在WINDOWS系统中的注册路径。4当前工作路径。如果在上级路径和下级路径同时寻找到同样(tngyng)的文件名,则采用上级路径。宏基础(jch)创建宏第第36页页/共共45页页第35页/共45页第三十五页,共46页。通过特殊(tsh)的字符名,你可以创建多达20个参数的宏:NAME,arg1,arg2,arg3,ar10,ar11,ar12,ar20参数如同标准的ANSYS命令中的参数,可以为:数字字符(被包括在单引

25、号中)参数(标量或数组)参数表达式参数的意义由所定义的宏来决定。宏基础(jch)B.带参数的宏第第37页页/共共45页页第36页/共45页第三十六页,共46页。例如,我们可以(ky)定义宏totvolume.mac来计算指定类型的所有单元体积和:TOTVOLUME,TYPE宏具体如下:esel,s,type,arg1etable,volume,volussum*get,totvol,ssum,item,volume*vwrite,arg1,totvol(Totalvolumefortype,f4.0,elements=,f8.2)求解之后在通用后处理器中发出totvolume,1将得出下列结果

26、:宏基础(jch)带参数的宏第第38页页/共共45页页第37页/共45页第三十七页,共46页。注意:特殊的字符名ARG1ARG9和AR10AR99仅仅是局部参数,仅仅在该宏中有效。一旦宏运行结束后并返回ANSYS主程序,它们将无意义。避免在模型的其它地方(dfng)应用这些名称。无论何时应用参数时,一定通过在宏中包含注释来描述它们的意义。例如,下面在宏totvolume.mac的开始处的注释是非常有用的。!MacroTOTVOLUME.MACtocalculatetotalvolumeofelements!Usage: TOTVOLUME,TYPE.valid only in POST1 af

27、ter asolve!TYPE=validelementtypenumberesel,stype,arg1宏基础(jch)带参数的宏第第39页页/共共45页页第38页/共45页第三十八页,共46页。宏基础(jch)C.分支通过应用IFTHENELSE结构,在只有(zhyu)一定的条件满足的情况下,你可以运行一个命令或命令块。在*IF和*ELSEIF命令中,可以运用AND,OR,或XOR比较符。IF,A,EQ,B,AND,C,GT,D,THEN分枝以*IF开始和*ENDIF结束。*ELSEIF和*ELSE在它们中也可以使用:*if,x,eq,y,then,*elseif,x,eq,z,then,

28、*else,*endif第第40页页/共共45页页第39页/共45页第三十九页,共46页。条件符可能是:x,EQ,y!x=yx,NE,y!xyx,LT,y!xyx,LE,y!xyx,GE,y!xyx,ABLT,y!|x|y|X和Y可以是数字(shz),参数,或参数表达式。操作符为:THEN运行随后的命令块*EXIT退出DO循环(xnhun)*CYCLE跳到DO循环(xnhun)末端这些操作符只有当条件为真是才起作用。否则,ANSYS将会移至*ELSEIF(若提供),*ELSE(若提供),和*ENDIF。*if, x, eq, y, then宏基础(jch)分枝第第41页页/共共45页页第40页

29、/共45页第四十页,共46页。例如,你可以(ky)在宏totvolume.mac中增加if-test来测试输入的变量是的有效性:*if,arg1,lt,1,then!如果ARG1小于1*msg,warn !发出一个警告Elementtypenumbermustbe1orgreater!退出宏/eofesel,s,type,arg1 !选择所有确定类型的单元etable,volume,volu!建立单元表ssum!求解单元表数据总和发出totvolume,-1将得出下列结果:宏基础(jch)分支第第42页页/共共45页页第41页/共45页第四十一页,共46页。DO循环允许执行一个命令块数次。实际

30、上在DO循环中对其中包含什么内容没有限制。你可以包含任何ANSYS命令包括前处理,求解和处理这是在条件允许的情况下。DO开始(kish)循环,ENDDO结束循环。你可以用EXIT(退出循环)和CYCLE(跳到DO循环末)控制循环。EXITT和CYCLE也可以根据if-test的结果来执行。作为一个例子,我们通过加入DO循环来扩展宏totvolume.mac,计算所有单元类型并将它们各的体积保存在数组参数中。宏基础(jch)D.循环第第43页页/共共45页页第42页/共45页第四十二页,共46页。!-MacroTOTVOLUME.MACtocalculatetotalelementvolume.

31、!-Usage:IssueTOTVOLUMEinPOST1afterasolution.!-Result:!-a)evolume(i)=totalvolumeforelementtypei!-b)totvol=grandtotalvolume!*get,numtypes,etype,num,count!Getnumberofelementtypes*dim,evolume,array,numtypes!Openanumtypesx1array*do,i,1,numtypes!Fori=1-numtypes.esel,s,type,i!Selectelementsoftypeietable,vo

32、lume,volu!Storevolumeinelementtablessum!Sumelementtableitems*get,totvol,ssum,item,volume!totvol=sumofvolumeevolume(i)=totvol!Storetotvolinevolume(i)*enddo!Endofdo-loop*vscfun,totvol,sum,evolume(i)!totvol=grandtotalvolumeesel,all!Activatefullsetofelements宏基础(jch)循环第第44页页/共共45页页第43页/共45页第四十三页,共46页。建立短

33、小且简单的宏。当创建宏的时候,可以在ANSYS命令窗口中剪切并粘贴命令来检测这些(zhxi)命令的顺序是否正确。运用注释来描述意图或期望的执行结果。在自己的目录中保存你自己的宏。在ANSYSMACROLIB环境变量目录中保存那些任何人都可以进入的宏。宏基础(jch)E.一般注意事项第第45页页/共共45页页第44页/共45页第四十四页,共46页。感谢您的观赏(gunshng)!第45页/共45页第四十五页,共46页。内容(nirng)总结APDL(ANSYSParametricDesignLanguage)是ANSYS参数化设计语言的的缩写,它是一种允许使用参数并能完成(wnchng)一系列任务的强大的程序语言。第零行、零列、零面必须填充数字。例如,表FORCE可以表示力随时间的变化关系,第零行表示时间值。force(0,1)=0。局部坐标系与整体坐标系的相互转换关系。B带参数的宏。C分支。E总的指导方针。感谢您的观赏第四十六页,共46页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号