APDL参数化设计语言PPT教学课件_第1页
APDL参数化设计语言PPT教学课件_第2页
APDL参数化设计语言PPT教学课件_第3页
APDL参数化设计语言PPT教学课件_第4页
APDL参数化设计语言PPT教学课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 APDL 是是 ANSYS 参数化设计语言参数化设计语言的缩写的缩写,它是一种可用来自动完成常规有限元分它是一种可用来自动完成常规有限元分析操作或通过参数化变量方式建立分析模型的析操作或通过参数化变量方式建立分析模型的脚本语言脚本语言,是完成优化设计和自适,是完成优化设计和自适应网格应网格划分划分的最主要的基础。的最主要的基础。 APDL允许复杂的数据输入,使用户实际上对任何设计或分析都有控制权,如模型允许复杂的数据输入,使用户实际上对任何设计或分析都有控制权,如模型尺寸、材料属性、网格密度、载荷边界条件等。尺寸、材料属性、网格密度、载荷边界条件等。什么是什么是APDL?第1页/共40页AP

2、DL具有下列功能,用户可根据需要进行组合使用具有下列功能,用户可根据需要进行组合使用或单独使用或单独使用: 标量参数标量参数 数组参数数组参数 表达式和函数表达式和函数 分支和循环分支和循环 重复功能和缩写重复功能和缩写 宏宏 用户子程序用户子程序APDL的功能的功能第2页/共40页使用使用APDL语言的优点语言的优点v可以减少大量的重复工作,节省大量时间;可以减少大量的重复工作,节省大量时间;v便于保存和携带;便于保存和携带;v不受不受ANSYS软件的系统操作平台的限制;软件的系统操作平台的限制;v不受不受ANSYS软件版本的限制,个别命令除外;软件版本的限制,个别命令除外;v在进行优化设计

3、和自适应网格分析时,必须使用在进行优化设计和自适应网格分析时,必须使用APDL语言;语言;vANSYS某些高级功能的实现必须使用某些高级功能的实现必须使用APDL;v利用利用APDL,用户很容易建立参数化的零件库;,用户很容易建立参数化的零件库;v可以编写常用命令集即宏命令,制作快捷按钮;可以编写常用命令集即宏命令,制作快捷按钮;v可以利用可以利用APDL从事二次开发。从事二次开发。第3页/共40页APDL基础回顾基础回顾第4页/共40页APDL 基础基础概述概述 介绍介绍APDL的基本功能使您能够的基本功能使您能够: 定义并使用标量参数定义并使用标量参数 从从 ANSYS 数据库中获取信息数

4、据库中获取信息 您可以从在线帮助的您可以从在线帮助的APDL手册中获得更多的信息手册中获得更多的信息第5页/共40页APDL 基础基础A. 定义参数定义参数 用以下格式定义参数用以下格式定义参数Name=Value 可以在输入窗口或可以在输入窗口或标量参数标量参数对话框中输入对话框中输入 (Utility Menu Parameters Scalar Parameters.) 参数名不能超过参数名不能超过8个个字符。字符。 值可以是一个数值,一个以前定义过的参数,一个函数,值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串(用单引号括住)。一个参数表达式,或者一个

5、字符串(用单引号括住)。第6页/共40页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)jobname=proj1用 *SET 看有用参数列表第7页/共40页APDL 基础基础 .定义参数

6、定义参数一些命名规则一些命名规则: 参数名不超过参数名不超过8个个字符,并以字符,并以字母字母开头。开头。 参数名中只能出现参数名中只能出现字母字母,数字数字和和下划线下划线。 参数名参数名不分大小写不分大小写,如,如“RAD” 和和 “Rad” 是一样的。所有的参数都以大是一样的。所有的参数都以大写形式存储。写形式存储。 避免使用避免使用 ANSYS 标识,如标识,如 STAT, DEFA, 和和 ALL第8页/共40页APDL 基础基础 B.使用参数使用参数 使用参数时,只需在对话框中或通过命令输入参数名就行了。使用参数时,只需在对话框中或通过命令输入参数名就行了。 例如例如, 利用参数定

7、义一个利用参数定义一个 w=10,h=5的矩形的矩形, 您可以使用以下菜单您可以使用以下菜单:Preprocessor Create Rectangle By 2 Corners + 或命令或命令:/prep7blc4,w,h第9页/共40页APDL 基础基础.参数的用法参数的用法注意注意: 当使用参数时当使用参数时, ANSYS 将立刻把参数名换为参数的当前值。将立刻把参数名换为参数的当前值。上一个例子中的矩形将被存为上一个例子中的矩形将被存为 10 x5 , 而不是而不是 wxh。也就是说,如果你在生也就是说,如果你在生成矩形后再改变成矩形后再改变 w 或或 h 的值,矩形将不被修改。的值

8、,矩形将不被修改。第10页/共40页APDL 基础基础.参数的用法参数的用法 其它一些关于参数用法的例子其它一些关于参数用法的例子:jobname=proj1/filnam,jobname! 作业名作业名/prep7youngs=30e6mp,ex,1,youngs! 杨氏模量杨氏模量force=500fk,2,fy,-force! 2号关键点的力号关键点的力fk,6,fx,force/2 ! 6号关键点的力号关键点的力第11页/共40页APDL 基础基础C. 从数据库中获取信息从数据库中获取信息 从数据库中获取信息并给参数赋值从数据库中获取信息并给参数赋值, 使用使用 *GET 命令或命令或

9、 Utility Menu Parameters Get Scalar Data. 对获取大量信息是很有用的,包括对获取大量信息是很有用的,包括模型和结果数据模型和结果数据,请参看,请参看 *GET命令的详细资料。命令的详细资料。第12页/共40页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的

10、的UZ方向的位方向的位移移RSYS*nsort,s,eqv ! 对节点的对节点的 von Mises 应力排序应力排序*get,smax,sort,max ! smax = 排序的最大值排序的最大值etable,vol,volu ! 用用vol 存储单元体积存储单元体积ssum ! 对单元表的列求和对单元表的列求和*get,totvol,ssum,vol ! totvol = 对对 vol 的列求和的列求和*CSYS = 激活坐标系激活坐标系 (CSYS) RSYS = 激活的结果坐标系激活的结果坐标系 (RSYS)第13页/共40页APDL 基础基础 .从数据库中获取信息从数据库中获取信息

11、一些数据可以通过一些数据可以通过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,88) ! width = 23号节点和号节点和88号节号节点间的距离点间的距离*CSYS = 激活坐标系激活坐标系

12、 (CSYS) RSYS = 激或的结果坐标系激或的结果坐标系 (RSYS)第14页/共40页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 = 激活坐标系

13、激活坐标系 (CSYS)第15页/共40页APDL 基础基础.定义参数定义参数 以上例子是关于以上例子是关于标量参数标量参数的的, 它只有一个值它只有一个值 数字或者字符。数字或者字符。 ANSYS 也提供数组参数也提供数组参数, 它有若干个值。数字数组和字符数组都是有效的。数组它有若干个值。数字数组和字符数组都是有效的。数组后面详细讨论后面详细讨论28.7-9.2-2.151.00.0 xvalues =job1job2job3job4job5 filnam =第16页/共40页数组参数数组参数第17页/共40页2. 数组参数数组参数数组参数数组参数 是能够容纳多个值的参数是能够容纳多个值的

14、参数 数组参数可以是数组参数可以是 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.9814173861057-477041033-52348714125-666221071115x1 array5x3 arraymxnx3 arrayAA =BB =CC =第18页/共40页.数组参数数组参数本章主要讨论怎样定义和使用数组参数本章主要讨论怎样定义和使用数组参数.主要内容主要内容:数组参数的类型数组参数的类型怎样定义数组怎样定义数组获取数据库信息获取数

15、据库信息数组操作数组操作第19页/共40页数组参数数组参数A. 数组参数的类型数组参数的类型 有三种数组参数类型有三种数组参数类型: 数值数组数值数组 表表 字符数组字符数组 数值数组数值数组 是标准的是标准的 1-D, 2-D, 或或 3-D 数值矩阵,如下面的数值矩阵,如下面的 BB: BB(2,3) = 704 BB(3,1) = 1033 等等.814173861057-477041033-52348714125-666221071115x3 arrayBB =第20页/共40页数组参数数组参数.数组参数的类型数组参数的类型 表数组表数组除了行、列、面可以是除了行、列、面可以是实数实数

16、外与数值数组类似。外与数值数组类似。 第零行、零列、零面必须填充数字。第零行、零列、零面必须填充数字。 对定义随时间变化的载荷和类似情况非常有用。对定义随时间变化的载荷和类似情况非常有用。 例如例如,表表FORCE可以表示力随时间的变化关系,第零列表示时间值。可以表示力随时间的变化关系,第零列表示时间值。 FORCE(0.4) = 279.9996 FORCE(6.5) = 560.0 FORCE(8.9) = 119.25 等第21页/共40页数组参数数组参数.数组参数的类型数组参数的类型 字符数组字符数组是是 1-D, 2-D,或或 3-D 的字符串矩阵的字符串矩阵 可用来存放文件名可用来

17、存放文件名,自由度标识等自由度标识等 每个字符串不超过每个字符串不超过8个字符。个字符。JOB1JOB2JOB3JOB4JOB5jobs =UXUYUZROTYROTZdofs =第22页/共40页数组参数数组参数B. 怎样定义数组怎样定义数组 定义数组的步骤定义数组的步骤: 1.指定类型和维数指定类型和维数 Utility Menu Parameters Array Parameters Define/Edit Add 或使用或使用 *DIM 命令命令. 例如例如:*dim,aa,array,4 ! 4x1x1 array*dim,force,table, ! 5x1x1 table*dim

18、,bb,array,5,3 ! 5x3x1 array*dim,dofs,char,6 ! 6x1x1 character array第23页/共40页数组参数数组参数.怎样定义数组怎样定义数组 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注意:注意:v赋值时名称后必须有下标,赋值时名称后必须有下标,v每一次赋值最多到一列结束,

19、每一次赋值最多到一列结束,v因此必须因此必须每列分别赋值每列分别赋值。v每一个赋值命令最多只能赋每一个赋值命令最多只能赋10个值。个值。第24页/共40页数组参数数组参数.怎样定义数组怎样定义数组 对于表型数组对于表型数组,必须定义第必须定义第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第25页/共40页数组参数数组参数.怎样定义数组怎样定义数组 对字符数组对字符数组, 不能以不能以GUI方式填充字符串。方式填充字符串

20、。 使用使用 “=”命令键入值命令键入值, 接着用接着用 *STAT 显示字符串显示字符串 每个字符串必须用每个字符串必须用单引号单引号括起来括起来 例如例如:dofs(1) = ux, uy, uz, rotx, roty, rotz*stat,dofs第26页/共40页数组参数数组参数.怎样定义数组怎样定义数组 给数组赋值的其他方法给数组赋值的其他方法: 用用 *VFILL 命令或命令或 (Utility Menu Parameters Array Parameters Fill)预定义函数赋值预定义函数赋值跃阶函数跃阶函数随机函数随机函数 等等 从数据库获取从数据库获取(下一步讨论下一步

21、讨论). 从一个文件读入数据(后面详细讨论)从一个文件读入数据(后面详细讨论): *VREAD 用于数值数组用于数值数组 *TREAD 用于数据表用于数据表 或 Utility Menu Parameters Read from File第27页/共40页数组参数数组参数C. 获取数据库信息获取数据库信息 正如正如 *GET 从数据库获取标量数据一样,可以用从数据库获取标量数据一样,可以用 *VGET 获取数组信息获取数组信息. 或或 Utility Menu Parameters Get Array Data 先定义数组,然后获取数据先定义数组,然后获取数据. 例如例如:*dim,dispv

22、al,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,dispval(1,3),node,u,z! UZ in column 3第28页/共40页数组参数数组参数获取数据库信息获取数据库信息 其他可获取的数组信息类型其他可获取的数组信息类型: 节点和关键点坐标节点和关键点坐标 (当前坐标系当前坐标系) 单元属性单元属性, 体,面等体,面等. 实体的选择状态实体的选择状态(1 选上选上,

23、0 未选上未选上) 节点应力节点应力,应变应变,温度梯度,热通量等温度梯度,热通量等 单元表数据单元表数据 等等第29页/共40页数组参数数组参数*VREAD将文本文件读入数值数组将文本文件读入数值数组 例:例:文件文件dataval: 1.5 7.8 12.3 1.5 7.8 12.3 15.6 -45.6 42.5 15.6 -45.6 42.5 * *DIM,EXAMPLE,ARRAY,2,3DIM,EXAMPLE,ARRAY,2,3 * *VREAD,EXAMPLE(1,1),dataval,txt,JIK,3,2VREAD,EXAMPLE(1,1),dataval,txt,JIK,3

24、,2 (3F6.1) (3F6.1) EXAMPLE = 1.5 7.8 12.3 1.5 7.8 12.3 15.6 -45.6 42.5 15.6 -45.6 42.5 必须指定起始元素(如必须指定起始元素(如(1,1)或(或(2,2)等)等),(i,j)表示从第表示从第i行、第行、第j列开始列开始填充数据填充数据。 格式说明紧随读入命令后面格式说明紧随读入命令后面, 为为FORTRAN实型数据格式(实型数据格式(nF*.*) n表示从数据文件中表示从数据文件中每一行每一行读入读入n个数据个数据. 从起始元素开始按从起始元素开始按JIK指定的顺序给数组赋值。指定的顺序给数组赋值。第30页/

25、共40页数组参数数组参数*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,4DIM,arr1,4,4 * *VREAD,arr1(1,1),data1,txt,IJK,4,4VREAD,arr1(1,1),data1,txt,IJK,4,4 (4F3.0)(4F3.0) * *DIM,arr2,4,4DIM,arr2,4,4 * *VREAD,arr2(1,1),data1,txt,JIK,

26、4,4VREAD,arr2(1,1),data1,txt,JIK,4,4 (4F3.0)(4F3.0) * *DIM,arr3,4,4DIM,arr3,4,4 * *VREAD,VREAD,arr3(2,2)arr3(2,2),data1,txt,JIK,3,3,data1,txt,JIK,3,3 ( (3 3F3.0)F3.0) * *DIM,arr4,4,4DIM,arr4,4,4 * *VREAD,arr4(2,2),data1,txt,JIK,3,3VREAD,arr4(2,2),data1,txt,JIK,3,3 ( (5 5F3.0)F3.0)第31页/共40页数组参数数组参数*V

27、READ将文本文件读入数值数组将文本文件读入数值数组 答案:答案: 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 1 2 3 0 4 5 6 0 7 8 9第32页/共40页数组参数数组参数*TREAD将文本文件读入表数组将文本文件读入表数组 不需输入起始下标,只须数据表名,不需格式控制命令不需输入起始下标,只须数据表名,不需格式控制命令 数据文件中

28、数字可用空格或逗号分开。数据文件中数字可用空格或逗号分开。 从数据文件中从数据文件中逐行逐行读入数据读入数据,并,并逐行逐行填充数据表填充数据表 最好保证数据文件与数据表格式的一致性最好保证数据文件与数据表格式的一致性 例:例: 文件文件t2data.txtTemp (time-X-coord) Table Time X-Coordinate 0 00.3 0.5 0.7 0.90 1015202530120253555604 30407090100*DIM,Ttx,table,4,5,time,X-COORD *TREAD,Ttx,t2data,txt,2第33页/共40页数组参数数组参数D. 数组操作数组操作 一旦定义了数组参数一旦定义了数组参数,就可以对它们进行各种操作就可以对它们进行各种操作 Utility Menu Parameters Array Operations 或使用或使用 *VFUN, *VOPER, *VSCFUN, *VWRITE等命令等命令第34页/共40页数组参数数组参数.数组操作数组操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论