Fortran Coder

标题: 恳请看下编写的一段子程序有啥问题UTEMP [打印本页]

作者: 806940059    时间: 2014-4-1 20:34
标题: 恳请看下编写的一段子程序有啥问题UTEMP
本帖最后由 806940059 于 2014-4-1 20:41 编辑

用fortran编写abaqus调用的UTEMP子程序,调入计算结果全部为零,不知道是啥原因啊!求指教:
       SUBROUTINE UTEMP(TEMP,NSECPT,KSTEP,KINC,TIME,NODE,COORDS)
       INCLUDE 'ABA_PARAM.INC'
       DIMENSION TEMP(NSECPT), TIME(2), COORDS(3)
       INTEGER NODE

       INTEGER I,J,TFLAG,TAGBEAM
       REAL*8 T,X,Y,Z,POINT
       REAL*8 A1(5),A_COEF1(6,5),A_COEF2(6,5),A_COEF3(6,5),A_COEF4(6,5)
       REAL*8 A_COEF5(6,5)
       REAL*8 TTEMP


        T = TIME(1)
        IF(T.LT.0.0)THEN
        T = 0.0
        ENDIF

         TTEMP=30.0+345.0*log10(8.0*T/60.0+1.0)

           SELECT CASE(NODE)
           CASE(1:5)         
            TEMP(1) = 0.7*TTEMP
            TEMP(2) = 0.1*TTEMP
            TEMP(3) = 0.4*TTEMP
            TEMP(4) = 0.7*TTEMP
            TEMP(5) = 0.1*TTEMP
           CASE(6:11)         
            TEMP(1) = 0.7*TTEMP
            TEMP(2) = 0.1*TTEMP
            TEMP(3) = 0.4*TTEMP
            TEMP(4) = 0.7*TTEMP
            TEMP(5) = 0.1*TTEMP
         END SELECT

            DO I=1, NSECPT                           
                  TEMP(I)=I*TTEMP
            ENDDO

               WRITE (*,*) NSECPT

          DO I=1, NSECPT                           
                 WRITE (*,*) TEMP(I)
          ENDDO

         RETURN
         END


作者: 806940059    时间: 2014-4-1 20:48
补充:用abaqus调用其他子程序,比如DFLUX、UMAT都是可以正常计算的,只有计算UTMP的子程序计算结果都为零,真不懂是怎么回事啊。。
作者: 楚香饭    时间: 2014-4-1 22:14
从你给出的代码来看,所有虚参返回值都不会是 0
请从 Abaqus 方面找原因。
作者: 806940059    时间: 2014-4-2 10:02
chuxf 发表于 2014-4-1 22:14
从你给出的代码来看,所有虚参返回值都不会是 0
请从 Abaqus 方面找原因。

嗯!多谢了!
唉,,,愁煞人啊,,,各种尝试了 就是找不出毛病来,,abaqus计算log文件中明明显示start link-----end  link了啊,,,可就是没结果!
作者: wx_HlC9pytL    时间: 2021-10-12 22:39
你好,请问关于UTEMP子程序问题您解决了吗
我也调用了UTEMP但是对计算结果没有任何影响,和不调用结果一样,您知道问题出在哪里吗




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2