声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1570|回复: 2

[综合讨论] 表操作疑问:table的元素在某些函数里是不是不能做参数

[复制链接]
发表于 2008-5-29 20:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
实验的目的
想将所有节点号及相应x坐标填入表中,节点号作为第一列,再按照节点号提取节点的x作为第0列,其他值放在其他列,这样其他值就可以按照x坐标画曲线了。

实验1
*get,e_table(1,1,1),node, ,num,min (1,1,1)附最小节点号,在给第1列的下一行附节点号时发现不能调用此列第一行的值,下面的程序段出现错误,执行后发现第二行及第二行以下都被附了相同的值。所以怀疑刚刚给表附值时不能用ndnext()函数调用它上面一行的值

*get,e_table(1,1,1),node, ,num,min
*DO,i,2,nnode

e_table(i,1,1)=ndnext(e_table(i-1,1,1))


!*get,e_table(i,1,1),node,e_table(i-1,1,1),nxth,

  !j=e_table(i-1,1,1)

!e_table(i,1,1)=ndnext(j)

*ENDDO
循环体内任选其一都得到错误结果,如下:



执行后发现第二行及第二行以下都被附了相同的值.JPG


于是猜想是不是应该把整个列附值完才能用*get调用,于是进行实验2

实验2
将所有节点号通过一维数组,先付给一个表的第1列,然后表的这一列做*get命令的参数提取数据付给其他列。结果出错,*get命令要寻找node 0
下面是命令流
*get,nnode,node, ,count
*DIM,e_table,TABLE,nnode,9,1
*dim,node_num,array,nnode,1,1
!
一维数组用来存节点号
*get,node_num(1,1,1),node, ,num,min
*do,i,2,nnode

node_num(i,1,1)=ndnext(node_num(i-1,1,1))


e_table(i,1,1)=node_num(i,1,1)

*enddo
*DO,i,1,nnode

*get,E_TABLE(I,2,1),node,e_table(i,1,1),loc,x,


*get,E_TABLE(I,0,1),node,e_table(i,1,1),loc,y,


*get,E_TABLE(I,4,1),node,e_table(i,1,1),loc,z,

*ENDDO
Error信息
Node 0 of *GET command is undefined.


Line= *get,E_TABLE(I,0,1),node,e_table(i,1,1),loc,y,


The *GET command is ignored.


找到的解决办法
而只能将所有节点号先付给一个一维数组,然后按照这个数组中的编号,*get命令中的参数用这个一维数组的元素,提取x坐标放在第0列,其他值放在其他列

*DIM,e_table,TABLE,nnode,9,1
*dim,node_num,array,nnode,1,1
!
一维数组用来存节点号
*get,node_num(1,1,1),node, ,num,min
*do,i,2,nnode

node_num(i,1,1)=ndnext(node_num(i-1,1,1))

*enddo
*DO,i,1,nnode

e_table(i,1,1)=node_num(i,1,1)



*get,E_TABLE(I,2,1),node, node_num(i,1,1),loc,x,


*get,E_TABLE(I,0,1),node, node_num(i,1,1),loc,y,


*get,E_TABLE(I,4,1),node, node_num(i,1,1),loc,z,

*ENDDO


产生的疑问table的元素在某些函数里是不是不能做参数,例如ndnext()*get




回复
分享到:

使用道具 举报

发表于 2008-5-31 14:07 | 显示全部楼层

想请教LZ关于TABLE表

求助:如何看TABLE表数据是三角函数呢帮助文件中定义的位移函数怎么理解
/BATCH
MAXDISP = 0.85
*DEL,_FNCNAME
*DEL,_FNCMTID
*DEL,_FNC_C1
*DEL,_FNC_C2
*SET,_FNCNAME,'uxdsp'
*DIM,_FNC_C1,,1
*DIM,_FNC_C2,,1
*SET,_FNC_C1(1),MAXDISP
*SET,_FNC_C2(1),2.5
! /INPUT,time.func
*DIM,%_FNCNAME%,TABLE,6,4,1
! Begin of equation: a*sin(omega*{TIME})
%_FNCNAME%(0,0,1)= 0.0, -999
%_FNCNAME%(2,0,1)= 0.0
%_FNCNAME%(3,0,1)= %_FNC_C1(1)%
%_FNCNAME%(4,0,1)= %_FNC_C2(1)%
%_FNCNAME%(5,0,1)= 0.0
%_FNCNAME%(6,0,1)= 0.0
%_FNCNAME%(0,1,1)= 1.0, -1, 0, 1, 18, 3, 1
%_FNCNAME%(0,2,1)= 0.0, -1, 9, 1, -1, 0, 0
%_FNCNAME%(0,3,1)=   0, -2, 0, 1, 17, 3, -1
%_FNCNAME%(0,4,1)= 0.0, 99, 0, 1, -2, 0, 0
! End of equation: a*sin(omega*{TIME})
!-->
位移定义成三角函数,但对TABLE认识不深,得到这样的数组,但是不了解怎么看出它是三角函数呢,调用的时候又是怎么调用的。是一列接着一列的吗,0行和0列的行,列值又表示什么呢

TABLE表

TABLE表
 楼主| 发表于 2008-6-1 14:34 | 显示全部楼层

ansys可以加载分布且周期变化的力吗?

这个帖子看看有没有用。

http://www.baisi.net/thread-733758-1-1.html
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 02:42 , Processed in 0.059945 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表