hangch 发表于 2004-6-8 20:50:53

【讨论】移动热源的加载,出错,请指教

学习对圆形的移动热源进行数组加载,加载后执行就报错,仔细看了,不知问题在哪儿,请高手指教
/UNITS,SI
/PREP7                                          
!设置单元类型
ET,1,SOLID90      
!设置材料特性
MP,EX,1,1.2E11         !弹性模量      
MP,ALPX,1,7.962E-6      !热膨胀系数
MP,REFT,1,20         !参考温度
MP,PRXY,1,0.3         !泊松比
MP,DENS,1,4000         !密度
MP,C,1,1.5            !比热
MP,KXX,1,0.4          !热传导系数
BLOCK,0,40,0,40,0,2!生成实体
SAVE
!MSHAPE,1,3D
!MSHKEY,0
ESIZE,1
/SOLU
MAX_TIME=41
RADIUS=2
MAX_X=2*RADIUS+1
MAX_Y=2*RADIUS+1
Qmax=1000
V=1
ELETH=1                     !单元长度
TIMESTEP=ELETH/V
K=1                            !能量集中系数

*DIM,FLUX2,TABLE,MAX_TIME,MAX_X,MAX_Y,TIME,X,Y
*DO,K,1,MAX_TIME,1
  *DO,I,1,MAX_X,1
    *DO,J,1,MAX_Y,1
     DISTANCE=SQRT((RADIUS-J)**2+(RADIUS-I)**2)
     *IF,DISTANCE,LE,RADIUS,THEN
       FLUX2(I,J,K)=Qmax*EXP(-K*DISTANCE**2)
     *ELSE
       FLUX2(I,J,K)=0
     *ENDIF      
    *ENDDO
  *ENDDO
*ENDDO

xbzhang 发表于 2004-6-9 08:14:44

回复: 【讨论】移动热源的加载,出错,请指教

很简单,FLUX2的定义不对,维数不对。自己仔细看看。

hangch 发表于 2004-6-9 10:08:21

回复: 【讨论】移动热源的加载,出错,请指教

维数有什么问题?
*DIM,FLUX2,TABLE,MAX_TIME,MAX_X,MAX_Y,TIME,X,Y
MAX_TIME对应TIME,
MAX_X对应x,
MAX_y对应y
问题在哪儿?
请指教

hangch 发表于 2004-6-9 10:31:53

回复: 【讨论】移动热源的加载,出错,请指教

我找到问题了,是数组赋值时,参数的顺序错误,应该是
FLUX2(K,I,J)=1000
还是如下这个程序,我只对平面上y轴0-8的宽度上的节点赋值,循环一次后,结果显示,整个平面上的温度都升高了,不知这是什么原因,请指教!
UNITS,SI
/PREP7                                          
!设置单元类型
ET,1,SOLID90      
!设置材料特性
MP,EX,1,1.2E11         !弹性模量      
MP,ALPX,1,7.962E-6      !热膨胀系数
MP,REFT,1,20         !参考温度
MP,PRXY,1,0.3         !泊松比
MP,DENS,1,4000         !密度
MP,C,1,1.5            !比热
MP,KXX,1,0.4          !热传导系数
BLOCK,0,40,0,40,0,2!生成实体
SAVE
!MSHAPE,1,3D
!MSHKEY,0
ESIZE,1
VMESH,ALL
/PNUM,DEFA
EPLOT
FINISH
    
/SOLU
MAX_TIME=41
MAX_X=41
MAX_Y=8

*DIM,FLUX2,TABLE,MAX_TIME,MAX_X,MAX_Y,TIME,X,Y
*DO,K,1,MAX_TIME,1
  *DO,I,1,MAX_X,1
    *DO,J,1,MAX_Y,1
     FLUX2(K,I,J)=1000
     *ENDDO
  *ENDDO
*ENDDO
  
ANTYPE,TRANS   !定义为暂态分析
TRNOPT,FULL
TUNIF,20         !设定初始所有节点温度
KBC,1            !步长的增加方式(stepped or ramped)
  *SET,DELT,1
   TIMINT,ON
   AUTOTS,OFF
   
*DO,TM,1E-6,1,1
  /VIEW, 1 ,1,1,1
  /ANG, 1
  /REP,FAST
   
  FLST,2,1,5,ORDE,1
  FITEM,2,2
   
  /GO
  !*
  TIME,TM
  AUTOTS,0
  DELTIM, , , ,1
  KBC,0
  !*
  TSRES,ERASE
  FLST,2,1,5,ORDE,1
  FITEM,2,2
  /GO
  !*
  !*
  SFA,P51X,1,HFLUX, %FLUX2%
  /STATUS,SOLU
  SOLVE
  OUTRES,ALL,ALL,
  /PSF,HFLUX,,2
   
  /REPLOT
      
*ENDDO

OUTRES,ALL,ALL,

FINISH

xbzhang 发表于 2004-6-9 11:40:57

回复: 【讨论】移动热源的加载,出错,请指教

把你的点选命令变成正规的命令流,这样便于阅读。

hangch 发表于 2004-6-9 14:21:48

回复: 【讨论】移动热源的加载,出错,请指教

to:风之子   后面的点选部分我就把你以前贴的一个帖子中的内容复制过来的
没有什么改动,也就是选择方块的上表面加载%flux2%,应该是在指定宽度上有热流才对,不知道为什么整个平面内都均匀充满了。请指教!!!是数组的初值赋的有问题吗?

UNITS,SI
/PREP7
ET,1,SOLID90
MP,EX,1,1.2E11
MP,ALPX,1,7.962E-6
MP,REFT,1,20
MP,PRXY,1,0.3
MP,DENS,1,4000
MP,C,1,1.5   
MP,KXX,1,0.4
BLOCK,0,40,0,40,0,2
SAVE
!MSHAPE,1,3D
!MSHKEY,0
ESIZE,1
VMESH,ALL
/PNUM,DEFA
EPLOT
FINISH
/SOLU
MAX_TIME=41
MAX_X=41
MAX_Y=8
*DIM,FLUX2,TABLE,MAX_TIME,MAX_X,MAX_Y,TIME,X,Y
*DO,K,1,MAX_TIME,1
  *DO,I,1,MAX_X,1
    *DO,J,1,MAX_Y,1
     FLUX2(K,I,J)=1000
     *ENDDO
  *ENDDO
*ENDDO
   
ANTYPE,TRANS
TRNOPT,FULL
TUNIF,20   
KBC,1   
*SET,DELT,1
TIMINT,ON
AUTOTS,OFF
*DO,TM,1E-6,1,1
/VIEW, 1 ,1,1,1
/ANG, 1
/REP,FAST
FLST,2,1,5,ORDE,1
FITEM,2,2
TIME,TM
AUTOTS,0
DELTIM, , , ,1
KBC,0
TSRES,ERASE
FLST,2,1,5,ORDE,1
FITEM,2,2
/GO
SFA,P51X,1,HFLUX, %FLUX2%
/STATUS,SOLU
SOLVE
OUTRES,ALL,ALL,
/PSF,HFLUX,,2
/REPLOT
*ENDDO
OUTRES,ALL,ALL,
FINISH

xbzhang 发表于 2004-6-9 15:50:21

回复: 【讨论】移动热源的加载,出错,请指教

*DIM,FLUX2,TABLE,MAX_TIME,MAX_X,MAX_Y,TIME,X,Y
*DO,K,1,MAX_TIME,1
  *DO,I,1,MAX_X,1
    *DO,J,1,MAX_Y,1
     FLUX2(K,I,J)=1000
     *ENDDO
  *ENDDO
*ENDDO

这是这种加载方式最核心的部分,MAX_TIME是时间,MAX_X是加载区域的X坐标,MAX_Y是Y 坐标,表数组你没有完全看懂。你先好好看一下这个数组的帮助。你上面的命令流,没有和你的加载区域定义相联系起来。这个FLUX2定义实际上就是加载区域每个点在不同时间的载荷植。因此对于一个点,在不同时刻它的载荷是不同的。

可能你还没有明白我说的意思,你可以把数组维数减到7,这样你可以看一下你所赋植的数组内容。

hangch 发表于 2004-6-9 17:05:46

回复: 【讨论】移动热源的加载,出错,请指教

好的,我一定在好好研究一下,谢谢
页: [1]
查看完整版本: 【讨论】移动热源的加载,出错,请指教