24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1988  |  回复: 16
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

金华岁月

金虫 (著名写手)

[求助] ANSYS四维TABLE建立移动三维热源,程序总是出错,求原因解释!已有2人参与

本人之前见过使用三维TABLE来描述移动面热源的例子,现在想使用APDL建立起移动三维热源,初步打算是:四个维度分别代表X/Y/Z/TIME,热源分别是X/Y/Z以及TIME的函数,现在尝试程序编辑如下,但总是出现错误提示:
Subscript 3 is out of range for parameter LASER. Specified value is 0 Maximum is 21.
不知道那位前辈能帮着解释下错误?或者那位虫友有相似的问题,也可以沟通交流一下。


*SET,lzsize,0.0001      
*SET,lsize,5e-4  
*SET,MAX_TIME,41   
*SET,MAX_X,61
*SET,MAX_Y,41
*SET,MAX_Z,21            !此处加上Z轴   

*DIM,laser,TAB4,MAX_X,MAX_Y,MAX_Z,MAX_TIME,X,Y,Z,TIME  
*DO,L,1,MAX_TIME,1
*DO,K,1,MAX_Z,1
*DO,I,1,MAX_X,1
*SET,laser(I,0,K,L),(I-1)*LSIZE   
*ENDDO  
*DO,J,1,MAX_Y,1
*SET,laser(0,J,K,L),(J-1)*LSIZE   
*ENDDO
*SET,laser(0,0,K,L),(K-1)*LZSIZE          !此处相应的加上Z轴数据
*ENDDO
*SET,laser(0,0,0,L),(L-1)*0.083333333
*ENDDO
回复此楼
金华岁月谁与共?樱花树下,飘雪如梦......
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

金华岁月

金虫 (著名写手)

引用回帖:
6楼: Originally posted by htbbzzg at 2014-07-05 08:43:43
还是不明白你的意思。你的 "索引值" 和下标是什么关系?
    我的理解:如果用坐标轴作为参考,数组中的下标应该相当于在坐标轴上的若干点,各个点的具体坐标值就是数组中相应位置的数值。
    在定义数 ...

我说的索引值就是下标了。

对于TABLE,三维的时候,行、列、面分别都有自己的下标值,分别在0行、0列以及每个面的0行0列存放各自的下标。

但是,当Table升级为4维的时候,举例说四维:X Y Z Time分别代表行、列、面和BOOK,那么,从现有的各种资料里,都没看到,第四维有没有自己对应的下标。
这样,当我用四维数组,定义一个关于XYZ以及Time变化的热源的时候,就不知道如何让这个热源随时间移动位置了。就是这个问题
金华岁月谁与共?樱花树下,飘雪如梦......
7楼2014-07-05 18:50:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 17 个回答

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
金华岁月: 金币+10, 有帮助, 前进了一点儿 2014-07-03 19:53:23
ANSYS 的表数组中,前两个下标 (ROW 和 Column) 是从 0 开始计数的,而第 3,4,5 个下标是从 1 开始计数的,不能为零。否则将被认为是超过了表数组下标的范围而报错。
2楼2014-07-03 17:11:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

金华岁月

金虫 (著名写手)

引用回帖:
2楼: Originally posted by htbbzzg at 2014-07-03 17:11:48
ANSYS 的表数组中,前两个下标 (ROW 和 Column) 是从 0 开始计数的,而第 3,4,5 个下标是从 1 开始计数的,不能为零。否则将被认为是超过了表数组下标的范围而报错。

嗯 这一点我看了下 倒是对的  不过  对于每一个维度而言  都有应该有自己的索引值   
行和列的索引值直接就是
*DO,I,1,MAX_X,1
*SET,laser(I,0,K,L),(I-1)*LSIZE   
*ENDDO  
*DO,J,1,MAX_Y,1
*SET,laser(0,J,K,L),(J-1)*LSIZE   
*ENDDO
定义,但是后面两个维度,索引值怎么定义呢?
金华岁月谁与共?樱花树下,飘雪如梦......
3楼2014-07-03 19:53:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

不明白你的意思。你是说在定义数组时还是在使用数组时的情况?
定义数组时,对 1~3 维数组,格式是:
    *DIM, Par, Type, IMAX, JMAX, KMAX, Var1, Var2, Var3, CSYSID
如果是定义 4~5 维数组,相应的 *DIM 命令的格式分别是:
     *DIM, Par, Type, IMAX, JMAX, KMAX,LMAX, Var1, Var2, Var3, Var4,CSYSID
     *DIM, Par, Type, IMAX, JMAX, KMAX,LMAX,MMAX, Var1, Var2, Var3, Var4, Var5, CSYSID
使用时,下标个数应该与定义的数组维数一致。
需要注意的是:4 维和 5 维数组只能使用输入命令的方式来定义,不能在 GUI 中定义。
4楼2014-07-04 10:20:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见