您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > APDL与命令流的使用
中南大学工程软件应用1APDL与命令流的使用中南大学工程软件应用2ANSYS命令流和APDL语言十分方便,其语言规则类似但易于FORTRAN。中南大学工程软件应用什么是APDL语言?•APDL是ANSYSParametricDesignLanguage(ANSYS参数设计语言)的缩写,一种脚本语言,可使模型参数化并使一般任务自动化。•用APDL语言,可以:–用参数而不是数字输入模型尺寸,材料参数等。–从ANSYS数据库提取信息,如结点坐标或最大应力值。中南大学工程软件应用•用APDL语言还可以:–在参数间进行数学运算。–用数组参数创建向量和矩阵并对其操作。–对最常用的命令或宏定义缩写字(快捷方式)。–创建一个带if-then-else分支,do-loops循环和用户提示的宏来执行一系列的任务。中南大学工程软件应用一、参数化建模•利用ANSYS命令流可以方便地实现模型的参数化。•可以直接点菜单完成第一个模型,然后将完成该模型的日志文件整理出来,经过人为的改造,即可形成一个参数化的输入命令文件。关键在于如何整理命令流。中南大学工程软件应用•将命令流整理并写出来的路径是:FILEWriteDBLogfile,然后给定写出的命令流文件的名称,在下面的选项注意选择Writeessentialcommandsonly,则ANSYS的“转动模型”等冗余命令都将被滤掉,只剩下有用的命令,即*.mac。•注意,这还不是真正彻底的命令流,因为还有很多模型拾取的操作,因此将这部分操作改造掉才能得到真正的命令流*.inp。中南大学工程软件应用二、参数的定义与使用•ANSYS参数有标量参数和数组两种。数组类型有数值型数组(ARRAY)、表(TABLE)、字符数组。•参数的用途:•赋值;•批量数据处理(运算/读写)。•参数的特点:•不必声明参数类型;•使用未声明参数赋“极小值”(约为2E-100);•无论整型还是实型都按双精度存储;•数组参数必须先定义后使用。•参数名不分大小写,即,“RAD”和“Rad”是相同的。所有参数内部都是以大写形式存储的。中南大学工程软件应用2.1标量参数•标量参数的使用应注意:–必须以字母开头,只能包含字母、数字和下划线;–不能以下划线开头,以下划线开头/结尾的参数为系统隐含参数(*.status,命令无效);–不能超过32个字符;–不能使用宏专用局部参数名:ARG1~ARG9和AR10~AR99;–不能使用由*ABBR命令定义的缩写;–不能使用ANSYS标识字(Label)。•DOF:TEMP,UX,PRES等。•常用:ALL,PICK,STAT等。•用户定义:如用ETABLE命令定义的。•数组类型:如CHAR、ARRAY、TABLE等。中南大学工程软件应用•标量参数的定义方法:–1.利用*SET命令定义。–2.赋值号“=”定义。–3.GUI菜单定义(如图2):UtilityMenu>Parameters>ScalarParameters–4.启动时驱动命令定义。–5.提取ANSYS数据库数据赋值定义。中南大学工程软件应用•例如:*SET,ABC,-24•*SET,QR,2.07E11•*SET,XORY,ABC•Inrad=2.5•Outrad=8.2•Thick=Outrad-Inrad•启动时定义参数的两种途径:–在ANSYS启动命令之后按“—NameValue”输入定义。–在ANSYS启动界面中进行定义。•举例:–Ansys-parm189.3-parm2-0.1–Ansys-m1024-radius12.43-thick10.15-cname/’filename/’中南大学工程软件应用•提取ANSYS数据库数据赋值定义的两种途径:–*GET提取命令。–内嵌提取函数。•*GET提取命令:•从特定对象(点、单元或面等)中提取数据库数据,并赋予某个用户命令的Scalar参数,有两种途径:–菜单路径:UtilityMenu>Parameters>GetScalarData。–*GET命令的使用格式。–*GET,Par,Entity,ENTNUM,Item1,IT1NUM,Item2,IT2NUM•其中:Par——将被赋值的参数名;•Entity——将提取对象关键字(NODE,ELEM,KP……);•ENTNUM——提取对象的号码(若为0指全部实体);•Item1,IT1NUM——是指对象的项目名和项目号;•Item2,IT2NUM——同上。中南大学工程软件应用菜单路径:UtilityMenu>Parameters>GetScalarData中南大学工程软件应用中南大学工程软件应用•内嵌提取直接返回一个数值并在当前使用,内嵌提取函数主要提取以下信息:•1)实体选择状态;•2)选择下一个实体;•3)面积;•4)单元的表面;•5)自由度结果;•6)坐标最近节点或关键点;•7)关键点/节点间距离或角度;•8)节点、单元、关键点等的特征坐标值;•9)节点见、关键点间以及节点到单元的距离;•10)离关键点/节点/节点最近的关键点/节点/单元;•11)节点关联单元/单元的逻辑节点号。中南大学工程软件应用2.2数组参数•1.数值型数组–默认的数组类型为数值型数组。–行列面下标从1开始的连续证书。–数组元素为整型或实型数。•2.字符型数组–字符数组类型。–元素不超过8个字符。•行列面下标为从1开始的连续整数。•3.表•一种特殊的数字数组类型。•可以实现定义元素间的线性插值。•每一行、列和面定义数组下标,下标为实数。中南大学工程软件应用•数组的定义中南大学工程软件应用•数组的赋值中南大学工程软件应用•表型数组可用于施加边界条件等,也可用于存储公式编辑器编辑的公式。•字符型数组用于存储字符串。•数组和表的值可以直接让程序画出来。•具体方法如下:•GUI:UtilityMenu>Plot>ArrayParameters•命令:*VPLOT中南大学工程软件应用三、宏语言及程序控制•所谓APDL宏就是一个ANSYS命令序列,自动完成一定任务的文件。ANSYS自身有很多宏文件,包括前处理、后处理的等。用户可以编制自己常用的宏文件。宏调用的对象包括:ANSYS命令,GUI函数或将值传递给宏函数。•典型的宏文件示例:•/prep7•/view,-1,-2,-3•block,,4,,3,,2•sphere,1•vsbv,1,2•finish中南大学工程软件应用•ANSYS宏文件的扩展名可以规定为.mac,则它可以自动执行,等同于ANSYS命令。•宏文件名不能超过32个字符,不能以数字开头,扩展名不能超过8个字符,不能使用扩展名.MAC(用于ANSYS内部宏),文件名或文件扩展名中不能包含空格,不能包含当前文件系统禁止使用的字符。中南大学工程软件应用3.1宏的创建•1)ANSYS宏的搜索路径(即宏放到这些目录即可自动执行):–ANSYSdocu子目录:/ansys9X/v91/ANSYS/apdl;–ANSYS-MACROLIB环境变量指定路径;–/PSEARCH指定路径;–用户注册目录(homedirectory);–当前目录。中南大学工程软件应用•2)ANSYS宏文件的定义方法:–方法1-参数的值不确定,参数名被写入文件中。•*CREATE,Fname,Ext,Dir•……•*END–方法2–-*CFOPEN,Fname,Ext,Dir,Loc•……•*CFWRITE,Command–方法3-通过菜单创建:–UtilityMenu>Macro>CreateMacro–方法4–-通过文本编辑器进行编辑。这是最常用的方法中南大学工程软件应用•3)宏库的创建•宏库文件包含一批宏,用*CREATE命令或文本编辑器创建。宏库文件没有明确文件扩展名。•宏库的典型格式如下:•MACRONAME1•……•/EOF•MACRONAME2•……•/EOF•MACRONAME2•……•/EOF中南大学工程软件应用•下面是包括两个简单宏的宏库文件:•mybloc•/prep7•/view,,-1,-2,-3•block,,4,3,2•finish•/EOF•mysphere•/prep7•/view,,-1,-2,-3•sphere,1•finish•/EOF中南大学工程软件应用3.2宏的执行•宏执行的方法:–1)使用*USE命令。在宏搜索路径中,从命令提示窗口输入*usemymarco;–2)在菜单中UtilityMenu>Marco>ExecuteMarco;–3)执行宏库中的宏,使用*ULIB命令,例如*ulib,mymarco,mlib,/myaccount/marcos/。中南大学工程软件应用3.3循环与分支结构•3.3.1DO循环•ANSYS的DO循环的基本结构为:•*DO,I,1,N•……•*ENDDO•DO循环中包含什么内容没有限制,甚至可以是整个分析过程,并且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允许基于条件执行一系列交替的程序块,条件是通过比较两个数值(或代表数值的参数)。•简单的IF-THEN-ELSE结构,可以将条件分支、循环等结合在一起来控制程序的执行。–例如在一个壳模型中,厚度thk定义为参数,且只有三个壳厚可用(即,1/8”,3/16”,1/4”),则可有如下if-then-else结构:et,1,63!壳单元类型*if,thk,lt,2.5/16,thenthk=1/8!用1/8ifthk2.5/16*elseif,thk,gt,3.5/16,thenthk=1/4!用1/4ifthk3.5/16*elsethk=3/16!否则用3/16*endifr,1,thk!定义壳厚为实常数中南大学工程软件应用•3.3.5隐式DO循环•隐式DO循环比DO循环更快,因为它在内存中执行。•典型格式为{x:y:z}。z默认为1;•例如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,’start’,变量数•*CSET,起始位置,终止位置,参数名,’提示字符串’,默认值•MUKLTIPRO,’end’•说明:可以输入1~10个*CSET命令。•-BUTTON返回状态值;•-BUTTON=0表示按下了OK按钮;•-BUTTON=1表示按下了Cancel按钮;中南大学工程软件应用•下面例子给出一个输入对话框。•multipro,’start’,3•*cset,1,3,beam
本文标题:APDL与命令流的使用
链接地址:https://www.777doc.com/doc-1816267 .html