ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:345.44KB ,
资源ID:3484359      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3484359.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ANSYS基础教程APDL基础.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ANSYS基础教程APDL基础.docx

1、ANSYS基础教程APDL基础ANSYS基础教程APDL基础发表时间:2011-3-17 关键字:ANSYS ANSYS教程 APDL基础 信息化调查找茬投稿收藏评论好文推荐打印社区分享本文主要介绍APDL基础功能,包括:定义参数、利用参数、获取数据库信息方面展开。 概述 APDL 是ANSYS 参数化设计语言的缩写,它是一种允许使用参数并能完成一系列任务的强大的程序语言。 使用APDL, 可以: 用参数而不是用数值输入模型尺寸,材料类型等。 从ANSYS 数据库中获取信息, 比如节点位置或最大应力。 在参数中进行数学运算,包括矢量和矩阵运算。 把常用的命令或宏定义成缩写形式。 建立一个宏使用

2、if-then-else分支和do循环等来执行一系列任务。A. 定义参数 用以下格式定义参数 Name=Value 可以在输入窗口或标量参数对话框中输入(Utility Menu Parameters Scalar Parameters.) 参数名不能超过8个字符。 值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串(用单引号括住)。 例子: inrad=2.5 g=386 outrad=8.2 massdens=density/g numholes=4 circumf=2*pi*rad thick=outrad-inrad area=pi*r*2 e=2.7e6

3、 dist=sqrt(y2-y1)*2+(x2-x1)*2) density=0.283 slope=(y2-y1)/(x2-x1) bb=cos(30) theta=atan(slope) pi=acos(-1) jobname=proj1 用*SET 看有用参数列表 以上例子是关于标量参数的, 它只有一个值数字或者字符。 ANSYS 也提供数组参数, 它有若干个值。数字数组和字符数组都是有效的。字符数组在本教程中不讨论。 一些命名规则: 参数名不超过8个字符,并以字母开头。 参数名中只能出现字母,数字和下划线。 避免以下划线开头,这在ANSYS 中另有它用。 参数名不分大小写,如“RAD”

4、和“Rad”是一样的。所有的参数都以大写形式存储。 避免使用ANSYS 标识,如STAT, DEFA, 和ALL。B.使用参数 使用参数时,只需在对话框中或通过命令输入参数名就行了。 例如, 利用参数定义一个w=10,h=5的矩形, 您可以使用以下菜单: Preprocessor Create Rectangle By 2 Corners + 或命令: /prep7 blc4,w,h 注意: 当使用参数时, ANSYS 将立刻把参数名换为它的值。 上一个例子中的矩形将被存为10x5 , 而不是wxh。也就是说,如果你在生成矩形后再改变w 或h 的值,矩形将不被修改。 其它一些关于参数用法的例子

5、: jobname=proj1 /filnam,jobname ! 作业名 /prep7 youngs=30e6 mp,ex,1,youngs ! 杨氏模量 force=500 fk,2,fy,-force ! 2号关键点的力 fk,6,fx,force/2 ! 6号关键点的力C. 从数据库中获取信息 从数据库中获取信息并给参数赋值, 使用*GET命令或Utility Menu Parameters Get Scalar Data. 对获取大量信息是很有用的,包括模型和结果数据,请参看*GET命令的详细资料。 例子: *get,x1,node,1,loc,x ! x1 =节点1的x坐标CSYS

6、* /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 ! 用vol 存储单元体积 ssum ! 对单元表的列求和 *get,totvol,ssum,vol ! totvol= 对vol的列求和 *CSYS = 激活坐标系(CSYS) RSYS = 激活的结果坐标系(RSYS) 一

7、些数据可以通过函数获取。 例如: x1=nx(1) ! x1 = 节点1的x坐标CSYS* nn=node(2.5,3,0) ! nn= 在(2.5,3,0)处的节点CSYS* /post1 ux25=ux(25) ! ux25 = 25号节点的UX 值RSYS* temp93=temp(93) ! temp93 = 节点93的温度值 width=distnd(23,88) ! width = 23号节点和88号节点间的距离 *CSYS = 激活坐标系(CSYS) RSYS = 激或的结果坐标系(RSYS) 在一些地方您可以直接取函数值,就象用一个参数一样。例如: k,10,kx(1),ky(

8、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*APDL 基础1概要: 利用格式Name=Value 定义参数. 参数值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串。 利用*GET命令或函数从ANSYS 数据库中获取信息。 ANSYS 存储的是参数的实际值(数字或字符串), 而不是参数名。2. 数组参数 数组参数是能够容纳多个值的参数 数组参数可以是1-D, 2-D, or 3-D. 1-D

9、: m行x 1列 2-D: m行x n列 3-D: m行x n列x k面 本章主要讨论怎样定义和使用数组参数. 主要内容: A. 数组参数的类型 B. 怎样定义数组 C. 获取数据库信息 D. 数组操作A. 数组参数的类型 有三种数组参数类型: 数值数组 表 字符数组 数值数组是标准的1-D, 2-D, 或3-D 数值矩阵,如下面的BB BB(2,3) = 704 BB(3,1) = 1033 等. 数据表除了行、列、面可以是实数外与数值数组类似。 第零行、零列、零面必须填充数字。 对定义随时间变化的载荷和类似情况非常有用 例如,表FORCE可以表示力随时间的变化关系,第零行表示时间值。 FO

10、RCE(0.4) = 279.9996 FORCE(6.5) = 560.0 FORCE(8.9) = 119.25 等 一个字符型数组是1-D, 2-D,或3-D 的字符串矩阵 可用来存放文件名,自由度标识等 每个字符串不超过8个字符。B. 怎样定义数组 定义数组的步骤: 1.指定类型和维数 Utility Menu Parameters Array Parameters Define/Edit Add 或使用*DIM命令.例如: *dim,aa,array,4! 4x1x1 array *dim,force,table,5! 5x1x1 table *dim,bb,array,5,3! 5

11、x3x1 array *dim,dofs,char,6! 6x1x1 character array 2. 给数组赋值 Utility Menu Parameters Array Parameters Define/Edit Edit 或使用*VEDIT命令 或使用“=”命令.例如: bb(1,1)=11,21,31,41,51 bb(1,2)=12,22,32,42,52 bb(1,3)=13,23,33,43,53 对于表型数组,必须定义第0位置。否则,取缺省值7.8886E-31. 例如: force(1,1)=0,560,560,238.5,0 force(1,0)=1E-6,0.8,

12、7.2,8.5,9.3 force(0,1)=0对字符数组, 不能以图形方式填充字符串 使用“=”命令键入值, 接着用*STAT 显示字符串 每个字符串必须用单引号括起来 例如: dofs(1) = ux, uy, uz, rotx, roty, rotz *stat,dofs 给数组赋值的其他方法: 用*VFILL命令或(Utility Menu Parameters Array Parameters Fill)预定义函数赋值 跃阶函数 随机函数 等 从一个文件读入数据: *VREAD用于数值数组 *TREAD用于数据表 或Utility Menu Parameters Read from

13、File 从数据库获取(下一步讨论).C. 获取数据库信息 正如*GET从数据库获取标量数据,可以用*VGET获取数组信息. 或Utility Menu Parameters Get Array Data 先定义数组,然后获取数据. 例如: *dim,dispval,array,20,3 ! 20x3 array *vget,dispval(1,1),node,1,u,x ! UX of nodes 1-20 in column 1 *vget,dispval(1,2),node,1,u,y ! UY in column 2 *vget,dispval(1,3),node,1,u,z ! UZ

14、 in column 3 其他可获取的数组信息类型: 节点和关键点坐标(当前坐标系) 单元属性, 体,面等. 实体的选择状态(1 选上, 0 未选上) 节点应力,应变,温度梯度,热通量等 单元表数据 等D. 数组操作 一旦定义了数组参数,就可以对它们进行各种操作 Utility Menu Parameters Array Operations 或使用*VFUN, *VOPER, *VSCFUN, *VWRITE等命令 *VFUN对单个数组操作 *vfun,b(1),sin,a(1)等价于b(j)=sin(a(j) 其他操作包括: 自然对数, 常用对数, 指数 平方根, 排序, 复制 局部坐标系

15、与整体坐标系的相互转换关系 路径的切线和法线矢量 等 *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,

16、dat *vwrite (/,3x,Node Number,4x,Temperature,/) *vwrite,nnum(1),tval(1) (5x,f6.0,6x,e14.8) *cfclose 将会创建一个名为wing.dat的文件,包含指定格式的nnum和tval数组3 宏基础 APDL(ANSYS参数设计语言)最强有力的特征之一是创建宏的能力。 宏就是一系列贮存在一个文件中的ANSYS命令,并且能象一个ANSYS命令一样来运行。 常用宏功能: 它可以如同ANSYS命令一样具有变量。 分支和循环用来控制一系列命令。 交互式特征如图形拾取,提示,以及对话框。 宏可以嵌套一个宏引用第二个宏

17、,第二个宏引用第三个宏,等等一直可嵌套20级。 宏基础 本文给出创建宏的基本步骤: A创建一个宏 B带参数的宏 C分支 D循环 E总的指导方针更多的细节,请参考APDL程序指南等A. 创建宏 创建一个宏,在文本编辑器中,创建一系列命令,并以文件名name.mac保存它们. name以一个字母开始,可以达32个字符。 在文件名中空格不允许。 避免特殊字符。 确保name不是一个有效的ANSYS命令。可以在开始或所有处理器(PREP7,POST1,等等)中进行检验。如果得到这种信息.不是有效的命令或宏那么这个名字是“安全的”。 扩展名.mac允许你运行宏如同运行一个命令一样:只需敲入name。 例

18、子: 宏totvolume.mac用来计算所有单元的整个体积: esel,all!选择所有单元 etable,volume,volu!将所有单元体积建立单元表 ssum!求解单元表选项总和 *get,totvol,ssum,item,volume!totvol=体积总和 *stat,totvol!列totvol值 在Post1(在求解之后)中发出totvolume来计算整个体积。 搜索路径: ANSYS首先在下列搜索路径中寻找文件name.mac并运行它: 1ansys57/docu 2在ANSYSMACROLIB环境变量路径中。 3在WINDOWS系统中的注册路径。 4当前工作路径。 如果在

19、上级路径和下级路径同时寻找到同样的文件名,则采用上级路径。B. 带参数的宏 通过特殊的字符名,你可以创建多达20个参数的宏: NAME,arg1,arg2,arg3,ar10,ar11,ar12,ar20 参数如同标准的ANSYS命令中的参数,可以为: 数字 字符(被包括在单引号中) 参数(标量或数组) 参数表达式 参数的意义由所定义的宏来决定。 例如,我们可以定义宏totvolume.mac来计算指定类型的所有单元体积和: TOTVOLUME,TYPE 宏具体如下: esel,s,type,arg1 etable,volume,volu ssum *get,totvol,ssum,item,

20、volume *vwrite,arg1,totvol (Total volume for type,f4.0,elements=,f8.2) 求解之后在通用后处理器中发出totvolume,1将得出下列结果: 注意: 特殊的字符名ARG1ARG9和AR10AR99仅仅是局部参数,仅仅在该宏中有效。 一旦宏运行结束后并返回ANSYS主程序,它们将无意义。 避免在模型的其它地方应用这些名称。 无论何时应用参数时,一定通过在宏中包含注释来描述它们的意义。 例如,下面在宏totvolume.mac的开始处的注释是非常有用的。 !Macro TOTVOLUME.MAC to calculate tota

21、l volume of elements !Usage: TOTVOLUME,TYPE.valid only in POST1 after a solve !TYPE=valid element type number esel,s type,arg1 C. 分支 通过应用IFTHENELSE结构,在只有一定的条件满足的情况下,你可以运行一个命令或命令块。 在*IF 和*ELSEIF命令中,可以运用AND,OR ,或XOR 比较符。 IF,A,EQ,B,AND,C,GT,D,THEN 分枝以*IF开始和*ENDIF结束。*ELSEIF和*ELSE在它们中也可以使用: *if,x,eq,y,th

22、en , , *elseif,x,eq,z,then , *else , , *endif 例如,你可以在宏totvolume.mac中增加if-test来测试输入的变量是的有效性: *if,arg1,lt,1,then!如果ARG1小于1 *msg,warn!发出一个警告 Element type number must be 1 or greater!退出宏 /eof esel,s,type,arg1 !选择所有确定类型的单元 etable,volume,volu!建立单元表 ssum!求解单元表数据总和 发出totvolume,-1将得出下列结果:D. 循环 DO循环允许执行一个命令块数

23、次。 实际上在DO循环中对其中包含什么内容没有限制。你可以包含任何ANSYS命令包括前处理,求解和处理这是在条件允许的情况下。 *DO开始循环,ENDDO结束循环。 你可以用EXIT(退出循环)和CYCLE(跳到DO循环末)控制循环。 EXITT和CYCLE也可以根据if-test的结果来执行。 作为一个例子,我们通过加入DO循环来扩展宏totvolume.mac,计算所有单元类型并将它们各的体积保存在数组参数中。 ! -Macro TOTVOLUME.MAC to calculate total element volume. ! -Usage: Issue TOTVOLUME in POS

24、T1 after a solution. ! -Result: ! -a) evolume(i) = total volume for element type i ! -b) totvol= grand total volume ! *get,numtypes,etype,num,count! Get number of element types *dim,evolume,array,numtypes! Open a numtypesx 1 array *do,i,1,numtypes! For i = 1 -numtypes. esel,s,type,i! Select elements

25、 of type i etable,volume,volu! Store volume in element table ssum! Sum element table items *get,totvol,ssum,item,volume! totvol= sum of volume evolume(i) = totvol! Store totvolin evolume(i) *enddo! End of do-loop *vscfun,totvol,sum,evolume(i)! totvol= grand total volume esel,all! Activate full set of elementsE.一般注意事项 建立短小且简单的宏。 当创建宏的时候,可以在ANSYS命令窗口中剪切并粘贴命令来检测这些命令的顺序是否正确。 运用注释来描述意图或期望的执行结果。 在自己的目录中保存你自己的宏。 在ANSYSMACROLIB环境变量目录中保存那些任何人都可以进入的宏。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1