1、1,APDL与命令流的使用,2,ANSYS命令流和APDL语言十分方便,其语言规则类似但易于FORTRAN。,什么是APDL语言?APDL是 ANSYS Parametric Design Language(ANSYS参数设计语言)的缩写,一种脚本语言,可使模型参数化并使一般任务自动化。用 APDL语言,可以:用参数而不是数字输入模型尺寸,材料参数等。从 ANSYS 数据库提取信息,如结点坐标或最大应力值。,用APDL语言还可以:在参数间进行数学运算。用数组参数创建向量和矩阵并对其操作。对最常用的命令或宏定义缩写字(快捷方式)。创建一个带 if-then-else分支,do-loops循环和用
2、户提示的宏来执行一系列的任务。,一、参数化建模,利用ANSYS命令流可以方便地实现模型的参数化。可以直接点菜单完成第一个模型,然后将完成该模型的日志文件整理出来,经过人为的改造,即可形成一个参数化的输入命令文件。关键在于如何整理命令流。,将命令流整理并写出来的路径是:FILEWrite DB Log file,然后给定写出的命令流文件的名称,在下面的选项注意选择Write essential commands only,则ANSYS的“转动模型”等冗余命令都将被滤掉,只剩下有用的命令,即*.mac。注意,这还不是真正彻底的命令流,因为还有很多模型拾取的操作,因此将这部分操作改造掉才能得到真正的
3、命令流*.inp。,二、参数的定义与使用,ANSYS参数有标量参数和数组两种。数组类型有数值型数组(ARRAY)、表(TABLE)、字符数组。参数的用途:赋值;批量数据处理(运算/读写)。参数的特点:不必声明参数类型;使用未声明参数赋“极小值”(约为2E-100);无论整型还是实型都按双精度存储;数组参数必须先定义后使用。参数名不分大小写,即,“RAD”和“Rad”是相同的。所有参数 内部都是以大写形式存储的。,2.1标量参数,标量参数的使用应注意:必须以字母开头,只能包含字母、数字和下划线;不能以下划线开头,以下划线开头/结尾的参数为系统隐含参数(*.status,命令无效);不能超过32个
4、字符;不能使用宏专用局部参数名:ARG1ARG9和AR10AR99;不能使用由*ABBR命令定义的缩写;不能使用ANSYS标识字(Label)。DOF:TEMP,UX,PRES等。常用:ALL,PICK,STAT等。用户定义:如用ETABLE命令定义的。数组类型:如CHAR、ARRAY、TABLE等。,标量参数的定义方法:1.利用*SET命令定义。2.赋值号“”定义。3.GUI菜单定义(如图2):Utility MenuParametersScalar Parameters 4.启动时驱动命令定义。5.提取ANSYS数据库数据赋值定义。,例如:*SET,ABC,-24*SET,QR,2.07E
5、11*SET,XORY,ABC Inrad2.5 Outrad8.2 ThickOutradInrad 启动时定义参数的两种途径:在ANSYS启动命令之后按“Name Value”输入定义。在ANSYS启动界面中进行定义。举例:Ansys-parm1 89.3-parm2-0.1 Ansys-m1024-radius1 2.43-thick1 0.15-cname/filename/,提取ANSYS数据库数据赋值定义的两种途径:*GET提取命令。内嵌提取函数。*GET提取命令:从特定对象(点、单元或面等)中提取数据库数据,并赋予某个用户命令的Scalar参数,有两种途径:菜单路径:Utilit
6、y MenuParametersGet Scalar Data。*GET命令的使用格式。*GET,Par,Entity,ENTNUM,Item1,IT1NUM,Item2,IT2NUM 其中:Par将被赋值的参数名;Entity将提取对象关键字(NODE,ELEM,KP);ENTNUM提取对象的号码(若为0指全部实体);Item1,IT1NUM是指对象的项目名和项目号;Item2,IT2NUM同上。,菜单路径:Utility MenuParametersGet Scalar Data,内嵌提取直接返回一个数值并在当前使用,内嵌提取函数主要提取以下信息:1)实体选择状态;2)选择下一个实体;3)
7、面积;4)单元的表面;5)自由度结果;6)坐标最近节点或关键点;7)关键点/节点间距离或角度;8)节点、单元、关键点等的特征坐标值;9)节点见、关键点间以及节点到单元的距离;10)离关键点/节点/节点最近的关键点/节点/单元;11)节点关联单元/单元的逻辑节点号。,2.2数组参数,1.数值型数组 默认的数组类型为数值型数组。行列面下标从1开始的连续证书。数组元素为整型或实型数。2.字符型数组 字符数组类型。元素不超过8个字符。行列面下标为从1开始的连续整数。3.表 一种特殊的数字数组类型。可以实现定义元素间的线性插值。每一行、列和面定义数组下标,下标为实数。,数组的定义,数组的赋值,表型数组可
8、用于施加边界条件等,也可用于存储公式编辑器编辑的公式。字符型数组用于存储字符串。数组和表的值可以直接让程序画出来。具体方法如下:GUI:Utility MenuPlotArray Parameters 命令:*VPLOT,三、宏语言及程序控制,所谓APDL宏就是一个ANSYS命令序列,自动完成一定任务的文件。ANSYS自身有很多宏文件,包括前处理、后处理的等。用户可以编制自己常用的宏文件。宏调用的对象包括:ANSYS命令,GUI函数或将值传递给宏函数。典型的宏文件示例:/prep7/view,-1,-2,-3 block,4,3,2 sphere,1 vsbv,1,2 finish,ANSYS
9、宏文件的扩展名可以规定为.mac,则它可以自动执行,等同于ANSYS命令。宏文件名不能超过32个字符,不能以数字开头,扩展名不能超过8个字符,不能使用扩展名.MAC(用于ANSYS内部宏),文件名或文件扩展名中不能包含空格,不能包含当前文件系统禁止使用的字符。,3.1宏的创建,1)ANSYS宏的搜索路径(即宏放到这些目录即可自动执行):ANSYS docu子目录:/ansys9X/v91/ANSYS/apdl;ANSYS-MACROLIB环境变量指定路径;/PSEARCH指定路径;用户注册目录(home directory);当前目录。,2)ANSYS宏文件的定义方法:方法1参数的值不确定,参
10、数名被写入文件中。*CREATE,Fname,Ext,Dir*END 方法2*CFOPEN,Fname,Ext,Dir,Loc*CFWRITE,Command 方法3通过菜单创建:Utility MenuMacroCreate Macro 方法4 通过文本编辑器进行编辑。这是最常用的方法,3)宏库的创建 宏库文件包含一批宏,用*CREATE命令或文本编辑器创建。宏库文件没有明确文件扩展名。宏库的典型格式如下:MACRONAME1/EOF MACRONAME2/EOF MACRONAME2/EOF,下面是包括两个简单宏的宏库文件:mybloc/prep7/view,-1,-2,-3 block,
11、4,3,2 finish/EOF mysphere/prep7/view,-1,-2,-3 sphere,1 finish/EOF,3.2宏的执行,宏执行的方法:1)使用*USE命令。在宏搜索路径中,从命令提示窗口输入*usemymarco;2)在菜单中Utility MenuMarcoExecute Marco;3)执行宏库中的宏,使用*ULIB命令,例如*ulib,mymarco,mlib,/myaccount/marcos/。,3.3循环与分支结构,3.3.1DO循环ANSYS的DO循环的基本结构为:*DO,I,1,N*ENDDO DO循环中包含什么内容没有限制,甚至可以是整个分析过程,
12、并且DO循环可以多层嵌套。,3.3.2宏内子程序的调用 APDL允许嵌套达20级的宏,可以给宏传递19个变量。下面例子中宏库文件MYSTART宏,调用MYSPHERE宏创建球:mystart/prep7/view,-1,-2,-3 mysphere,1.2 finish/eof mysphere sphere,arg1/eof,3.3.3无条件分支GOTO 最简单的分支命令*GO,将程序跳转到一个指定的标记处而不执行其间的任何命令,程序从指定标记处继续执行。*GO,:BRANCH1!这些命令将被跳过:BRANCH1,3.3.4条件分支*IF命令 APDL允许基于条件执行一系列交替的程序块,条件
13、是通过比较两个数值(或代表数值的参数)。简单的IFTHENELSE结构,可以将条件分支、循环等结合在一起来控制程序的执行。例如在一个壳模型中,厚度 thk 定义为参数,且只有三个壳厚可用(即,1/8”,3/16”,1/4”),则可有如下 if-then-else 结构:et,1,63!壳单元类型*if,thk,lt,2.5/16,then thk=1/8!用 1/8 if thk 3.5/16*else thk=3/16!否则用 3/16*endif r,1,thk!定义壳厚为实常数,3.3.5隐式DO循环 隐式DO循环比DO循环更快,因为它在内存中执行。典型格式为x:y:z。z默认为1;例如
14、n,1:6,2:12:2将会执行下列步骤:n,1,2 n,2,4 n,3,6 n,6,12,四、定制简单对话框,可以通过指定变量对话框,提示信息,调用对话框等来直接通过界面交互操作,也可以增加程序的通用性和灵活性。,4.1单变量提示对话框,通过提示用户输入变量数值来确定模型的参数,也明确模型中需要输入的两,而且变量都可以有自己的默认值。格式:*ASK,Par,Query,DVAL 功能:提示用户输入一个参数值对话框 值域:Par 参数名 Query 提示文字(最多32个字符)DAVAL 参数的默认值,4.2多变量提示对话输入框,多变量提示对话输入框一次可以输入多个参数。语法:MULTIPRO,
15、start,变量数*CSET,起始位置,终止位置,参数名,提示字符串,默认值 MUKLTIPRO,end 说明:可以输入110个*CSET命令。-BUTTON返回状态值;-BUTTON0表示按下了OK按钮;-BUTTON1表示按下了Cancel按钮;,下面例子给出一个输入对话框。multipro,start,3*cset,1,3,beamW,Enter the overall beam width,12.5*cset,4,6,beamH,Enter the beam height,23.345*cset,7,9,beamL,Enter the beam length,50.0 multipro,end,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1