ANSYS命令流、二次开发与HELP文档之五-变量与函数及表达式 在使用APDL进行ANSYS分析程序的开发时,正确的理解变量和合理的调用程序本身自带的函数能够大大的提高程序开发的效率,开发分析程序的重要目的之一就是简化分析、使分析过程参数化和流程化。而在这个过程中函数是灵魂,变量是筋骨,是贯穿程序前后和实现程序功能的唯一工具。本篇主要就是讲述在进行APDL程序开发时,最重要的变量定义方法和最重要的函数及数学表达式的描述方法。
在使用APDL进行ANSYS分析程序的开发时,正确的理解变量和合理的调用程序本身自带的函数能够大大的提高程序开发的效率,开发分析程序的重要目的之一就是简化分析、使分析过程参数化和流程化。而在这个过程中函数是灵魂,变量是筋骨,是贯穿程序前后和实现程序功能的唯一工具。本篇主要就是讲述在进行APDL程序开发时,最重要的变量定义方法和最重要的函数及数学表达式的描述方法。
1 本篇主要内容导读
本篇主要包含以下几个方面的内容:变量的定义方法、常用函数、APDL中数学表达式、本篇总结。
在变量的定义方法部分,讲述APDL程序化设计最重要部分变量的定义方法;在函数调用部分主要描述APDL程序化常用的查询函数、对话框函数等几个最常用的函数;
在APDL中数学表达式部分,描述在APDL程序中,常用来通过变量表达计算式的数学表达式的常用元素和使用方法。
2 APDL程序变量
在APDL程序中,变量定义与赋值有以下6种途径:
利用命令*SET命令进行定义与赋值。
利用赋值号“=”进行定义与赋值。
利用菜单路径UtilityMenu>Parameters>ScalarParameters或命令输入窗口进行定义与赋值。
在启动时利用驱动命令进行定义与赋值。
利用*GET及其等效函数提取ANSYS数据库数据进行定义与赋值。
利用*ASK命令进行定义与赋值。
在以上的六种定义变量的方法中,除第四种方法使用频率不高之外,其它的变量定义方法都各有其优缺点,所以开发者在使用时应该对这几种方法都有所了解。下面会简单描述每种定义的变量的方法。
1)利用命令*SET进行变量定义与赋值
*SET命令定义和赋值参数的格式如下:*SET,Par,VALUE,VAL2,VAL3,VAL4,VAL5,VAL6,VAL7,VAL8,VAL9,VALl0
其中:Par是参数名、VALUE是参数的赋值,可以是数值或字符串、VAL2-VALl0也是参数的赋值,可以是数值或字符串。
利用该命令定义和赋值参数的实例如下:
*SET,Width,12(即Width赋值为12)
*SET,EX Matl,2.1Ell(即EX Matl赋值为2.1E11)
*SET,Length,Width(即Length赋值为Width,即Length等于12)
*SET,File name,"Good,(即File name赋值为"Good")
2)利用赋值号“=”进行变量定义与赋值
“=”可以直接用来定义和赋值变量,它作为一种速记符实际是通过内部调用*SET命令实现参数定义与赋值,其标准格式如下:
Name=Value
其中:Name是参数名、Value是赋给参数的数值或字符,字符值必须必须放在一对单引号中,长度不超过8个字符。
3)利用变量定义菜单或命令输入窗口进行变量定义与赋值
在ANSYS命令输入窗口中可以直接按照*SET命令或“=”格式定义并赋值变量。
4)利用菜单路径Utility Menu>Parameters>Scalar Parameters进行定义与赋值变量的方法。
选择该菜单路径,弹出定义/赋值/删除变量对话框,在对话框中的“Selection”文本输入框中利用 “=”格式输入变量定义与赋值表达式,然后单击Accept按钮,定义成功的变量将显示在Items的列表框中(这里显示的变量包括其他所有方法定义的变量)。
3 常用函数
APDL是用于实现参数化有限元分析的程序语言,它必须经常访问ANSYS数据库中的各种数据,如系统环境数据、目录路径、当前工作名、模型数据、结果数据以及其他各种数据等。访问的数据提取之后可以赋值给变量或者数组,然后再利用其他数学运算工具进行分析处理,就可以实现许多实际工程目的或者研究目的。
访问ANSYS的各种数据并赋值给变量有3种基本方法,如下所示:
1)*GET提取命令;
2)与*GET等价的内嵌提取函数;
3)/INQUIRE查询函数。
GET提取命令:*GET命令儿乎可以提取ANSYS数据库中的任何数据,包括任何对象(点、线、面、节点、单元等)的相关数据信息以及各处理器的设置或状态数据信息等,并赋值给指定名称的Scalar变量参数。*GET命令对应的菜单路径如下:
UtilityMenu>Parmneters>GetScalarData;
*GET命令的使用格式如下:
*GET,Par,Entity,ENTNUM,Iteml,ITlNUM,Item2,IT2NUM
其中:Par是赋值的参数名;
Entity是被提取对象关键字,有效的关键字是NODE、ELEM、KP、LINE、AREA和VOLU等,其它两条完整说明见ANSYS Commands Reference。
4 数学表达式
APDL参数化语言提供了编程语言最基本的数学运算类型,包括加、减、乘、除等,运算符号及其说明如下表。
结合圆括号的使用,由这些运算符构成的数学表达式在程序计算时必需遵循一定的运算顺序,ANSYS中规定的运算顺序如下:
1)圆括号中的运算(最里面最优先)
2)求幂(从右到左)
3)乘和除(从左到右)
4)一元联合(例如+A或-A)
5)加和减(从左到右)
6)逻辑判断(从左到右)
用一次胜过千言万语,这些基本的表达式元素的用法都很简单,用一次之后也就能够掌握。
5 本篇总结
本篇从变量、函数、表达式三个方面讲述这些元素在APDL的使用方法,这里讲的很简单也很不全面,因为想学习和精通一个东西,看书不是好的方法,最好的老师只有两个-兴趣和实践,最好的途径同样是这两个,多使用APDL去实现自己的一些分析小思想,时间久了,也就能够摸清其窍门,熟练运用这个工具给自己和别人的有限元分析带来极大的方便。