24小时热门版块排行榜    

查看: 5088  |  回复: 1

zc_1981

铜虫 (小有名气)

[交流] abaqus中场变量子程序中的单、双精度计算问题 已有1人参与

SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
     1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
     2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
     3 LACCFLA)
C            
      INCLUDE 'ABA_PARAM.INC'
      DOUBLE PRECISION a,b,c,d,e,f
C
      CHARACTER*80 CMNAME,ORNAME
      CHARACTER*3  FLGRAY(15)
      DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
     1 T(3,3),TIME(2)
      DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),
     1 COORD(*)
C
C Absolute value of current strain:

            CALL GETVRM('POR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
     1 MATLAYO,LACCFLA)
     
            P1=ARRAY(1)
      
            CALL GETVRM('TEMP',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
     1 MATLAYO,LACCFLA)

            T1=ARRAY(1)
C field variable
            FIELD(1)=P1
C state variable

C      IF(P1.GE.7.5*(10**6).AND.T1.GE.308)THEN DOUBLE PRECISION c,e,f ,DOUBLE PRECISION a,b,c,d,e,f ,END
            
      
           IF(T1.GE.284.0D0.AND.T1.LE.292.0D0) THEN
              a=5.0D-4*(T1-273.15D0)*(T1-273.15D0)
              b=10.0D0**(3.42D-2*(T1-273.15D0)+a+6.4804D0)
              c=DEXP(-9400.0D0/T1)
              d=(b-8.0D6)/1.0D6
              e=(0.585D0*(10.0**1.0D13))*c*d
              f=0.5D0*(1.0D0-e)*0.4D0
              STATEV(1)=(0.6*46*1.0D6+9313.264*1.0D6*f)/1.0D6
           END IF
       END
     
C If error, write comment to .DAT file:
C       IF(JRCD.NE.0)THEN
C        WRITE(6,*) 'REQUEST ERROR IN USDFLD FOR ELEMENT NUMBER ',
C      1     NOEL,'INTEGRATION POINT NUMBER ',NPT
C       ENDIF
C
        RETURN
        END
这是本人编的一个子程序,在默认的单精度条件下去计算,可以顺利过去,可是由于有的数值比较小,超过了单精度的问题,所以都改成了双精度去计算,同样的程序,为什么改成双精度去计算就不好使了呢?出现下面这样的错误提示“A return statement is invalid in the main programm”.是不是场变量的子程序里,不能用双精度来计算呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chen201023

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
并没有看到题主在哪里定义了单双精度,建议在最开始把中间变量a, b, c, ...f ,这些也定义了数据类型,然后再试试看
积积极求索,充实自己。
2楼2020-05-15 14:35:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zc_1981 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 2JOx3r2CYEgw 2026-08-21 8/400 2026-08-23 14:30 by KM5EcsNQRBPn
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 h4CP7TrQR8Lg 2026-08-22 5/250 2026-08-23 12:09 by LR9qGULyN2ew
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 9/450 2026-08-23 10:44 by IXZuIJ2Q7OVy
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 14/700 2026-08-23 10:30 by wrm
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 07:41 by OEbVnUOu01ol
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 10/500 2026-08-23 07:17 by OEbVnUOu01ol
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 04:04 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 2JOx3r2CYEgw 2026-08-21 4/200 2026-08-22 16:52 by sunzitan
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见