dhf19822 发表于 2007-9-19 21:58:56

【讨论】多节点载荷对应施加问题!?

本人做了一个平面多节点模型,各个节点热生率不同(hgen)法一:直接两重do循环,施加x,y,方向的节点载荷,但ansys好像只能做x,y方向几个节点的施加,十几个节点就不行了。法二,定义二维表载荷,表索引即0行0列分别定义成x,y轴坐标。然后表载荷施加载荷。但好像也不行。附两段命令流做参考,抛砖引玉了。。。。
欢迎大家踊跃讨论。。!!(结果作出来都无温度场分布)
法一:do 循环加载
finish
/clear
/filnam,tissue
/units,si
pai=3.1415926
r0=5e-4!光斑半径
p=12 !激光功率
fai=2*p/pai/r0**2 !表面功率密度
ua=70
us=1.8e4
ut=ua+us
ref=0.05 !反射率
tao=6
!脉冲作用时间
width=1e-3 !模型尺寸
length=1e-3
size=2e-5
/prep7
w=0.7
rou=(1.3-0.3*w)*1000
k=0.419*(0.133+1.36*w*1000/rou)
c=4.19*(0.37+0.67*w*1000/rou)*1000
et,1,plane55,,,1
mp,kxx,1,k !unit
mp,c,1,c
mp,dens,1,rou
rectng,0,width,-length,0
aesize,1,size
mshkey,0
mshape,0,2d
mat,1
amesh,1
allsel
finish
/solu
antype,trans
toffst,273
allsel,all
ic,all,temp,37
timint,on
autots,on
outres,all,all
t2=0
tt=tao+t2
del=1e-1
*do,t,1,tt,1
time,t
deltime,del,del,del
kbc,0
!sfl,3,,conv,10,20
!sfl,4,hflux,0
!sfa,1,1,hflux,0
*do,j,0,length/size!循环加载
y=size*j
*do,i,0,width/size
x=size*i
*if,x,le,r0,and,t,le,tao,then !mod(t,tt),le,mod(tao,tt),then
bf,node(x,y,0),hgen,ua*(1-ref)*fai*exp(-0.5*x**2/r0**2*exp(-us*y)-ut*y)*exp(-4*(t-tao)**2/tao**2)
*else
!bfadele,1,hgen
bf,node(x,y,0),hgen,0
*endif
*enddo
*enddo
allsel
solve
*enddo
finish

法二:表载荷加载
finish
/clear
/filnam,tissue
/units,si
pai=3.1415926
r0=5e-4!光斑半径
p=12 !激光功率
fai=2*p/pai/r0**2 !表面功率密度
ua=70
us=1.8e4
ut=ua+us
ref=0.05 !反射率
tao=6
!脉冲作用时间
width=1e-3 !模型尺寸
length=1e-3
size=2e-5
/prep7
w=0.7
rou=(1.3-0.3*w)*1000
k=0.419*(0.133+1.36*w*1000/rou)
c=4.19*(0.37+0.67*w*1000/rou)*1000
et,1,plane55,,,1
mp,kxx,1,k !unit
mp,c,1,c
mp,dens,1,rou
rectng,0,width,-length,0
aesize,1,size
mshkey,0
mshape,0,2d
mat,1
amesh,1
allsel
finish
/solu
antype,trans
toffst,273
allsel,all
ic,all,temp,37
timint,on
autots,on
outres,all,all
t2=0
tt=tao+t2
del=1e-1
tinc=1
*dim,ntable,table,width/size,length/size,1 !定义表载荷
*do,t,1,tt,tinc
time,t
deltime,del,del,del
kbc,0
*do,i,2,width/size
ntable(0,1,1)=0
ntable(0,i,1)=(i-1)*size!ntable(0,i-1,1)+size
x=size*(i-1)
*do,j,2,length/size
ntable(1,0,1)=0
ntable(j,0,1)=-(j-1)*size!ntable(j-1,0,1)-size
y=size*(j-1)
ntable(1,1,1)=ua*(1-ref)*fai*exp(-4*(t-tao)**2/tao**2)
ntable(i,j,1)=ua*(1-ref)*fai*exp(-0.5*x**2/r0**2*exp(-us*y)-ut*y)*exp(-4*(t-tao)**2/tao**2)
*enddo
*enddo
allsel,all
bf,all,hgen,%ntable%   !表载荷加载
solve
*enddo

dhf19822 发表于 2007-9-20 16:16:39

回复 #1 dhf19822 的帖子

自己顶下:
法三:用函数func实现节点加载(成功),这次终于成功了
finish
/clear
/filnam,tissue
/units,si
pai=3.1415926
r0=5e-4!光斑半径
p=12 !激光功率
fai=2*p/pai/r0**2 !表面功率密度
ua=70
us=1.8e4
ut=ua+us
ref=0.05 !反射率
tao=3
!脉冲作用时间
width=2e-3
length=2e-3
size=2e-5
/prep7
w=0.7
rou=(1.3-0.3*w)*1000
k=0.419*(0.133+1.36*w*1000/rou)
c=4.19*(0.37+0.67*w*1000/rou)*1000
et,1,plane55,,,1
mp,kxx,1,k !unit
mp,c,1,c
mp,dens,1,rou
rectng,0,width,-length,0
aesize,1,size
mshkey,0
mshape,0,2d
mat,1
amesh,1
allsel
finish
/solu
*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNC_C1
*DEL,_FNC_C2
*DEL,_FNC_C3
*DEL,_FNC_C4
*DEL,_FNC_C5
*DEL,_FNC_C6
*DEL,_FNC_C7
*DEL,_FNCCSYS   
*SET,_FNCNAME,'hgen'   
*DIM,_FNC_C1,,1
*DIM,_FNC_C2,,1
*DIM,_FNC_C3,,1
*DIM,_FNC_C4,,1
*DIM,_FNC_C5,,1
*DIM,_FNC_C6,,1
*DIM,_FNC_C7,,1
*SET,_FNC_C1(1),ua
*SET,_FNC_C2(1),ref
*SET,_FNC_C3(1),p
*SET,_FNC_C4(1),pai
*SET,_FNC_C5(1),r0
*SET,_FNC_C6(1),us
*SET,_FNC_C7(1),tao
*SET,_FNCCSYS,0
! /INPUT,hgen3.func,,,1
*DIM,%_FNCNAME%,TABLE,9,44,1,,,,%_FNCCSYS%
!   
! Begin of equation: ua*(1-ref)*2*p/pai/r0^2*exp(-0.5*{X}^2/r0^2*exp(us*{Y})+   
! (ua+us)*{Y})*exp(-4*({TIME}-tao)^2/tao^2)
*SET,%_FNCNAME%(0,0,1), 0.0, -999   
*SET,%_FNCNAME%(2,0,1), 0.0
*SET,%_FNCNAME%(3,0,1), %_FNC_C1(1)%
*SET,%_FNCNAME%(4,0,1), %_FNC_C2(1)%
*SET,%_FNCNAME%(5,0,1), %_FNC_C3(1)%
*SET,%_FNCNAME%(6,0,1), %_FNC_C4(1)%
*SET,%_FNCNAME%(7,0,1), %_FNC_C5(1)%
*SET,%_FNCNAME%(8,0,1), %_FNC_C6(1)%
*SET,%_FNCNAME%(9,0,1), %_FNC_C7(1)%
*SET,%_FNCNAME%(0,1,1), 1.0, -1, 0, 1, 0, 0, 18
*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 1, -1, 2, 18
*SET,%_FNCNAME%(0,3,1),   0, -1, 0, 1, 17, 3, -2
*SET,%_FNCNAME%(0,4,1), 0.0, -2, 0, 2, 0, 0, -1
*SET,%_FNCNAME%(0,5,1), 0.0, -3, 0, 1, -1, 3, -2
*SET,%_FNCNAME%(0,6,1), 0.0, -1, 0, 1, -3, 3, 19
*SET,%_FNCNAME%(0,7,1), 0.0, -2, 0, 1, -1, 4, 20
*SET,%_FNCNAME%(0,8,1), 0.0, -1, 0, 2, 0, 0, 21
*SET,%_FNCNAME%(0,9,1), 0.0, -3, 0, 1, 21, 17, -1   
*SET,%_FNCNAME%(0,10,1), 0.0, -1, 0, 1, -2, 4, -3   
*SET,%_FNCNAME%(0,11,1), 0.0, -2, 0, 0, 0, 0, 0
*SET,%_FNCNAME%(0,12,1), 0.0, -3, 0, 1, 0, 0, -2
*SET,%_FNCNAME%(0,13,1), 0.0, -4, 0, 1, -2, 2, -3   
*SET,%_FNCNAME%(0,14,1), 0.0, -2, 0, 0.5, 0, 0, -4
*SET,%_FNCNAME%(0,15,1), 0.0, -3, 0, 1, -4, 3, -2   
*SET,%_FNCNAME%(0,16,1), 0.0, -2, 0, 2, 0, 0, 2
*SET,%_FNCNAME%(0,17,1), 0.0, -4, 0, 1, 2, 17, -2   
*SET,%_FNCNAME%(0,18,1), 0.0, -2, 0, 1, -3, 3, -4   
*SET,%_FNCNAME%(0,19,1), 0.0, -3, 0, 2, 0, 0, 21
*SET,%_FNCNAME%(0,20,1), 0.0, -4, 0, 1, 21, 17, -3
*SET,%_FNCNAME%(0,21,1), 0.0, -3, 0, 1, -2, 4, -4   
*SET,%_FNCNAME%(0,22,1), 0.0, -2, 0, 1, 22, 3, 3
*SET,%_FNCNAME%(0,23,1), 0.0, -2, 7, 1, -2, 0, 0
*SET,%_FNCNAME%(0,24,1), 0.0, -4, 0, 1, -3, 3, -2   
*SET,%_FNCNAME%(0,25,1), 0.0, -2, 0, 1, 17, 1, 22   
*SET,%_FNCNAME%(0,26,1), 0.0, -3, 0, 1, -2, 3, 3
*SET,%_FNCNAME%(0,27,1), 0.0, -2, 0, 1, -4, 1, -3   
*SET,%_FNCNAME%(0,28,1), 0.0, -2, 7, 1, -2, 0, 0
*SET,%_FNCNAME%(0,29,1), 0.0, -3, 0, 1, -1, 3, -2   
*SET,%_FNCNAME%(0,30,1), 0.0, -1, 0, 0, 0, 0, 0
*SET,%_FNCNAME%(0,31,1), 0.0, -2, 0, 1, 0, 0, -1
*SET,%_FNCNAME%(0,32,1), 0.0, -4, 0, 1, -1, 2, -2   
*SET,%_FNCNAME%(0,33,1), 0.0, -1, 0, 4, 0, 0, -4
*SET,%_FNCNAME%(0,34,1), 0.0, -2, 0, 1, -4, 3, -1   
*SET,%_FNCNAME%(0,35,1), 0.0, -1, 0, 1, 1, 2, 23
*SET,%_FNCNAME%(0,36,1), 0.0, -4, 0, 2, 0, 0, -1
*SET,%_FNCNAME%(0,37,1), 0.0, -5, 0, 1, -1, 17, -4
*SET,%_FNCNAME%(0,38,1), 0.0, -1, 0, 1, -2, 3, -5   
*SET,%_FNCNAME%(0,39,1), 0.0, -2, 0, 2, 0, 0, 23
*SET,%_FNCNAME%(0,40,1), 0.0, -4, 0, 1, 23, 17, -2
*SET,%_FNCNAME%(0,41,1), 0.0, -2, 0, 1, -1, 4, -4   
*SET,%_FNCNAME%(0,42,1), 0.0, -1, 7, 1, -2, 0, 0
*SET,%_FNCNAME%(0,43,1), 0.0, -2, 0, 1, -3, 3, -1   
*SET,%_FNCNAME%(0,44,1), 0.0, 99, 0, 1, -2, 0, 0
! End of equation: ua*(1-ref)*2*p/pai/r0^2*exp(-0.5*{X}^2/r0^2*exp(us*{Y})+(ua+
! us)*{Y})*exp(-4*({TIME}-tao)^2/tao^2)
!-->
antype,trans
toffst,273
allsel,all
ic,all,temp,37
timint,on
autots,on
outres,all,all
t2=2
tt=tao+t2
del=1e-1
tinc=1
*do,time,1,tt*4,tinc
time,time
deltime,del,del,del
kbc,0
allsel,all
*if,mod(time,tt),le,mod(tao,tt),then
bf,all,hgen,%hgen%
*else
bf,all,hgen,0
*endif
solve
*enddo
finish

dhf19822 发表于 2007-9-20 16:19:39

回复 #2 dhf19822 的帖子

但还是想大家讨论下,前面两种方法do循环,和表载荷加载,为什么不行,有无达人:) 指教下,作为鼓励,请版主加分~!!:funk: :P

wxpand2004 发表于 2010-4-13 16:40:47

顶一下!!!!!
页: [1]
查看完整版本: 【讨论】多节点载荷对应施加问题!?