DFLUX多道焊子程序这样写能用吗?麻烦各位大神看看
对FORTAN不熟悉,自己编了一个DFLUX,不知道这样写能不能实现多道焊,下面是我的子程序麻烦大家指正一下SUBROUTINE DFLUX(FLUX,SOL,JSTEP,JINC,TIME,NOEL,NPT,COORDS,JLTYP,
1 TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION COORDS(3),FLUX(2),TIME(2)
CHARACTER*80 SNAME
u=32
i=280
effi=0.8
q=u*i*effi
v=0.005
d=v*TIME(2)
x=COORDS(1)
y=COORDS(2)
z=COORDS(3)
x0=0
y0=-0.004
z0=0.1
x1=0
y1=0
z1=0.1
x2=0
y2=0.004
z2=0.1
x3=0
y3=0.008
z3=0.1
a=0.012
b=0.004
c1=0.001
c2=0.003
f1=0.4
f2=1.6
PI=3.1415
heat1=6*sqrt(3.0)*q/(a*b*c1*PI*sqrt(PI))*f1
heat2=6*sqrt(3.0)*q/(a*b*c2*PI*sqrt(PI))*f2
shape1=exp(-3*(x-x0)**2/a**2-3*(y-y0)**2/b**2-3*(z-z0+d)**2/(c1)**2)
shape2=exp(-3*(x-x0)**2/a**2-3*(y-y0)**2/b**2-3*(z-z0+d)**2/(c2)**2)
shape3=exp(-3*(x-x1)**2/a**2-3*(y-y1)**2/b**2-3*(z-z1+d)**2/(c1)**2)
shape4=exp(-3*(x-x1)**2/a**2-3*(y-y1)**2/b**2-3*(z-z1+d)**2/(c2)**2)
shape5=exp(-3*(x-x2)**2/a**2-3*(y-y2)**2/b**2-3*(z-z2+d)**2/(c1)**2)
shape6=exp(-3*(x-x2)**2/a**2-3*(y-y2)**2/b**2-3*(z-z2+d)**2/(c2)**2)
shape7=exp(-3*(x-x3)**2/a**2-3*(y-y3)**2/b**2-3*(z-z3+d)**2/(c1)**2)
shape8=exp(-3*(x-x3)**2/a**2-3*(y-y4)**2/b**2-3*(z-z3+d)**2/(c2)**2)
C JLTYP=1
JLTYP=1
IF(JSTEP .EQ. 1)THEN
IF (z .GE.(z0-d))THEN
FLUX(1)=heat1*shape1
ELSE
FLUX(1)=heat2*shape2
ENDIF
IF(JSTEP .EQ. 3)THEN
IF (z .GE.(z1-d))THEN
FLUX(1)=heat1*shape3
ELSE
FLUX(1)=heat2*shape4
ENDIF
IF(JSTEP .EQ. 5)THEN
IF (z .GE.(z2-d))THEN
FLUX(1)=heat1*shape5
ELSE
FLUX(1)=heat2*shape6
ENDIF
IF(JSTEP .EQ. 7)THEN
IF (z .GE.(z3-d))THEN
FLUX(1)=heat1*shape7
ELSE
FLUX(1)=heat2*shape8
ENDIF
RETURN
END 跑一下就知道了 不能用啊,求各路大神指点吗迷津 我也是新手一枚,个人愚见:楼主把shape里头的+d改成-d;把if语句中的-d改为+d再试试看 学习一下
页:
[1]