1.参数
参数是APDL的变量,它们更像Fortran变量,而不像Fortran参数。不必明确声明参数类型,所有数值变量都以双精度数储存。被使用但未声明的参数都被赋一个接近0的值或极小值。例如,参数A被定义为A=B,但B没被定义,则赋给A一个极小值。
2.参数命名规则
参数名称必须以字母开头,且只能包含字母、数值和下画线。
下面列出一些有效和无效的参数名。
有效参数名:ABC,PI,X_OR_Y。
无效参数名:NEW_VALUE(超过8个字符),2CF3(以数值开头),M&E(含非法字符"&")。
注意:要避免参数名与经常使用的ANSYS标识字相同,如自由度(DOF)标识字(TEMP、UX、PRES等);常用标识字(ALL、PICK、STAT等);用户定义标识字(如用ETABLE命令定义的标识字);数组类型标识字(如CHAR、ARRAY、TABLE等)。参数名不能以下画线(_)开头。这类参数名只能用于GUI和应用于ANSYS的宏中。
注意:名称为ARG1~ARG9和AR10~AR99的参数被保留为局部参数。
3.定义参数
定义参数的方法主要有值赋给参数;提取ANSYS提供的值,再把这些值赋给参数;可以用*GET命令或各种内嵌获取函数从ANSYS中提取值。下面的部分对其进行详细说明。
(1)在运行过程中给参数赋值
可以用*SET命令定义参数。如下面的例子。
也可以用“=”作为一种速记符来调用*SET命令,其格式为Name=Value。式中,Name是指参数名;Value是指赋给该参数的数值或字符。对于字符参数,赋给的值必须被括在单引号中,并不能超过8个字符。下面的例子说明“=”的用法。
在GUI中,可以直接在ANSYS输入窗口或标量参数对话框的“Selection”域(通过Utility Menu︱Parameters︱Scalar Parameters菜单项访问)中输入“=”。
(2)将ANSYS提供的值赋给参数
1)*GET命令的用法。
GUI:Utility Menu︱Parameters︱Get Scalar Data。
从某个特定的项目如一个点、一个单元、一个面等中提取ANSYS提供的数据并赋给某个用户命名的参数。各种关键词、标识字和数字结合在一起来确定被提取的项目。例如,*GET,A,ELEM,5,CENT,X,表示返回单元5的质心的X坐标值并赋给参数A。
*GET命令的使用格式为
其中,Par是将被赋值的参数名;Entity是被提取项目的关键词,有效的关键词是NODE、ELEM、KP、LINE、AREA、VOLU等,在ANSYS Commands Reference中的*GET部分对之有完整的说明;ENTNUM是实体的编号(若为0指全部实体);Item1是指某个指定实体的项目名。例如,如果Entity是ELEM,那么Item1要么是NUM(选择集中的最大或最小的单元编号),要么是COUNT(选择集中的单元数目)。
可以把*GET命令看成是对一种树形结构从上至下的路径搜索,即从一般到特殊的确定。
可用下面的例子来说明*GET命令的用法。下面的第一条命令用于获得单元97的材料属性(MAT参考号)并赋给单元BCD。
2)内嵌获取函数的用法。对于某些项目,可以用内嵌的获取函数来代替*GET命令。获取函数返回项目的值并直接用于当前运行之中。这样就不必先把值赋给参数,然后再在运行中调用该参数,从而可以省去起中间作用的参数。例如,要计算两个节点的X坐标的平均值,可以采用*GET函数。
①使用下面的命令来把节点1的X坐标值赋给参数L1。
②再使用*GET命令来把节点2的X坐标值赋给参数L2。
③计算中间值MID=(L1+L2)/2。
更简便的方法是使用节点坐标的获取函数NX(N),该函数返回节点N的X坐标值。这样就可以不用中间参数L1和L2,如下所示。
获取函数的参数可以是参数,也可以是其他的获取函数。例如,获取函数NELEM(ENUM,NPOS)返回在单元ENUM上NPOS处的节点编号,则联合函数NX(NELEM(ENUM,NPOS))返回该节点的X坐标值。
(3)排列显示参数(www.xing528.com)
一旦定义了参数,就可以用*STATUS命令把它们排列显示出来。如果仅用*STATUS命令(没有附加参数),则列表显示目前所有已定义的参数。
通过Utility Menu︱List︱Other︱Parameters或Utility Menu︱List︱Status︱Parameters︱All Parameters菜单项也可以得到参数的列表显示。
注意:以下画线(_)开头或结尾的参数不能由*STATUS命令显示出来。
4.删除参数
可通过两种途径来删除参数。
1)使用“=”命令,其右边为空。例如,使用该命令来删除参数QR。
QR=
2)使用*SET命令(Utility Menu︱Parameters︱Scalar Parameters),但不给参数赋值。例如,使用该命令来删除参数QR。
*SET,QR,
令某个数值参数为0并没有删除该参数。同样,令某个字符参数为空的单引号(' ')或单引号中为空格也没有删除该参数。
5.数字参数值的置换
只要在有关数字命令的地方用到参数,该参数值都会被自动置换。假如没有给该参数赋值(即该参数还没被定义),程序会自动赋给它一个接近0的值,通常不会发出警告。
注意:大多数情况下,某参数在一个命令中使用之后,再被定义,不会再更新该命令。例如:
6.参数公式
参数公式包括对参数和数值的运算,如加、减、乘、除等。例如:
(1)运算符号操作
+:加;-:减;*:乘;/:除;**:求幂;<:小于;>:大于。
(2)也可以使用圆括号。ANSYS运算的顺序如下所示
1)圆括号中的运算(最里面最优先)。
2)求幂(从右到左)。
3)乘和除(从左到右)。
4)一元联合(如+A或-A)。
5)加和减(从左到右)。
6)逻辑判断(从左到右)。
因此,一个诸如Y2=A+B**C/D*E的公式按如下顺序求值:最先求B**C,第二步为/D,第三步为*E,最后+A。为了更清楚,可以在公式中使用圆括号。圆括号最多可嵌套3层,在每套圆括号中最多可有9次运算。一般来说,在公式的运算符之间不要有空格。特别是在*之前不能有空格,这是因为如果这样,接下来的输入行(以*开头)将被作为一条命令来解释,而不再是公式的一部分了。
7.带参数的函数
一个带参数的函数是数学运算的程序序列,并返回一个值,如SIN(X)、SQRT(B)和LOG(13.2)。表3-2完整地列出了当前可用的ANSYS函数。
表3-2 ANSYS可用的函数
(续)
下面是一些带参数函数的例子。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。