APDL与命令流的使用.ppt
《APDL与命令流的使用.ppt》由会员分享,可在线阅读,更多相关《APDL与命令流的使用.ppt(34页珍藏版)》请在冰豆网上搜索。
![APDL与命令流的使用.ppt](https://file1.bdocx.com/fileroot1/2022-10/7/7b197d42-6fe0-4b74-9323-86b5821d0e93/7b197d42-6fe0-4b74-9323-86b5821d0e931.gif)
1,APDL与命令流的使用,2,ANSYS命令流和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个字符;不能使用宏专用局部参数名:
ARG1ARG9和AR10AR99;不能使用由*ABBR命令定义的缩写;不能使用ANSYS标识字(Label)。
DOF:
TEMP,UX,PRES等。
常用:
ALL,PICK,STAT等。
用户定义:
如用ETABLE命令定义的。
数组类型:
如CHAR、ARRAY、TABLE等。
标量参数的定义方法:
1.利用*SET命令定义。
2.赋值号“”定义。
3.GUI菜单定义(如图2):
UtilityMenuParametersScalarParameters4.启动时驱动命令定义。
5.提取ANSYS数据库数据赋值定义。
例如:
*SET,ABC,-24*SET,QR,2.07E11*SET,XORY,ABCInrad2.5Outrad8.2ThickOutradInrad启动时定义参数的两种途径:
在ANSYS启动命令之后按“NameValue”输入定义。
在ANSYS启动界面中进行定义。
举例:
Ansys-parm189.3-parm2-0.1Ansys-m1024-radius12.43-thick10.15-cname/filename/,提取ANSYS数据库数据赋值定义的两种途径:
*GET提取命令。
内嵌提取函数。
*GET提取命令:
从特定对象(点、单元或面等)中提取数据库数据,并赋予某个用户命令的Scalar参数,有两种途径:
菜单路径:
UtilityMenuParametersGetScalarData。
*GET命令的使用格式。
*GET,Par,Entity,ENTNUM,Item1,IT1NUM,Item2,IT2NUM其中:
Par将被赋值的参数名;Entity将提取对象关键字(NODE,ELEM,KP);ENTNUM提取对象的号码(若为0指全部实体);Item1,IT1NUM是指对象的项目名和项目号;Item2,IT2NUM同上。
菜单路径:
UtilityMenuParametersGetScalarData,内嵌提取直接返回一个数值并在当前使用,内嵌提取函数主要提取以下信息:
1)实体选择状态;2)选择下一个实体;3)面积;4)单元的表面;5)自由度结果;6)坐标最近节点或关键点;7)关键点/节点间距离或角度;8)节点、单元、关键点等的特征坐标值;9)节点见、关键点间以及节点到单元的距离;10)离关键点/节点/节点最近的关键点/节点/单元;11)节点关联单元/单元的逻辑节点号。
2.2数组参数,1.数值型数组默认的数组类型为数值型数组。
行列面下标从1开始的连续证书。
数组元素为整型或实型数。
2.字符型数组字符数组类型。
元素不超过8个字符。
行列面下标为从1开始的连续整数。
3.表一种特殊的数字数组类型。
可以实现定义元素间的线性插值。
每一行、列和面定义数组下标,下标为实数。
数组的定义,数组的赋值,表型数组可用于施加边界条件等,也可用于存储公式编辑器编辑的公式。
字符型数组用于存储字符串。
数组和表的值可以直接让程序画出来。
具体方法如下:
GUI:
UtilityMenuPlotArrayParameters命令:
*VPLOT,三、宏语言及程序控制,所谓APDL宏就是一个ANSYS命令序列,自动完成一定任务的文件。
ANSYS自身有很多宏文件,包括前处理、后处理的等。
用户可以编制自己常用的宏文件。
宏调用的对象包括:
ANSYS命令,GUI函数或将值传递给宏函数。
典型的宏文件示例:
/prep7/view,-1,-2,-3block,4,3,2sphere,1vsbv,1,2finish,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通过菜单创建:
UtilityMenuMacroCreateMacro方法4通过文本编辑器进行编辑。
这是最常用的方法,3)宏库的创建宏库文件包含一批宏,用*CREATE命令或文本编辑器创建。
宏库文件没有明确文件扩展名。
宏库的典型格式如下:
MACRONAME1/EOFMACRONAME2/EOFMACRONAME2/EOF,下面是包括两个简单宏的宏库文件:
mybloc/prep7/view,-1,-2,-3block,4,3,2finish/EOFmysphere/prep7/view,-1,-2,-3sphere,1finish/EOF,3.2宏的执行,宏执行的方法:
1)使用*USE命令。
在宏搜索路径中,从命令提示窗口输入*usemymarco;2)在菜单中UtilityMenuMarcoExecuteMarco;3)执行宏库中的宏,使用*ULIB命令,例如*ulib,mymarco,mlib,/myaccount/marcos/。
3.3循环与分支结构,3.3.1DO循环ANSYS的DO循环的基本结构为:
*DO,I,1,N*ENDDODO循环中包含什么内容没有限制,甚至可以是整个分析过程,并且DO循环可以多层嵌套。
3.3.2宏内子程序的调用APDL允许嵌套达20级的宏,可以给宏传递19个变量。
下面例子中宏库文件MYSTART宏,调用MYSPHERE宏创建球:
mystart/prep7/view,-1,-2,-3mysphere,1.2finish/eofmyspheresphere,arg1/eof,3.3.3无条件分支GOTO最简单的分支命令*GO,将程序跳转到一个指定的标记处而不执行其间的任何命令,程序从指定标记处继续执行。
*GO,:
BRANCH1!
这些命令将被跳过:
BRANCH1,3.3.4条件分支*IF命令APDL允许基于条件执行一系列交替的程序块,条件是通过比较两个数值(或代表数值的参数)。
简单的IFTHENELSE结构,可以将条件分支、循环等结合在一起来控制程序的执行。
例如在一个壳模型中,厚度thk定义为参数,且只有三个壳厚可用(即,1/8”,3/16”,1/4”),则可有如下if-then-else结构:
et,1,63!
壳单元类型*if,thk,lt,2.5/16,thenthk=1/8!
用1/8ifthk3.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,2n,2,4n,3,6n,6,12,四、定制简单对话框,可以通过指定变量对话框,提示信息,调用对话框等来直接通过界面交互操作,也可以增加程序的通用性和灵活性。
4.1单变量提示对话框,通过提示用户输入变量数值来确定模型的参数,也明确模型中需要输入的两,而且变量都可以有自己的默认值。
格式:
*ASK,Par,Query,DVAL功能:
提示用户输入一个参数值对话框值域:
Par参数名Query提示文字(最多32个字符)DAVAL参数的默认值,4.2多变量提示对话输入框,多变量提示对话输入框一次可以输入多个参数。
语法:
MULTIPRO,start,变量数*CSET,起始位置,终止位置,参数名,提示字符串,默认值MUKLTIPRO,end说明:
可以输入110个*CSET命令。
-BUTTON返回状态值;-BUTTON0表示按下了OK按钮;-BUTTON1表示按下了Cancel按钮;,下面例子给出一个输入对话框。
multipro,start,3*cset,1,3,beamW,Entertheoverallbeamwidth,12.5*cset,4,6,beamH,Enterthebeamheight,23.345*cset,7,9,beamL,Enterthebeamlength,50.0multipro,end,