24小时热门版块排行榜    

查看: 1088  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

jzq19841102

金虫 (初入文坛)

[求助] 请Fortran高手指点!!!

用Absoft70编了一个小程序,在赋值那两行一直报错,不知道怎么解决,请高手指点!!!谢谢!!!

程序如下:

Real::aa
        aa=((-5.6409215)*(10**(-13))*(TEMPE**5)
     &+(0.01374899)*(EFEPSE**5)+(0.0038608)*
     &TEMPE*(EFEPSE**4)-(2.57162431)*(10**(-5))*
     &(TEMPE**2)*(EFEPSE**3)-(1.0327334)*(10**(-7))*
     &(TEMPE**3)*(EFEPSE**2)+(6.5978419)*(10**(-10))*
     &(TEMPE**4)*EFEPSE+(6.99708629)*(10**(-10))*
     &(TEMPE**4)-(3.776971)*(EFEPSE**4)+(0.0069343)*
     &TEMPE*(EFEPSE**3)+(0.00058326)*(TEMPE**2)*
     &(EFEPSE**2)-(1.534483)*(10**(-6))*(TEMPE**3)*
     &EFEPSE+(3.5831657)*(10**(-6))*(TEMPE**3)+
     &(16.316593)*(EFEPSE**3)-(0.79593988)*TEMPE*
     &(EFEPSE**2)+(0.000486652)*(TEMPE**2)*
     &EFEPSE-(0.00921802)*(TEMPE**2)+(318.481403)*
     &(EFEPSE**2)+(0.9722918)*TEMPE*EFEPSE+(7.7097759)*
     &TEMPE-(584.3833107)*EFEPSE-2210.448129)
        IF(ISTATUS.EQ.1.AND.KELE.GT.0) THEN
        IF (TEPSE.GT.aa) THEN
         USRE2(1)=1.0-EXP(-((-4.24296403)*(10**(-12))*
     &(TEMPE**5)-(1.107242)*(EFEPSE**5)+(0.003646453)*
     &TEMPE*(EFEPSE**4)-(9.831506)*(10**(-5))*
     &(TEMPE**2)*(EFEPSE**3)+(1.301407)*(10**(-7))*
     &(TEMPE**3)*(EFEPSE**2)+(3.3214738)*(10**(-10))*
     &(TEMPE**4)*EFEPSE+(2.3691111)*(10**(-8))*(TEMPE**4)-
     &(8.739411)*(EFEPSE**4)+0.147491*TEMPE*(EFEPSE**3)+
     &0.0007152154*(TEMPE**2)*(EFEPSE**2)-(2.9709698)*
     &(10**(-6))*(TEMPE**3)*EFEPSE-(4.105068)*(10**(-5))*
     &(TEMPE**3)+131.416869*(EFEPSE**3)-(1.6836256)*TEMPE*
     &(EFEPSE**2)+0.00564391*(TEMPE**2)*EFEPSE+0.0248135*
     &(TEMPE**2)+647.23637*(EFEPSE**2)-(3.810692)*TEMPE*
     &EFEPSE+0.032757*TEMPE+821.969366*EFEPSE-3242.5681412)*
     &((TEPSE-((-5.6409215)*(10**(-13))*(TEMPE**5)+
     &(0.01374899)*(EFEPSE**5)+(0.0038608)*TEMPE*
     &(EFEPSE**4)-(2.57162431)*(10**(-5))*(TEMPE**2)*
     &(EFEPSE**3)-(1.0327334)*(10**(-7))*(TEMPE**3)*
     &(EFEPSE**2)+(6.5978419)*(10**(-10))*(TEMPE**4)*
     &EFEPSE+(6.99708629)*(10**(-10))*(TEMPE**4)-
     &(3.776971)*(EFEPSE**4)+(0.0069343)*TEMPE*(EFEPSE**3)+
     &(0.00058326)*(TEMPE**2)*(EFEPSE**2)-(1.534483)*
     &(10**(-6))*(TEMPE**3)*EFEPSE+(3.5831657)*(10**(-6))*
     &(TEMPE**3)+(16.316593)*(EFEPSE**3)-(0.79593988)*TEMPE*
     &(EFEPSE**2)+(0.000486652)*(TEMPE**2)*EFEPSE-
     &(0.00921802)*(TEMPE**2)+(318.481403)*(EFEPSE**2)+
     &(0.9722918)*TEMPE*EFEPSE+(7.7097759)*TEMPE-
     &(584.3833107)*EFEPSE-2210.448129))**
     &((-7.098369)*(10**(-9))*(TEMPE**4)+0.388622*
     &(EFEPSE**4)+0.001273*TEMPE*(EFEPSE**3)+
     &(2.773053)*(10**(-6))*(TEMPE**2)*(EFEPSE**2)+
     &(1.016019)*(10**(-6))*(TEMPE**3)*EFEPSE+
     &(-0.0195863)*TEMPE*(EFEPSE**2)+(-0.0029781)*
     &(TEMPE**2)*EFEPSE+(1.841733)*(10**(-5))*
     &(TEMPE**3)+(-5.613127)*(EFEPSE**3)+(-0.0134321)*
     &(TEMPE**2)+21.4240294*(EFEPSE**2)+2.923792*TEMPE*
     &EFEPSE+(-0.0032076)*TEMPE+(-962.367796)*EFEPSE+
     &2118.236633)))
        ELSE
        USRE2(1) = 0.0
        ENDIF
      ENDIF
      END  

其中  USRE2  : USER ELEMENT STATE VARIABLES (OUTPUT: At the End of the STEP N)
         EFEPSE : EFFECTIVE STRAIN RATE
         TEMPE  : NODAL TEMPERATURES
         ISTATUS: 0 - the begain of the step
C                       1 - the end of the step
       KELE   : ELEMENT NUMBER
       TEPSE  : TOTAL EFFECTIVE STRAIN


报错内容:cf90-324 error on line 1311 of .\def_usr.f: Assignment of a rank 1 expression to a rank 0 variable is not allowed.

cf90-324 error on line 1328 of .\def_usr.f: Assignment of a rank 1 expression to a rank 0 variable is not allowed.

报错的两行分别是:
aa=((-5.6409215)*(10**(-13))*(TEMPE**5)
USRE2(1)=1.0-EXP(-((-4.24296403)*(10**(-12))*



谢谢啦!!!

注: 附件里有txt版程序
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 新建文本文档.txt
  • 2012-08-10 17:19:53, 5.05 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

hitbenxun

木虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢 2012-08-12 21:00:37
1、检查括号是否成对
2、检查变量是否都是纯变量,是否有数组混入其中
3楼2012-08-10 22:22:33
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

smswt

铁杆木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
错误说出来了嘛
等号两边的rank(维度?)不一样
2楼2012-08-10 22:08:26
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2012-08-12 21:00:27
程序写出这样debug也难!

aa=((-5.6409215)*(10**(-13))*(TEMPE**5)
常数不要写成这样,(-5.6409215)*10**(-13)可以直接写成 -5.6409215E-13

USRE2(1)=1.0-EXP(-((-4.24296403)*(10**(-12))*
USRE2是一个数组,你没有先定义怎么可以使用?
4楼2012-08-11 03:51:20
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见