[求助]请帮忙看这个命令流----高斯热源不移动
下面是我编写的高斯热源命令流,可在执行命令流时,高斯热源怎么也不移动,请各位大虾帮忙看一下,问题到底出现在哪里?finish
/clear
/units,si
/filname,thermal1,1
/prep7
mptemp,,,,,,,,
mptemp,1,20
mptemp,2,200
mptemp,3,500
mptemp,4,700
mptemp,5,1000
mptemp,6,1300
mptemp,7,1600
mptemp,8,2500
mpdata,dens,1,,7960
mpdata,dens,1,,7778
mpdata,dens,1,,7646
mpdata,dens,1,,7556
mpdata,dens,1,,7418
mpdata,dens,1,,7280
mpdata,dens,1,,7141
mpdata,dens,1,,6718
mptemp,,,,,,,,
mptemp,1,20
mptemp,2,200
mptemp,3,500
mptemp,4,700
mptemp,5,1000
mptemp,6,1300
mptemp,7,1600
mptemp,8,2500
mpdata,kxx,1,,13.8
mpdata,kxx,1,,16.6
mpdata,kxx,1,,21.8
mpdata,kxx,1,,25.4
mpdata,kxx,1,,29.5
mpdata,kxx,1,,33.7
mpdata,kxx,1,,400
mpdata,kxx,1,,600
mptemp,,,,,,,,
mptemp,1,20
mptemp,2,200
mptemp,3,500
mptemp,4,700
mptemp,5,1000
mptemp,6,1300
mptemp,7,1600
mptemp,8,2500
mpdata,c,1,,400
mpdata,c,1,,440
mpdata,c,1,,502
mpdata,c,1,,528
mpdata,c,1,,555
mpdata,c,1,,582
mpdata,c,1,,599
mpdata,c,1,,635
allsel,all
save
lsize=5e-4
et,1,solid70
et,2,solid90
block,0,0.100,0,-0.005,-0.005,0.005
block,0,0.100,0,-0.005,0.005,0.020
block,0,0.100,0,-0.005,0.020,0.045
block,0,0.100,0,0.005,-0.005,0
block,0,0.100,0.005,0.020,-0.005,0
block,0,0.100,0.020,0.050,-0.005,0
aovlap,all
/view,1,1,1,1
save
type,1
mshkey,1
mshape,0
esize,lsize
vmesh,1
vmesh,4
esize,4*lsize
vmesh,3
vmesh,6
type,2
mshkey,0
mshape,1
vmesh,2
vmesh,5
eplot
*get,ncount,node,,count
*get,ncount,elem,,count
save
/solu
antype,4
tunif,20
trnopt,full
outres,nsol,all
nropt,full,,on
autots,1
nsubst,2, , ,
kbc,1
lnsrch,1
tsres,erase
tintp,,,,1,,,,,!!!
timint,0,struct
timint,1,therm
timint,0,mag
nsel,s,loc,x,0
sf,all,conv,15,25
allsel,all
nsel,s,loc,y,0
sf,all,conv,15,25
allsel,all
nsel,s,loc,z,0
sf,all,conv,15,25
v=0.001
tinc=lsize/v
tm=0.100/v
Umax=18
Imax=100
Umin=11
Imin=10
ef=0.61
Pmax=Umax*Imax*ef
Pmim=Umin*Imin*ef
r=0.002
tt=1
*do,tt,tinc,tm,tinc
加脉冲电流
*if,mod(tt,2),eq,1,then
Qmax=3*Pmax/(3.14159*r**2)
*else
Qmax=3*Pmim/(3.14159*r**2)
*endif
tt=tt+1
*enddo
max_time=0.100/lsize+1
max_x=0.100/lsize+1
max_y=0.050/lsize+1
*dim,flux2,table,max_x,max_y,max_time,x,y,time
*do,k,1,max_time,1
*do,i,1,max_x,1
flux2(i,0,k)=(i-1)*lsize
*enddo
*do,j,1,max_y,1
flux2(0,j,k)=(j-1)*lsize
*enddo
*do,i,1,max_x,1
*do,j,1,max_y,1
xcenter=v*(k-1)*tinc
ycenter=0
distance=sqrt(((i-1)*lsize-xcenter)**2+((j-1)*lsize-ycenter)**2)
*if,distance,le,r,then
flux2(i,j,k)=qmax/exp(3*distance**2/(r**2))
*else
flux2(i,j,k)=0
*endif
*enddo
*enddo
flux2(0,0,k)=(k-1)*tinc
*enddo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!热源的加载
*do,t,tinc,tm,tinc
time,t
nsel,s,loc,z,0.005
sfdele,all,conv
sf,all,hflux,%flux2%
allsel,all
solve
nsel,s,loc,z,0.005
sfdele,all,hflux
sf,all,conv,15,25
allsel,all
*enddo
save
finish
本帖最后由 zraforgood 于 2010-11-16 17:58 编辑
你把ycenter=0改为ycenter=0.02试试。我改过,能行,我个人估计可能是软件不能识别0.我们是不是可以输入一个软件能识别的一个无穷小数,这样软件就会默认为0。我也是刚学,所以具体是怎样我也不是很清楚,相互交流学习。 2# zraforgood
您好!在很多帖子里都看到了你的回复,你一直采用数组加载,我对这种加载方法不是很了解,期待和你的交流!我的QQ:705161487
页:
[1]