0

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=vx
time(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.

  • Can you format your code to make it readable? You haven’t declared the type of any variables and you seem to be missing multiplication operators in the expressions for heat and shape. Also, tell us what the compiler errors are. – lastchance Jan 27 '23 at 22:26

0 Answers0