天天喝大力 发表于 2019-5-14 10:11:12

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

yx1996 发表于 2019-5-14 17:52:23

跑一下就知道了

天天喝大力 发表于 2019-5-22 14:00:48

不能用啊,求各路大神指点吗迷津

abaqus111 发表于 2019-6-24 09:33:23

我也是新手一枚,个人愚见:楼主把shape里头的+d改成-d;把if语句中的-d改为+d再试试看

枯藤老树昏鸦 发表于 2022-7-8 09:17:42

学习一下
页: [1]
查看完整版本: DFLUX多道焊子程序这样写能用吗?麻烦各位大神看看