24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1990  |  回复: 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的回帖

金华岁月

金虫 (著名写手)

引用回帖:
9楼: Originally posted by zhuce9 at 2014-07-06 15:03:49
lz,抱歉之前没有认真看你的代码,看了代码觉得你是忘了给x,y,z,time分别定义一个数组。也就是说,你定义laser(x,y,z,time)之前应该给每个row,column,book,shelf先定义。一句话说不清,给你看一个五维的数组。例子 ...

额,五维数组的例子,看了好几遍了。我觉得,我并不是忘了在这之前先对行列面书先定义。
例子中,提前定义这些一位ARRAY数组,只是为了后面给这个五维数组中的元素赋值。而我贴出的程序,只是简单的建立起了一个四维数组,还没有到赋值的一步呢。
金华岁月谁与共?樱花树下,飘雪如梦......
12楼2014-07-06 15:44:53
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见