knight01 发表于 2009-5-13 22:08:27

[求助]请帮忙看这个命令流----高斯热源不移动

下面是我编写的高斯热源命令流,可在执行命令流时,高斯热源怎么也不移动,请各位大虾帮忙看一下,问题到底出现在哪里?


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:47:38

本帖最后由 zraforgood 于 2010-11-16 17:58 编辑

你把ycenter=0改为ycenter=0.02试试。我改过,能行,我个人估计可能是软件不能识别0.我们是不是可以输入一个软件能识别的一个无穷小数,这样软件就会默认为0。我也是刚学,所以具体是怎样我也不是很清楚,相互交流学习。

hustmichael 发表于 2011-7-28 10:23:41

2# zraforgood
您好!在很多帖子里都看到了你的回复,你一直采用数组加载,我对这种加载方法不是很了解,期待和你的交流!我的QQ:705161487
页: [1]
查看完整版本: [求助]请帮忙看这个命令流----高斯热源不移动