ANSYS中变量数组函数初级教程
一、参数介绍
1、参数的概念和类型:
参数是指APDL中的变量与数组。
变量参数有两种类型:数值型和字符型。
数组参数有三种类型:数值型、字符型和表,表是一种特殊的数值型数组,允许自动进行线性差值。
在APDL中任何参数都不需要单独声明参数(不同于C语言)。数值型参数,无论整形还是实型都按照双精度进行存储,被使用但未被赋值的参数程序将默认一个接近0的极小值。字符型参数储存字符串,赋值方法是将字符创括在一对单引号中(最大长度8个字符)。
2、参数命名规则
1)必须以字母开头,长度不超过32个字符
2)只能包含字母,数值和下划线。
3)一般不能以下划线开头,以下划线开头的参数为系统隐含参数,只用于GUI和宏中。
4)以下划线结尾的参数用*STATUS命令或组列表显示,用*DEL删除。
5)不能使用宏专用的局部参数名:ARG1~ARG9和AR10~AR99.
6)不能使用*ABBR命令定义的缩写。
7)不能使用ANSYS表示子(Lable)如TEMP,UX,PRES等等。
举例一些无效参数名:
Fjsdklfjsklfjsklfjkslfjksdfjdkslfjsdklfjsdklfjs123434343(长度超过32)
S@B(含非法字符@)
UX(系统自由度标识符)
12ddd(以数字开头)
二、变量的定义与赋值
一般定义变量与赋值有以下6种,但本文只介绍常用的几种:
1)利用命令*set定义并赋值
2)利用“=”定义并赋值
3)利用GUI:utility menu——parameters——scalar parameters 定义赋值
4)在启动时利用驱动命令进行定义与赋值(建议初学者不要使用)
5)利用*get提取ANSYS数据库数据进行定义与赋值
6)利用*ask命令定义并赋值
1、利用*set定义变量并赋值
格式 *set,par,value,val2,val3……val10
Par——参数名
Valu——参数的赋值,数值或字符串
Val2~val10——对数组赋值(见例子4)
举例:*set,length,12(定义length并赋值为12)
*set,width,length(定义width并赋值为length的值12)
*set,abc_111,’good’(给abc_111定义为字符good)
*set,B(1),1,2,3,4(给数组B赋值,B(1)=1, B(2)=2, B(3)=3, B(4)=4)
2、利用“=”定义并赋值
“=”可以直接用来定义和赋值变量,作为一种速记符实际是通过内部调用*set实现参数定义与赋值的。
格式:name=value
name——参数名
vulue——赋给参数的数值或字符,字符必须放在一对单引号内并且不得超过8个字符。
例子:width=12
Length=width(12)
abc_111=‘good’
B(1)=1, B(2)=2, B(3)=3, B(4)=4
3、利用GUI或命令输入窗口进行变量定义与赋值。
1)在ansys命令输入窗口直接1,2输入。
2)利用利用GUI:utility menu——parameters——scalar parameters 定义赋值
4、删除变量
1)*set,par,(赋空值,字符型空为‘’)
2)name=(赋空值,字符型空为‘’)
3)利用上图delete
例子:width=
(width为空值注意不是0)
Abc_123=’’
(abc_123为空值)
5、列表显示变量参数
1)利用*status命令显示已定义的参数(变量,数组,表)
2)利用GUI:utility menu——list——other——parameters
utility menu——List——status——parameters——all para
3)利用GUI显示指定参数:
utility menu——list——other——named parameters
utility menu——List——status——parameters——named parameters
6、存储与恢复变量
1)存储变量到指定文件中使用PARSAV命令或选择菜单 utility menu——parameters——save parameter
格式如下:
PARSAV,LAB,文件名,扩展名
LAB包括scalar和all
Scalar——要存储的变量名(不包括数组表)
All——存储所有参数包括数组和表
2)从一个文件中恢复已存在的参数使用PARRES命令选择菜单
Utility menu——parameters——restore parameters
格式如下:
Parres,lab,文件名,扩展名
Lab——new和change
New——表示恢复的参数将覆盖程序内存中的变量(replace)
Change——表示恢复的参数将以合并方式增加到程序内存中(merge)
三、数组及其应用
1、ANSYS允许定义的数组类型
1)ARRAY数值型数组——ARRAY数值型数组是缺省的数组类型,用于存储整行式或实型数据,行列和面的下标从1开始的连续整数。
2)CHAR字符型数组——CHAR字符型数组用于存储字符串的数组,行列面的下标是从1开始的连续证书。
3)table表——table表用于存储整数或实数,是一种特殊的数值型数组,可以实现在数组元素之间的线性差值算法。可以给每一行,列面定义数组下标,并且下标为实数(而不是连续的整数),可以根据下标实现数据差值算法。
4)STRING字符串数组,可用*DIM,STRING可以将字符串输入到数组中,其列与面下标从1开始,行号由字符在字符串中的位置确定。
以上三种类型的数组都不能超过(2-1)/8字表长度。
2、定义数组参数
利用*DIM命令或利用utility menu——parameters——array parameters——define/edit定义数组,如果是array和table类型的数组元素将被初始化为0,如果是char类型的数组元素则被初始化为一空值。
利用*DIM格式如下:
*DIM,par,type,imax,jmax,kmax,var1,var2,var3
其中:par——数组名
Type——数组类型(array char table)缺省为array
Imax~kmax——数组下标(i,j,k)的最大值
Var1~var3——type=table时对应行列面的变量名
3、赋值数组参数
1)利用*set命令或“=”给单个或多个数组元素赋值与scalar变量赋值是格式相同。
2)利用*set或“=”赋值时,赋值对象为第一个元素名,赋值数据是一个列矢量,赋值结果是按列下标递增顺序从第一个赋值数组依次赋值。注意,一次最多只能给10个连续数组元素赋值,当只给一个元素赋值时与变量赋值完全一致。
举例:
(1)*DIM,,12,1,1
定义数组A为一个array类型,12行1列
A(1)=1,2,……12
给每个元素赋值为其行标js合并两个数组
(2)*DIM,B,array,4,3,1
定义数组B为一个array类型4行3列
B(1,1)=11,21,31,41
B(1,2)=12,22,32,42
B(1,3)=31,32,33,43
B=
注意此赋值的下标! 对于二维数组,赋值顺序按照列进行赋值,注意此规律。三维也是一样的。
(3)*DIM,C,char,4,1,1
C(1)=‘a’,‘b’,‘c’,‘d’
3)利用*VEDIT命令或等价GUI utility menu——parameter——array parameters——define/edit定义数组(不能编辑字符型数组)
4)列表显示数组参数
通过*status
或GUI:list——parameters(与变量显示一样的操作!)实现!
5)曲线图形显示数组参数
使用*VPLOT或通过GUI:utility menu——plot——array parameter绘制数值型数组参数的列矢量,由于array类型数组的数据是无序的故只能用柱状图;
*vplot,parx,pary,y2,y3,…y8
其中,parx是x轴上的列矢量名
Pary,y2….是y轴上映射的8个列矢量
例如:
*DIM,A,ARRAY,5,1,1
A(1)=1,2,3,4,5
*vplot,,A
6)删除数组参数
删除数组参数与删除变量很类似,也可以用*set或“=“进行赋空值删除,对于字符参数则赋值为‘’,删除时只需删除变量名及第一个元素的名称,或使用utility menu——parameter——array parameter——define/edit。
举例:删除一个一维数组A(12,1,1)命令如下:
A(1)=
或*set,A(1)
7)数组的储存和恢复——此操作基本与变量相同,请参看变量的操作。
四、表参数的概念和定义
由于表参数(table)不同于一般数组,所以在这里着重的讲讲:
1、table表类型参数是数值型的数组参数,与array数组类似,但包含0行0列(其他数组都是从1开始),每个面的下标值放在该面的0,0处。表的下标可以是递增的整数或实数。表数组赋值是通过行和列的下标进行的,如果不赋值,程序自动赋最小值,表允许通过线性差值计算表数组中以定义元素之间的任意值!
注意:
1)每个面的0,0元素值为该面的下标,若表为一二维表,只有一个面则无需赋值
2)0行0列的下标只有在差只是才会使用
显示(list)与数组规则相同注意imax为1开头,不包括0行0列。
对于表赋值建立建议使用GUI。若用APDL则为A(0,0,1)=….A(0,1,1)=…A(0,N,1)=…
可直接用*STATUS,TABLE
2、曲线图显示表参数的列矢量:与ARRAY一样使用*VPLOT,二者的差别是table类型数组的数据是有序的,采用曲线进行表示。
3、表差值及表载荷应用
表参数最大的特点就是提供按行列面的下标进行线性差值的功能。可以用于定义随某一变量(如时间)变化的边界条件载荷,相应谱曲线,压力曲线,材料温度曲线,磁性材料的B-H曲线。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论