首页

  1. 首页
  2. 岩土论文
  3. 内容

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

给每个元素赋值为其行标

(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曲线。

 


五、使用函数加载器与编辑器

 


1、函数编辑器定义一个函数的一般步骤:

(1)打开函数编辑器,选择菜单路径utility——parameter——function

(2)选择函数类型:单个方程还是多值函数(分段函数),如果是后者,必须键入函数变量名,即状态控制变量,同时六状态也被激活。

(3)选择角度单位,度还是弧度。该选项仅决定方程如何被运算而不影响*AFUNC的设置

(4)定义方程:利用基本变量,方程变量和按键定义单个方程表达式,或者定义最多6个不同定义域的方程表达式。

 


1)点击regime1选项卡,首先指定状态控制变量的最大和最小取值区间,然后定义该取值区间对应的方程表达式,可将每个状态控制下的方程储存起来,在其他状态控制中重复使用。

2)同理对regime2进行设置,只需制定当前区间最大值

1.输入一个注释描述函数(可选),选择菜单路径function——file——command

2.保存函数editor——save and type in name 输入文件名,.func为扩展名,如果需要这些被存储的函数,首先将其加载到ansys中,并定义一系列的方程变量,以表参数名的形式给某个分析使用。

 


2、使用函数加载器:

(1)打开函数载入器,选择parameter——function——read from file 打开保存的函数

(2)在table parameter name 中输入表变量名

(3)对话框下部对应每个状态的函数表达式和状态表。单击函数表,即显示每个指定方程变量的数据输入区,如果需要使用材料ID变量,可以在其输入区输入。

(4)在每个定义的状态中重复以上过程。

(5)直到你为函数中所有的状态的所有变量提供赋值,才能保存为表格式参数使用。

注意:在ansys分析中用函数加载必须的两个步骤:

1利用函数编辑器创建任意方程或函数

2在利用函数加载器加载函数,并以函数定义表参数

相关文章

回到顶部
请复制以下网址分享
ANSYS变量数组函数教程(初级)
https://m.gc5.com/ytgc/ytlw/10261729.html