在ANSYS操作过程或条件语句中,常常需要知道有关模型的许多参数值,如选择集中的单元数、节点数,最大节点号等。此时,一般可通过*GET命令来获得这些参数。现在,对于此类问题,我们有了一个更为方便的选择,那就是查询函数 — Inquiry Function。 Inquiry Function类似于ANSYS的 *GET 命令,它访问ANSYS数据库并返回要查询的数值,方便后续使用。ANSYS每执行一次查询函数,便查询一次数据库,并用查询值替代该查询函数。
假如你想获得当前所选择的单元数,并把它作为*DO循环的上界。传统的方法是使用*GET命令来获得所选择的单元数并把它赋给一个变量,则此变量可以作为*DO循环的上界来确定循环的次数 *get, ELMAX,elem,,count *do, I, 1, ELMAX … … *enddo
现在你可以使用查询函数来完成这件事,把查询函数直接放在*DO循环内,它就可以提供所选择的单元数 *do, I, ELMIQR(0,13) … … *enddo
这里的ELMIQR并不是一个数组,而是一个查询函数,它返回的是现在所选择的单元数。括弧内的数是用来确定查询函数的返回值的。第一个数是用来标识你所想查询的特定实体(如单元、节点、线、面号等等),括弧内的第二个数是用来确定查询函数返回值的类型的(如选择状态、实体数量等)。
同本例一样,通常查询函数有两个变量,但也有一些查询函数只有一个变量,而有的却有三个变量。
查询函数的种类和数量很多,下面是一些常用、方便而快速快捷的查询函数
1 AREA—arinqr(areaid,key)
areaid—查询的面,对于key=12,13,14可取为0; key—标识关于areaidr的返回信息 =1, 选择状态 =12,定义的数目 =13,选择的数目 =14,定义的最大数 =-1,材料号 =-2,单元类型 =-3,实常数 =-4,节点数 =-6,单元数 …
arinqr(areaid,key)的返回值 对于key=1 =0, areaid未定义 =-1,areaid未被选择 =1, areaid被选择 …
2 KEYPOINTS—kpinqr(kpid,key)
kpid—查询的关键点,对于key=12,13,14为0 key —标识关于kpid的返回信息 =1,选择状态 =12,定义的数目 =13,选择的数目 =14,定义的最大数目 =-1,数料号 =-2,单元类型 =-3,实常数
=-4,节点数,如果已分网 =-7,单元数,如果已分网 kpinqr(kpid,key)的返回值 对于key=1
=-1,未选择 =0,未定义 =1, 选择
3 LINE—lsinqr(lsid,key)
lsid—查询的线段,对于key=12,13,14为0 key—标识关于lsid的返回信息 =1, 选择状态 =2, 长度 =12,定义的数目 =13,选择的数目 =14,定义的最大数 =-1,材料号 =-2,单元类型 =-3,实常数 =-4,节点数 =-6,单元数 …
4 NODE—ndinqr(node,key)
node—节点号,对于key=12,13,14为0 key—标识关于node的返回信息 =1, 选择状态 =12,定义的数目
=13,选择的数目 =14,定义的最大数 =-2,超单元标记 =-3,主自由度 =-4,激活的自由度 =-5,附着的实体模型 ndinqr(node,key)的返回值 对于key=1 =-1,未选择 =0,未定义 =1, 选择
5 VOLUMES—vlinqr(vnmi,key)
vnmi—查询的体,对于key=12,13,14为0 key—标识关于vnmi的返回信息 =1,选择状态 =12,定义的数目 =13,选择的数目 =14,定义的最大数目 =-1,数料号 =-2,单元类型
=-3,实常数 =-4,节点数 =-6,单元数 =-8,单元形状 =-9,中节点单元 =-10,单元坐标系
vlinqr(vnmi,key)的返回值 对于key=1 =-1,未选择 =0,未定义 =1, 选择 说明:本信息
在ANSYS操作过程或条件语句中,常常需要知道有关模型的许多参数值,如选择集中的单元数、节点数,最大节点号等。此时,一般可通过*GET命令来获得这些参数。现在,对于此类问题,我们有了一个更为方便的选择,那就是查询函数 — Inquiry Function。 Inquiry Function类似于ANSYS的 *GET 命令,它访问ANSYS数据库并返回要查询的数值,方便后续使用。ANSYS每执行一次查询函数,便查询一次数据库,并用查询值替代该查询函数。
假如你想获得当前所选择的单元数,并把它作为*DO循环的上界。传统的方法是使用*GET命令来获得所选择的单元数并把它赋给一个变量,则此变量可以作为*DO循环的上界来确定循环的次数
*get, ELMAX,elem,,count *do, I, 1, ELMAX … … *enddo
现在你可以使用查询函数来完成这件事,把查询函数直接放在*DO循环内,它就可以提供所选择的单元数 *do, I, ELMIQR(0,13) … … *enddo
这里的ELMIQR并不是一个数组,而是一个查询函数,它返回的是现在所选择的单元数。括弧内的数是用来确定查询函数的返回值的。第一个数是用来标识你所想查询的特定实体(如单元、节点、线、面号等等),括弧内的第二个数是用来确定查询函数返回值的类型的(如选择状态、实体数量等)。
同本例一样,通常查询函数有两个变量,但也有一些查询函数只有一个变量,而有的却有三个变量。
查询函数的种类和数量很多,下面是一些常用、方便而快速快捷的查询函数
1 AREA—arinqr(areaid,key)
areaid—查询的面,对于key=12,13,14可取为0; key—标识关于areaidr的返回信息 =1, 选择状态 =12,定义的数目 =13,选择的数目 =14,定义的最大数 =-1,材料号 =-2,单元类型 =-3,实常数 =-4,节点数 =-6,单元数 …
arinqr(areaid,key)的返回值 对于key=1 =0, areaid未定义 =-1,areaid未被选择 =1, areaid被选择 …
2 KEYPOINTS—kpinqr(kpid,key)
kpid—查询的关键点,对于key=12,13,14为0 key —标识关于kpid的返回信息
=1,选择状态 =12,定义的数目 =13,选择的数目 =14,定义的最大数目 =-1,数料号 =-2,单元类型 =-3,实常数
=-4,节点数,如果已分网 =-7,单元数,如果已分网 kpinqr(kpid,key)的返回值 对于key=1 =-1,未选择 =0,未定义 =1, 选择
3 LINE—lsinqr(lsid,key)
lsid—查询的线段,对于key=12,13,14为0 key—标识关于lsid的返回信息 =1, 选择状态 =2, 长度 =12,定义的数目
=13,选择的数目 =14,定义的最大数 =-1,材料号 =-2,单元类型 =-3,实常数 =-4,节点数 =-6,单元数 …
4 NODE—ndinqr(node,key)
node—节点号,对于key=12,13,14为0 key—标识关于node的返回信息 =1, 选择状态 =12,定义的数目 =13,选择的数目 =14,定义的最大数 =-2,超单元标记 =-3,主自由度 =-4,激活的自由度 =-5,附着的实体模型 ndinqr(node,key)的返回值 对于key=1 =-1,未选择
=0,未定义 =1, 选择
5 VOLUMES—vlinqr(vnmi,key)
vnmi—查询的体,对于key=12,13,14为0 key—标识关于vnmi的返回信息 =1,选择状态 =12,定义的数目 =13,选择的数目 =14,定义的最大数目 =-1,数料号 =-2,单元类型 =-3,实常数 =-4,节点数 =-6,单元数 =-8,单元形状 =-9,中节点单元 =-10,单元坐标系
vlinqr(vnmi,key)的返回值 对于key=1 =-1,未选择
=0,未定义 =1, 选择
因篇幅问题不能全部显示,请点此查看更多更全内容