当前位置:服务支持 >  软件文章 >  ANSYS经验技巧:学会使用变量数组函数提升效率

ANSYS经验技巧:学会使用变量数组函数提升效率

阅读数 3
点赞 0
article_banner
很多人发帖询问怎么定义函数,怎么定义数组,如何使用函数,看来这方面对于初学者确是一个难点,为了让大家了解并利用此功能,本人根据自己的理解作出如下总结:
一.参数介绍
1.参数的概念和类型:
参数是指APDL中的变量数组
变量参数有两种类型:数值型字符型
数组参数有三种类型:数值型字符型,和,表是一种特殊的数值型数组,允许自动进行线性差值
APDL中任何参数都不需要单独声明参数(不同于C语言)。数值型参数,无论整形还是实型都按照双精度进行存储,被使用但未被赋值的参数程序将默认一个接近0的极小值。字符型参数储存字符串,赋值方法是将字符创括在一对单引号中(最大长度8个字符)。
2.参数命名规则
1)必须以字母开头,长度不超过32个字符
2)只能包含字母,数值和下划线。
3)一般不能以下划线开头,以下划线开头的参数为系统隐含参数,只用于GUI和宏中。
4)以下划线结尾的参数用*STATUS命令或组列表显示,用*DEL删除。
5)不能使用宏专用的局部参数名:ARG1~ARG9AR10~AR99.
6)不能使用*ABBR命令定义的缩写。
7)不能使用ANSYS表示子(Lable)如TEMP,UX,PRES等等。
举例一些无效参数名:
Fjsdklfjsklfjsklfjkslfjksdfjdkslfjsdklfjsdklfjs123434343(长度超过32
S@B(含非法字符@)
UX(系统自由度标识符)'
12ddd(以数字开头)

二.变量的定义与赋值
一般定义变量与赋值有以下6种,但本文只介绍常用的几种:

1.利用*set定义变量并赋值
格式 *setparvalueval2val3……val10
Par——参数名
Valu——参数的赋值,数值或字符串
Val2~val10——对数组赋值(见例子4
举例:

*setlength12(定义length并赋值为12
*setwidthlength(定义width并赋值为length的值12
*setabc_111,’good’(给abc_111定义为字符good)
*setB(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=width12
abc_111=good
B(1)=1, B(2)=2, B(3)=3, B(4)=4

3.利用GUI或命令输入窗口进行变量定义与赋值。
1)在ansys命令输入窗口直接12输入。
2)利用利用GUIutility menu——parameters——scalar parameters 定义赋值%



4.删除变量) ~
1*setpar,(赋空值,字符型空为‘’)
2name=(赋空值,字符型空为‘’)
3)利用上图delete
例子:width=
(width
为空值注意不是0)

Abc_123=’’
abc_123为空值)

5.列表显示变量参数
1)利用*status命令显示已定义的参数(变量,数组,表)
2)利用GUIutility 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.存储与恢复变量! n4 }1 k m6 I' q# e
1)存储变量到指定文件中使用PARSAV命令或选择菜单 utility menu——parameters——save parameter
格式如下:
PARSAV,LAB,文件名,扩展名
LAB包括scalarall
Scalar——要存储的变量名(不包括数组表)
All——存储所有参数包括数组和表

2)从一个文件中恢复已存在的参数使用PARRES命令选择菜单
Utility menu——parameters——restore parameters
格式如下:
Parreslab,文件名,扩展名
Lab——newchange
New——表示恢复的参数将覆盖程序内存中的变量(replace
Change——表示恢复的参数将以合并方式增加到程序内存中(merge


三.数组及其应用
1ANSYS允许定义的数组类型
1ARRAY数值型数组——ARRAY数值型数组是缺省的数组类型,用于存储整行式或实型数据,行列和面的下标从1开始的连续整数。
2CHAR字符型数组——CHAR字符型数组用于存储字符串的数组,行列面的下标是从1开始的连续证书。
3table表——table表用于存储整数或实数,是一种特殊的数值型数组,可以实现在数组元素之间的线性差值算法。可以给每一行,列面定义数组下标,并且下标为实数(而不是连续的整数),可以根据下标实现数据差值算法。
4STRING字符串数组,可用*DIM,STRING可以将字符串输入到数组中,其列与面下标从1开始,行号由字符在字符串中的位置确定。
以上三种类型的数组都不能超过(2-1/8字表长度。

2.定义数组参数
利用*DIM命令或利用utility menu——parameters——array parameters——define/edit定义数组,如果是arraytable类型的数组元素将被初始化为0,如果是char类型的数组元素则被初始化为一空值。
利用*DIM格式如下:
*DIMpartypeimaxjmaxkmaxvar1var2var3
其中:par——数组名
Type
——数组类型(array char table)缺省为array
"

Imax~kmax
——数组下标(ijk)的最大值


Var1~var3
——type=table时对应行列面的变量名

3.赋值数组参数
1)
利用*set命令或“=”给单个或多个数组元素赋值与scalar变量赋值是格式相同。
2)
利用*set或“=”赋值时,赋值对象为第一个元素名,赋值数据是一个列矢量,赋值结果是按列下标递增顺序从第一个赋值数组依次赋值。注意,一次最多只能给10个连续数组元素赋值,当只给一个元素赋值时与变量赋值完全一致。
举例:
a) *DIM,,1211. D; T! u; k8 \" D6 F
定义数组A为一个array类型,121
A(1)=1,2,……12
给每个元素赋值为其行标

b) *DIMBarray431
定义数组B为一个array类型43

B(1,1)=11,21,31,41
B(1,2)=12,22,32,42
B(1,3)=31,32,33,43
B=
注意此赋值的下标! 对于二维数组,赋值顺序按照列进行赋值,注意此规律。三维也是一样的。
c) *DIMCchar411
C1=a’,‘b’,‘c’,‘d
3)
利用*VEDIT命令或等价GUI utility menu——parameter——array parameters——define/edit定义数组(不能编辑字符型数组)
填入适当的值后选择file——apply/quit,至此一个数组编辑完成
6
4)列表显示数组参数)
通过*status
GUI list——parameters(与变量显示一样的操作!)实现!


5)曲线图形显示数组参数)
使用*VPLOT或通过GUI:utility menu——plot——array parameter绘制数值型数组参数的列矢量,由于array类型数组的数据是无序的故只能用柱状图;
*vplot,parx,pary,y2,y3,…y8;
其中,parxx轴上的列矢量名
Paryy2….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)=
*setA(1)

7)数组的储存和恢复——此操作基本与变量相同,请参看变量的操作。

四.表参数的概念和定义
由于表参数(table)不同于一般数组,所以在这里着重的讲讲:
1.table表类型参数是数值型的数组参数,与array数组类似,但包含00(其他数组都是从1开始),每个面的下标值放在该面的00处。表的下标可以是递增的整数或实数。表数组赋值是通过行和列的下标进行的,如果不赋值,程序自动赋最小值,表允许通过线性差值计算表数组中以定义元素之间的任意值!
注意:
1)每个面的00元素值为该面的下标,若表为一二维表,只有一个面则无需赋值
2
00列的下标只有在差只是才会使用

显示(list)与数组规则相同注意imax1开头,不包括00列。
对于表赋值建立建议使用GUI。若用APDL则为A(0,0,1)=….A(0,1,1)=…A(0,N,1)=…
可直接用*STATUSTABLE
1.曲线图显示表参数的列矢量:与ARRAY一样使用*VPLOT,二者的差别是table类型数组的数据是有序的,采用曲线进行表示
2.表差值及表载荷应用9
表参数最大的特点就是提供按行列面的下标进行线性差值的功能。可以用于定义随某一变量(如时间)变化的边界条件载荷,相应谱曲线,压力曲线,材料温度曲线,磁性材料的B-H曲线。


五.使用函数加载器与编辑器
使用函数加载的必要性就不用多说了,直接开始教程:
函数编辑器定义一个函数的一般步骤:
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中,并定义一系列的方程变量,以表参数名的形式给某个分析使用。
使用函数加载器:
1.打开函数载入器,选择parameter——function——read from file 打开保存的函数
2.table parameter name 中输入表变量名
3.对话框下部对应每个状态的函数表达式和状态表。单击函数表,即显示每个指定方程变量的数据输入区,如果需要使用材料ID变量,可以在其输入区输入。
4.在每个定义的状态中重复以上过程。
5.直到你为函数中所有的状态的所有变量提供赋值,才能保存为表格式参数使用。
注意:ansys分析中用函数加载必须的两个步骤:
1利用函数编辑器创建任意方程或函数
2在利用函数加载器加载函数,并以函数定义表参数



转自:三维网。 作者:4kpolo
原帖链接:http://www.3dportal.cn/discuz/viewthread.php?tid=746468&extra=page%3D1%26amp%3Bfilter%3Ddigest

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空