DFLUX MULTI PASS WELDİNG SUBROUTINE

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

DFLUX MULTI PASS WELDİNG SUBROUTINE

hasanca_128
Hello,
 

 I am trying to simulate multi pass welding in Abaqus with subroutine, I have 3 passes, BEAD_1,BEAD_2,BEAD_3. I have problems when i run it, " An unterminated block exists."
 i think i need to describe passes in the subroutine file. Could you please help me? what should i do?
 

 my codes:
  SUBROUTINE DFLUX(FLUX,SOL,KSTEP,KINC,
      1  TIME1,NOEL,NPT,COORDS,JLTYP,TEMP,
      1  PRESS, SNAME, BEAD_1,BEAD_2, BEAD_3)
 c      
       INCLUDE 'ABA_PARAM.INC'
 c      
       CHARACTER*80 SNAME
       DIMENSION FLUX(2), TIME1(2), COORDS(3)
       REAL t,X,Y,Z,VOLTAGE,CURRENT,VEL
       t=TIME1(2)
       EFF=1
       RBAR=1
       X=COORDS(1)
       Y=Coords(2)
       Z=Coords(3)
           
       IF(SNAME.EQ."BEAD_1")THEN
           IF(t.LE.15)THEN
           CURRENT=690
           VOLTAGE=42
           VEL=7.
       ELSEIF(SNAME.EQ."BEAD_2")THEN  
           IF((t.LE.26.AND.t.GE.16))THEN
           CURRENT=751
           VOLTAGE=33
           VEL=5.
       ELSEIF(SNAME.EQ."BEAD_3")THEN  
           IF(t.LE.37.AND.t.GE.27)THEN
           CURRENT=751
           VOLTAGE=33
           VEL=5.
       ENDIF
       POWER=EFF*VOLTAGE*CURRENT
       RBAR=1
       VEL=7
       X=COORDS(1)
       HC=VEL*TIME1(2)
       Z=COORDS(3)-HC
       DIS=SQRT(X**2+Z**2)
       FL1=3.0*POWER*EXP(-3.0*(DIS/RBAR)**2)
       FL2=3.14*(RBAR**2)
       FLUX(1)=FL1/FL2
       RETURN
       END
       
       SUBROUTINE FILM(H,SINK,TEMP,KSTEP,KINC,
      1 TIME1,NOEL,NPT,COORDS,JLTYP,FIELD,NFIELD,
      1 SNAME, NODE,AREA)
 c      
       INCLUDE 'ABA_PARAM.INC'
 c      
       DIMENSION H(2),TIME1(2),COORDS(3)
       CHARACTER*80 CMNAME
       H(1)=((TEMP+273.1)**1.62)*21.69E-10
       SINK=20.
       RETURN
 
       END
 

Reply | Threaded
Open this post in threaded view
|

Re: DFLUX MULTI PASS WELDİNG SUBROUTINE

phil
Please check your subroutine. You have some IF statements that have not been completed (no END IF).
Reply | Threaded
Open this post in threaded view
|

Re: DFLUX MULTI PASS WELDİNG SUBROUTINE

hasanca_128
but, there is a error when i run it. I think it does not comes from IF statement problem. How can i describe the surface names in subroutine?

  weld3.for(24): error #6321: An unterminated block exists.       IF(SNAME.EQ.'BEAD_1')THEN
 ^
 weld3.for(17): error #6321: An unterminated block exists.
       IF(SNAME.EQ.'BEAD_2')THEN

Reply | Threaded
Open this post in threaded view
|

Re: DFLUX MULTI PASS WELDİNG SUBROUTINE

hasanca_128
Please help. I still have the problem.