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

下载本文档

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

文档简介

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

…概述介绍APDL的基本功能使您能够:定义并使用标量参数从ANSYS数据库中获取信息您可以从在线帮助的APDL手册中获得更多的信息APDL基础

…概述介绍APDL的基本功能使您能够:APDL基础

A.定义参数用以下格式定义参数Name=Value可以在输入窗口或标量参数对话框中输入(UtilityMenu>Parameters>ScalarParameters...)参数名不能超过8个字符。值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串(用单引号括住)。APDL基础

A.定义参数用以下格式定义参数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看有用参数列表APDL基础

...定义参数例子:用*SET看有用参APDL基础

...定义参数一些命名规则:参数名不超过8个字符,并以字母开头。参数名中只能出现字母,数字和下划线。参数名不分大小写,如“RAD”和“Rad”是一样的。所有的参数都以大写形式存储。避免使用ANSYS标识,如STAT,DEFA,和

ALLAPDL基础

...定义参数一些命名规则:APDL基础

B.使用参数使用参数时,只需在对话框中或通过命令输入参数名就行了。例如,利用参数定义一个w=10,h=5的矩形,您可以使用以下菜单:Preprocessor>Create>Rectangle>By2Corners+或命令:/prep7blc4,,,w,hAPDL基础

B.使用参数使用参数时,只需在对话框中或通APDL基础

...参数的用法注意:当使用参数时,ANSYS将立刻把参数名换为参数的当前值。

上一个例子中的矩形将被存为10x5,而不是

wxh。也就是说,如果你在生成矩形后再改变

w或

h的值,矩形将不被修改。APDL基础

...参数的用法注意:APDL基础

...参数的用法其它一些关于参数用法的例子:jobname=‘proj1’/filnam,jobname !作业名/prep7youngs=30e6mp,ex,1,youngs !杨氏模量force=500fk,2,fy,-force !2号关键点的力fk,6,fx,force/2 !6号关键点的力APDL基础

...参数的用法其它一些关于参数用法的例子:APDL基础

C.从数据库中获取信息从数据库中获取信息并给参数赋值,使用

*GET

命令或

UtilityMenu>Parameters>GetScalarData...对获取大量信息是很有用的,包括模型和结果数据,请参看*GET命令的详细资料。APDL基础

C.从数据库中获取信息从数据库中获取信息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 !对节点的vonMises应力排序*get,smax,sort,,max !smax=排序的最大值etable,vol,volu !用vol存储单元体积ssum !对单元表的列求和*get,totvol,ssum,,vol !totvol=对vol的列求和*CSYS=激活坐标系(CSYS)RSYS=激活的结果坐标系(RSYS)APDL基础

...从数据库中获取信息例子: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,88)!width=23号节点和88号节点间的距离*CSYS=激活坐标系(CSYS)RSYS=激或的结果坐标系(RSYS)APDL基础

...从数据库中获取信息一些数据可以通过AAPDL基础

...从数据库中获取信息在一些地方您可以直接取函数值,就象用一个参数一样。例如: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基础

...定义参数以上例子是关于标量参数的,它只有一个值—数字或者字符。ANSYS也提供数组参数,它有若干个值。数字数组和字符数组都是有效的。数组后面详细讨论28.7-9.2-2.151.00.0xvalues=job1job2job3job4job5filnam=APDL基础

...定义参数以上例子是关于标量参数的,它数组参数数组参数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.9814 17 3861057 -47 7041033 -52 3487141 25 -66622 107 1115x1array5x3arraymxnx3arrayAA=BB=CC=2.数组参数数组参数是能够容纳多个值的参数17.181...数组参数本章主要讨论怎样定义和使用数组参数.主要内容:数组参数的类型怎样定义数组获取数据库信息数组操作...数组参数本章主要讨论怎样定义和使用数组参数.数组参数

A.数组参数的类型有三种数组参数类型:数值数组表字符数组数值数组

是标准的1-D,2-D,或3-D数值矩阵,如下面的

BB:BB(2,3)=704BB(3,1)=1033等.814 17 3861057 -47 7041033 -52 3487141 25 -66622 107 1115x3arrayBB=数组参数

A.数组参数的类型有三种数组参数类型:814 数组参数

...数组参数的类型

表数组除了行、列、面可以是实数外与数值数组类似。第零行、零列、零面必须填充数字。对定义随时间变化的载荷和类似情况非常有用。例如,表FORCE可以表示力随时间的变化关系,第零列表示时间值。FORCE(0.4)=279.9996FORCE(6.5)=560.0FORCE(8.9)=119.25等数组参数

...数组参数的类型表数组除了行、列、面可以是实数组参数

...数组参数的类型字符数组是1-D,2-D,或3-D的字符串矩阵可用来存放文件名,自由度标识等每个字符串不超过8个字符。JOB1JOB2JOB3JOB4JOB5jobs=UXUYUZROTYROTZdofs=数组参数

...数组参数的类型字符数组是1-D,2-D,数组参数

B.怎样定义数组定义数组的步骤:

1. 指定类型和维数UtilityMenu>Parameters>ArrayParameters>Define/Edit>Add或使用

*DIM

命令.

例如:*dim,aa,array,4 !4x1x1array*dim,force,table,!5x1x1table*dim,bb,array,5,3!5x3x1array*dim,dofs,char,6 !6x1x1characterarray数组参数

B.怎样定义数组定义数组的步骤:数组参数

...怎样定义数组

2.给数组赋值UtilityMenu>Parameters>ArrayParameters>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个值。数组参数

...怎样定义数组2.给数组赋值数组参数

...怎样定义数组对于表型数组,必须定义第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数组参数

...怎样定义数组对于表型数组,必须定义第0位置。数组参数

...怎样定义数组对字符数组,不能以GUI方式填充字符串。使用“=”命令键入值,接着用

*STAT显示字符串每个字符串必须用单引号括起来例如:dofs(1)=‘ux’,‘uy’,‘uz’,‘rotx’,‘roty’,‘rotz’*stat,dofs数组参数

...怎样定义数组对字符数组,不能以GUI方式填数组参数

...怎样定义数组给数组赋值的其他方法:用

*VFILL

命令或(UtilityMenu>Parameters>ArrayParameters>Fill)预定义函数赋值跃阶函数随机函数等从数据库获取(下一步讨论).从一个文件读入数据(后面详细讨论):*VREAD用于数值数组*TREAD用于数据表或

UtilityMenu>Parameters>ReadfromFile数组参数

...怎样定义数组给数组赋值的其他方法:数组参数

C.获取数据库信息正如

*GET

从数据库获取标量数据一样,可以用

*VGET

获取数组信息.或

UtilityMenu>Parameters>GetArrayData先定义数组,然后获取数据.例如:*dim,dispval,array,20,3 !20x3array*vget,dispval(1,1),node,,u,x !UXofnodes1-20incolumn1*vget,dispval(1,2),node,,u,y !UYincolumn2*vget,dispval(1,3),node,,u,z !UZincolumn3数组参数

C.获取数据库信息正如*GET从数据库获取数组参数

…获取数据库信息其他可获取的数组信息类型:节点和关键点坐标(当前坐标系)单元属性,体,面等.实体的选择状态(1选上,0未选上)节点应力,应变,温度梯度,热通量等单元表数据等…数组参数

…获取数据库信息其他可获取的数组信息类型:数组参数

…*VREAD将文本文件读入数值数组例:文件dataval:

1.57.812.315.6-45.642.5*DIM,EXAMPLE,ARRAY,2,3*VREAD,EXAMPLE(1,1),dataval,txt,,JIK,3,2(3F6.1)EXAMPLE=1.57.812.315.6-45.642.5•

必须指定起始元素(如(1,1)或(2,2)等),(i,j)表示从第i行、第j列开始填充数据。•格式说明紧随读入命令后面,为FORTRAN实型数据格式(nF*.*)•n表示从数据文件中每一行读入n个数据.•从起始元素开始按JIK指定的顺序给数组赋值。数组参数

…*VREAD将文本文件读入数值数组例:文件dat数组参数

…*VREAD将文本文件读入数值数组例:文件data1.txt:12345678910111213141516171819202122232425*DIM,arr1,,4,4*VREAD,arr1(1,1),data1,txt,,IJK,4,4

(4F3.0)*DIM,arr2,,4,4*VREAD,arr2(1,1),data1,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将文本文件读入数值数组例:文件dat数组参数

…*VREAD将文本文件读入数值数组答案:arr1=161116271217381318491419

arr2=123467891112131416171819arr3=0000012306780111213arr4=0000012304560789数组参数

…*VREAD将文本文件读入数值数组答案:数组参数

…*TREAD将文本文件读入表数组不需输入起始下标,只须数据表名,不需格式控制命令数据文件中数字可用空格或逗号分开。从数据文件中逐行读入数据,并逐行填充数据表

最好保证数据文件与数据表格式的一致性例:文件t2data.txtTemp(time-X-coord)TableTimeX-Coordinate000.30.50.70.9010152025301152025354022025355560430407090100*DIM,Ttx,table,4,5,,time,X-COORD*TREAD,Ttx,t2data,txt,,2数组参数

…*TREAD将文本文件读入表数组不需输入起始下标数组参数

D.数组操作一旦定义了数组参数,就可以对它们进行各种操作UtilityMenu>Parameters>ArrayOperations或使用

*VFUN,*VOP

温馨提示

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

评论

0/150

提交评论