APDL参数化设计语言课件.ppt

上传人:小飞机 文档编号:3724191 上传时间:2023-03-17 格式:PPT 页数:40 大小:560.50KB
返回 下载 相关 举报
APDL参数化设计语言课件.ppt_第1页
第1页 / 共40页
APDL参数化设计语言课件.ppt_第2页
第2页 / 共40页
APDL参数化设计语言课件.ppt_第3页
第3页 / 共40页
APDL参数化设计语言课件.ppt_第4页
第4页 / 共40页
APDL参数化设计语言课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《APDL参数化设计语言课件.ppt》由会员分享,可在线阅读,更多相关《APDL参数化设计语言课件.ppt(40页珍藏版)》请在三一办公上搜索。

1、APDL参数化设计语言,APDL 是 ANSYS 参数化设计语言的缩写,它是一种可用来自动完成常规有限元分析操作或通过参数化变量方式建立分析模型的脚本语言,是完成优化设计和自适应网格划分的最主要的基础。APDL允许复杂的数据输入,使用户实际上对任何设计或分析都有控制权,如模型尺寸、材料属性、网格密度、载荷边界条件等。,什么是APDL?,APDL具有下列功能,用户可根据需要进行组合使用或单独使用:标量参数数组参数表达式和函数分支和循环重复功能和缩写宏用户子程序,APDL的功能,使用APDL语言的优点,可以减少大量的重复工作,节省大量时间;便于保存和携带;不受ANSYS软件的系统操作平台的限制;不

2、受ANSYS软件版本的限制,个别命令除外;在进行优化设计和自适应网格分析时,必须使用APDL语言;ANSYS某些高级功能的实现必须使用APDL;利用APDL,用户很容易建立参数化的零件库;可以编写常用命令集即宏命令,制作快捷按钮;可以利用APDL从事二次开发。,APDL基础回顾,APDL 基础概述,介绍APDL的基本功能使您能够:定义并使用标量参数从 ANSYS 数据库中获取信息您可以从在线帮助的APDL手册中获得更多的信息,APDL 基础A.定义参数,用以下格式定义参数Name=Value可以在输入窗口或标量参数对话框中输入(Utility Menu Parameters Scalar Pa

3、rameters.)参数名不能超过8个字符。值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串(用单引号括住)。,APDL 基础.定义参数,例子: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)jobnam

4、e=proj1,用*SET 看有用参数列表,APDL 基础.定义参数,一些命名规则:参数名不超过8个字符,并以字母开头。参数名中只能出现字母,数字和下划线。参数名不分大小写,如“RAD”和“Rad”是一样的。所有的参数都以大写形式存储。避免使用 ANSYS 标识,如 STAT,DEFA,和 ALL,APDL 基础 B.使用参数,使用参数时,只需在对话框中或通过命令输入参数名就行了。例如,利用参数定义一个 w=10,h=5的矩形,您可以使用以下菜单:Preprocessor Create Rectangle By 2 Corners+或命令:/prep7blc4,w,h,APDL 基础.参数的用

5、法,注意:当使用参数时,ANSYS 将立刻把参数名换为参数的当前值。上一个例子中的矩形将被存为 10 x5,而不是 wxh。也就是说,如果你在生成矩形后再改变 w 或 h 的值,矩形将不被修改。,APDL 基础.参数的用法,其它一些关于参数用法的例子:jobname=proj1/filnam,jobname!作业名/prep7youngs=30e6mp,ex,1,youngs!杨氏模量force=500fk,2,fy,-force!2号关键点的力fk,6,fx,force/2!6号关键点的力,APDL 基础C.从数据库中获取信息,从数据库中获取信息并给参数赋值,使用*GET 命令或 Utili

6、ty Menu Parameters Get Scalar Data.对获取大量信息是很有用的,包括模型和结果数据,请参看*GET命令的详细资料。,APDL 基础.从数据库中获取信息,例子:*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!对节点的 von Mises 应力排序*get,smax,sort,max!smax=排序的最大值etable,vol,volu

7、!用vol 存储单元体积ssum!对单元表的列求和*get,totvol,ssum,vol!totvol=对 vol 的列求和*CSYS=激活坐标系(CSYS)RSYS=激活的结果坐标系(RSYS),APDL 基础.从数据库中获取信息,一些数据可以通过ANSYS的内部函数获取(请查看帮助)。例如: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,

8、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 基础.定义参数,以上例子是关于标量参数的,它只有一个值 数字或者字符。ANSYS 也提供数组参数,它有若干

9、个值。数字数组和字符数组都是有效的。数组后面详细讨论,xvalues=,filnam=,数组参数,2.数组参数,数组参数 是能够容纳多个值的参数数组参数可以是 1-D,2-D,or 3-D.1-D:m 行 x 1 列2-D:m 行 x n 列3-D:m 行 x n 列 x k 面,17.1-47.6-5.225.0107.9,814173861057-477041033-52348714125-66622107111,5x1 array,5x3 array,mxnx3 array,AA=,BB=,CC=,.数组参数,本章主要讨论怎样定义和使用数组参数.主要内容:数组参数的类型怎样定义数组获取数

10、据库信息数组操作,数组参数A.数组参数的类型,有三种数组参数类型:数值数组表字符数组数值数组 是标准的 1-D,2-D,或 3-D 数值矩阵,如下面的 BB:BB(2,3)=704BB(3,1)=1033等.,数组参数.数组参数的类型,表数组除了行、列、面可以是实数外与数值数组类似。第零行、零列、零面必须填充数字。对定义随时间变化的载荷和类似情况非常有用。例如,表FORCE可以表示力随时间的变化关系,第零列表示时间值。FORCE(0.4)=279.9996FORCE(6.5)=560.0FORCE(8.9)=119.25等,数组参数.数组参数的类型,字符数组是 1-D,2-D,或 3-D 的字

11、符串矩阵可用来存放文件名,自由度标识等每个字符串不超过8个字符。,JOB1JOB2JOB3JOB4JOB5,jobs=,UXUYUZROTYROTZ,dofs=,数组参数B.怎样定义数组,定义数组的步骤:1.指定类型和维数Utility Menu Parameters Array Parameters Define/Edit Add或使用*DIM 命令.例如:*dim,aa,array,4!4x1x1 array*dim,force,table,!5x1x1 table*dim,bb,array,5,3!5x3x1 array*dim,dofs,char,6!6x1x1 character a

12、rray,数组参数.怎样定义数组,2.给数组赋值Utility Menu Parameters Array Parameters Define/Edit Edit或使用“=”命令.例如:bb(1,1)=11,21,31,41,51bb(1,2)=12,22,32,42,52bb(1,3)=13,23,33,43,53注意:赋值时名称后必须有下标,每一次赋值最多到一列结束,因此必须每列分别赋值。每一个赋值命令最多只能赋10个值。,数组参数.怎样定义数组,对于表型数组,必须定义第0位置。否则,取缺省值 7.8886E-31.例如:force(1,1)=0,560,560,238.5,0force(

13、1,0)=1E-6,0.8,7.2,8.5,9.3force(0,1)=0,数组参数.怎样定义数组,对字符数组,不能以GUI方式填充字符串。使用“=”命令键入值,接着用*STAT 显示字符串 每个字符串必须用单引号括起来例如:dofs(1)=ux,uy,uz,rotx,roty,rotz*stat,dofs,数组参数.怎样定义数组,给数组赋值的其他方法:用*VFILL 命令或(Utility Menu Parameters Array Parameters Fill)预定义函数赋值跃阶函数随机函数等从数据库获取(下一步讨论).从一个文件读入数据(后面详细讨论):*VREAD 用于数值数组*TR

14、EAD 用于数据表或 Utility Menu Parameters Read from File,数组参数C.获取数据库信息,正如*GET 从数据库获取标量数据一样,可以用*VGET 获取数组信息.或 Utility Menu Parameters Get Array Data先定义数组,然后获取数据.例如:*dim,dispval,array,20,3!20 x3 array*vget,dispval(1,1),node,u,x!UX of nodes 1-20 in column 1*vget,dispval(1,2),node,u,y!UY in column 2*vget,dispv

15、al(1,3),node,u,z!UZ in column 3,数组参数获取数据库信息,其他可获取的数组信息类型:节点和关键点坐标(当前坐标系)单元属性,体,面等.实体的选择状态(1 选上,0 未选上)节点应力,应变,温度梯度,热通量等单元表数据等,数组参数*VREAD将文本文件读入数值数组,例:文件dataval:1.5 7.8 12.3 15.6-45.6 42.5*DIM,EXAMPLE,ARRAY,2,3*VREAD,EXAMPLE(1,1),dataval,txt,JIK,3,2(3F6.1)EXAMPLE=1.5 7.8 12.3 15.6-45.6 42.5 必须指定起始元素(如

16、(1,1)或(2,2)等),(i,j)表示从第i行、第j列开始填充数据。格式说明紧随读入命令后面,为FORTRAN实型数据格式(nF*.*)n表示从数据文件中每一行读入n个数据.从起始元素开始按JIK指定的顺序给数组赋值。,数组参数*VREAD将文本文件读入数值数组,例:文件data1.txt:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25*DIM,arr1,4,4*VREAD,arr1(1,1),data1,txt,IJK,4,4(4F3.0)*DIM,arr2,4,4*VREAD,arr2(1,1),dat

17、a1,txt,JIK,4,4(4F3.0)*DIM,arr3,4,4*VREAD,arr3(2,2),data1,txt,JIK,3,3(3F3.0)*DIM,arr4,4,4*VREAD,arr4(2,2),data1,txt,JIK,3,3(5F3.0),数组参数*VREAD将文本文件读入数值数组,答案:arr1=1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 arr2=1 2 3 4 6 7 8 9 11 12 13 14 16 17 18 19 arr3=0 0 0 0 0 1 2 3 0 6 7 8 0 11 12 13 arr4=0 0 0 0 0

18、1 2 3 0 4 5 6 0 7 8 9,数组参数*TREAD将文本文件读入表数组,不需输入起始下标,只须数据表名,不需格式控制命令数据文件中数字可用空格或逗号分开。从数据文件中逐行读入数据,并逐行填充数据表 最好保证数据文件与数据表格式的一致性 例:文件t2data.txt,*DIM,Ttx,table,4,5,time,X-COORD*TREAD,Ttx,t2data,txt,2,数组参数D.数组操作,一旦定义了数组参数,就可以对它们进行各种操作Utility Menu Parameters Array Operations 或使用*VFUN,*VOPER,*VSCFUN,*VWRITE

19、等命令,数组参数.数组操作,*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(

20、i)其它操作包括:求数组的所有元素的和诸如标准偏差,中值,平均数等统计量最小值/最大值,最小值/最大值的位置 第一个和最后一个非零记录的位置,数组参数.数组操作,*VWRITE把数组数据按格式写进文件例如:*cfopen,wing,dat*vwrite(/,3x,Node Number,4x,Temperature,/)*vwrite,nnum(1),tval(1)(5x,f6.0,6x,e14.8)*cfclose将会创建一个名为 wing.dat 的文件,包含指定格式的 nnum 和 tval 数组,数组参数.数组操作,还有大量很有用的数组操作。请参考 APDL 程序员指南获取详细情况.,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号