I'm trying to run a fortran subroutine to a part I made in ABAQUS. The part is a cylindrical 3D solid part. The circular base is on the x-z plane and the extrusion is along the y-direction. The moving heat source is moving radially along the surface (constant velocity along x).
I want to know how can I fix the following subroutine I made to achieve that.
SUBROUTINE DFLUX(FLUX,SOL,JSTEP,JINC,TIME,NOEL,NPT,COORDS,JLTYP,
1 TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION COORDS(3),FLUX(2),TIME(2)
CHARACTER80 SNAME
JLTYP=0
R = 0.0035 ! radius of the base of the cylinder
x0 = -0.0035 ! starting point (x0)
y0 = 0.0
z0 = 0.0
a = 0.075
b = 0.075
vx = 0.025
vy = 0.0
vz = 0.0
zarc = z0
xarc=vxtime(1)+x0
xf = COORDS(1) - xarc
zf = COORDS(3) - zarc
P = 1.5
EFFI = 0.01
heat = 1.9098PEFFI/(ab)ABS(COORDS(2))/0.0035
shape = EXP(-3.(xf)2./a2.-3.(zf)2./b2.)
FLUX(1) = heat*shape
RETURN
END
I tried this subroutine in abaqus but the compilation keeps going wrong and I think I didn't make the moving heat source going on the radial surface.