- 积分
- 1
- 注册时间
- 2012-5-17
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2014-3-5 13:08:29
|
显示全部楼层
来自 天津
这是我的热源,你可以看看,不过我这个坐标系做转换了,你可以忽略
SUBROUTINE DFLUX(FLUX,SOL,JSTEP,JINC,TIME,NOEL,NPT,COORDS,JLTYP,
1 TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
parameter(one=1.d0)
DIMENSION COORDS(3),FLUX(2),TIME(2)
CHARACTER*80 SNAME
q1=0.85*100*11*3000
q2=0.85*100*11*2500
q3=0.85*100*11*1000
q4=0.85*100*11*1500
q5=0.85*100*11*1500
q6=0.85*100*11*2000
q7=0.85*100*11*2300
v1=1.2
v2=1.2
v3=1.2
v4=1.2
v5=1.2
v6=1.2
v7=1.2
r1=10.5
r2=11
r3=11.625
r4=12.5
r5=11.625
r6=10.464317
r7=12.107158
vr1=v1/r1
vr2=v2/r2
vr3=v3/r3
vr4=v4/r4
vr5=v5/r5
vr6=v6/r6
vr7=v7/r7
d1=vr1*TIME(1)
d2=vr2*TIME(1)
d3=vr3*TIME(1)
d4=vr4*TIME(1)
d5=vr5*TIME(1)
d6=vr6*TIME(1)
d7=vr7*TIME(1)
f1=0.67
f2=0.67
f3=0.67
f4=0.67
f5=0.67
f6=0.67
f7=0.67
x=COORDS(1)
y=COORDS(2)
z=COORDS(3)
x1=r1
y1=-3.244819
z1=0
x2=r2
y2=-1.633975
z2=0
x3=r3
y3=-0.023131
z3=0
x4=r4
y4=1.587713
z4=0
x5=r5
y5=3.110844
z5=0
x6=r6
y6=6.862108
z6=0
x7=r7
y7=3.791898
z7=0
a1=3.63726
b1=2.15732
c1=3
cc1=7
a2=4.8075
b2=2.15732
c2=3
cc2=7
a3=4.9075
b3=1.7278
c3=1.5
cc3=6
a4=6.3509
b4=1.8278
c4=1.5
cc4=6
a5=6.3949
b5=1.4205
c5=2.5
cc5=6
a6=2.5
b6=6
c6=3
cc6=7
a7=6.9642
b7=1.2
c7=3
cc7=7
PI=3.1415926
heat1=6.0*sqrt(3.0)*q1/(a1*b1*c1*PI*sqrt(PI))*f1
heat11=6.0*sqrt(3.0)*q1/(a1*b1*cc1*PI*sqrt(PI))*(2.0-f1)
heat2=6.0*sqrt(3.0)*q2/(a2*b2*c2*PI*sqrt(PI))*f2
heat21=6.0*sqrt(3.0)*q2/(a2*b2*cc2*PI*sqrt(PI))*(2.0-f2)
heat3=6.0*sqrt(3.0)*q3/(a3*b3*c3*PI*sqrt(PI))*f3
heat31=6.0*sqrt(3.0)*q3/(a3*b3*cc3*PI*sqrt(PI))*(2.0-f3)
heat4=6.0*sqrt(3.0)*q4/(a4*b4*c4*PI*sqrt(PI))*f4
heat41=6.0*sqrt(3.0)*q4/(a4*b4*cc4*PI*sqrt(PI))*(2.0-f4)
heat5=6.0*sqrt(3.0)*q5/(a5*b5*c5*PI*sqrt(PI))*f5
heat51=6.0*sqrt(3.0)*q5/(a5*b5*cc5*PI*sqrt(PI))*(2.0-f5)
heat6=6.0*sqrt(3.0)*q6/(a6*b6*c6*PI*sqrt(PI))*f6
heat61=6.0*sqrt(3.0)*q6/(a6*b6*cc6*PI*sqrt(PI))*(2.0-f6)
heat7=6.0*sqrt(3.0)*q7/(a7*b7*c7*PI*sqrt(PI))*f7
heat71=6.0*sqrt(3.0)*q7/(a7*b7*cc7*PI*sqrt(PI))*(2.0-f7)
IF(z .GE. 0.0) THEN
theta=acos(x/sqrt(x*x+z*z))
ELSE
theta=2.0*PI-acos(x/sqrt(x*x+z*z))
ENDIF
beta1=theta-d1
x001=sqrt(x*x+z*z)-x1
y001=y-y1
beta2=theta-d2
x002=sqrt(x*x+z*z)-x2
y002=y-y2
beta3=theta-d3
x003=sqrt(x*x+z*z)-x3
y003=y-y3
beta4=theta-d4
x004=sqrt(x*x+z*z)-x4
y004=y-y4
beta5=theta-d5
x005=sqrt(x*x+z*z)-x5
y005=y-y5
beta6=theta-d6
x006=sqrt(x*x+z*z)-x6
y006=y-y6
beta7=theta-d7
x007=sqrt(x*x+z*z)-x7
y007=y-y7
x01=x001*0.866025-y001*0.5
y01=y001*0.866025+x001*0.5
z01=x1*beta1
x02=x002*0.866025-y002*0.5
y02=y002*0.866025+x002*0.5
z02=x2*beta2
x03=x003*0.866025-y003*0.5
y03=y003*0.866025+x003*0.5
z03=x3*beta3
x04=x004*0.866025-y004*0.5
y04=y004*0.866025+x004*0.5
z04=x4*beta4
x05=x005*0.664592-y005*0.747207
y05=y005*0.664592+x005*0.747207
z05=x5*beta5
x06=x006*0.256227-y006*0.966617
y06=y006*0.256227+y006*0.966617
z06=x6*beta6
x07=x007*0.471794-y007*0.881709
y07=y007*0.471794+x007*0.881709
z07=x7*beta7
shape1=exp(-3.0*(x01)**2/a1**2-3.0*(y01)**2/b1**2
$ -3.0*(z01)**2/c1**2)
shape11=exp(-3.0*(x01)**2/a1**2-3.0*(y01)**2/b1**2
$ -3.0*(z01)**2/cc1**2)
shape2=exp(-3.0*(x02)**2/a2**2-3.0*(y02)**2/b2**2
$ -3.0*(z02)**2/c2**2)
shape21=exp(-3.0*(x02)**2/a2**2-3.0*(y02)**2/b2**2
$ -3.0*(z02)**2/cc2**2)
shape3=exp(-3.0*(x03)**2/a3**2-3.0*(y03)**2/b3**2
$ -3.0*(z03)**2/c1**2)
shape31=exp(-3.0*(x03)**2/a3**2-3.0*(y03)**2/b3**2
$ -3.0*(z03)**2/cc3**2)
shape4=exp(-3.0*(x04)**2/a4**2-3.0*(y04)**2/b4**2
$ -3.0*(z04)**2/c4**2)
shape41=exp(-3.0*(x04)**2/a4**2-3.0*(y04)**2/b4**2
$ -3.0*(z04)**2/cc4**2)
shape5=exp(-3.0*(x05)**2/a5**2-3.0*(y05)**2/b5**2
$ -3.0*(z05)**2/c5**2)
shape51=exp(-3.0*(x05)**2/a5**2-3.0*(y05)**2/b5**2
$ -3.0*(z05)**2/cc5**2)
shape6=exp(-3.0*(x06)**2/a6**2-3.0*(y06)**2/b6**2
$ -3.0*(z06)**2/c6**2)
shape61=exp(-3.0*(x06)**2/a6**2-3.0*(y06)**2/b6**2
$ -3.0*(z06)**2/cc6**2)
shape7=exp(-3.0*(x07)**2/a7**2-3.0*(y07)**2/b7**2
$ -3.0*(z07)**2/c7**2)
shape71=exp(-3.0*(x07)**2/a7**2-3.0*(y07)**2/b7**2
$ -3.0*(z07)**2/cc7**2)
C JLTYP=1,表示为体热源
JLTYP=1
if (JSTEP. eq. 2) then
IF(beta1. GE. 0) THEN
FLUX(1)=heat1*shape1
ELSE
FLUX(1)=heat11*shape11
ENDIF
endif
if (JSTEP. eq. 5) then
IF(beta2. GE. 0) THEN
FLUX(1)=heat2*shape2
ELSE
FLUX(1)=heat21*shape21
ENDIF
endif
if (JSTEP. eq. 8) then
IF(beta3. GE. 0) THEN
FLUX(1)=heat3*shape3
ELSE
FLUX(1)=heat31*shape31
ENDIF
endif
if (JSTEP. eq. 11) then
IF(beta4. GE. 0) THEN
FLUX(1)=heat4*shape4
ELSE
FLUX(1)=heat41*shape41
ENDIF
endif
if (JSTEP. eq. 14) then
IF(beta5. GE. 0) THEN
FLUX(1)=heat5*shape5
ELSE
FLUX(1)=heat51*shape51
ENDIF
endif
if (JSTEP. eq. 17) then
IF(beta6. GE. 0) THEN
FLUX(1)=heat6*shape6
ELSE
FLUX(1)=heat61*shape61
ENDIF
endif
if (JSTEP. eq. 20) then
IF(beta7. GE. 0) THEN
FLUX(1)=heat7*shape7
ELSE
FLUX(1)=heat71*shape71
ENDIF
endif
RETURN
END |
评分
-
1
查看全部评分
-
|