24小时热门版块排行榜    

查看: 5057  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[公派出国] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 18:00 by q1p9ixelzp
[考研] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 4/200 2026-06-21 17:45 by q1p9ixelzp
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 17:40 by q1p9ixelzp
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 17:37 by q1p9ixelzp
[公派出国] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 4/200 2026-06-21 17:25 by ky8v3skvft
[考博] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 5/250 2026-06-21 17:20 by ky8v3skvft
[博后之家] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 6/300 2026-06-21 17:05 by ky8v3skvft
[公派出国] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 5/250 2026-06-21 17:00 by ky8v3skvft
[教师之家] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +5 vlfdw50o0u 2026-06-20 7/350 2026-06-21 16:57 by ky8v3skvft
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 vlfdw50o0u 2026-06-20 5/250 2026-06-21 16:45 by ky8v3skvft
[教师之家] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 7/350 2026-06-21 16:40 by ky8v3skvft
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 9/450 2026-06-21 16:37 by ky8v3skvft
[基金申请] E0414, 我的本子有没有希望? +7 布布和一二 2026-06-17 8/400 2026-06-21 15:44 by lwliwei1989
[基金申请] 青A35岁以下通知答辩了吗 +3 暨阳一只柴 2026-06-17 3/150 2026-06-21 09:39 by kudofaye
[考博] 【全奖博士/科研助理/博后招生】新加坡南洋理工大学机械与航空航天学院 +3 robohaha 2026-06-15 4/200 2026-06-21 00:36 by lanbing1
[文学芳草园] 有谁可曾问过你过的还好吗? +13 myrtle 2026-06-14 22/1100 2026-06-20 23:50 by 波澜任欢
[硕博家园] 一篇论文同时出现在两个期刊,一模一样,这算不算学术不端,请各位老师斧正。 +11 mahl005 2026-06-14 12/600 2026-06-18 17:01 by 770904134
[基金申请] 希望面上有个好结果 +7 碧水00 2026-06-16 7/350 2026-06-18 12:18 by wuke100666
[论文投稿] 三区计算机方向期刊推荐 +5 1457340941 2026-06-15 5/250 2026-06-17 13:16 by 会议编辑
[论文投稿] sci论文二审求助 +5 潘倍倍 2026-06-15 5/250 2026-06-16 10:15 by xs74101122
信息提示
请填处理意见