表操作疑问:table的元素在某些函数里是不是不能做参数
实验的目的想将所有节点号及相应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
循环体内任选其一都得到错误结果,如下:
于是猜想是不是应该把整个列附值完才能用*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?
想请教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列的行,列值又表示什么呢
ansys可以加载分布且周期变化的力吗?
这个帖子看看有没有用。http://www.baisi.net/thread-733758-1-1.html
页:
[1]