Fortran Coder

查看: 10725|回复: 2
打印 上一主题 下一主题

[求助] 未知错误,小白求助

[复制链接]

14

帖子

5

主题

0

精华

入门

F 币
103 元
贡献
58 点
跳转到指定楼层
楼主
发表于 2018-7-25 23:42:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 shaoqikao100 于 2018-7-25 23:48 编辑

[Fortran] 纯文本查看 复制代码
    SUBROUTINE BIANTIAO(DI,DJ,FAIXC,FAIYC,LIC,VX,VY,DEN,STAPRE,RATE)
    IMPLICIT NONE
    INTEGER :: I,J,K,DI,DJ
    REAL(8):: DENIN = 1.293D0,STAPREIN = 85419.0D0, TOTALTEM = 330.0D0,TOTALPRE = 2500000.0D0
    REAL(8):: RGAS = 287.06D0,STAPREI,RATE,MAII,STATEMI,GAMA = 1.4D0,KK,RR
    REAL(8):: VY(0:DI,0:DJ),VX(0:DI,0:DJ),DEN(0:DI,0:DJ),STAPRE(0:DI,0:DJ),FAIXC(0:DI,0:DJ),FAIYC(0:DI,0:DJ)
    REAL(8):: LIC(0:DI,0:DJ)
    DO J= 1,DJ-1
        STAPREI = DMIN1(STAPRE(1,J),TOTALPRE)
        KK = ((GAMA-1.0D0)/GAMA)
        RR = (TOTALPRE/STAPREI)
        RATE =REAL(RR**KK)
        MAII =DSQRT((RATE-1.0D0)*2.0D0/(GAMA-1.0D0))
        STATEMI = TOTALTEM/RATE
        VY(0,J) = 0.0D0
        STAPRE(0,J) = STAPREI
        DEN(0,J) = STAPREI/(STATEMI*RGAS)
        VX(0,J) = MAII*DSQRT(GAMA*RGAS*STATEMI)
    END DO
    DO J=1,DJ-1
       DEN(DI,J) = DEN(DI-1,J)
       VX(DI,J) = VX(DI-1,J)
       VY(DI,J) = VY(DI-1,J)
       STAPRE(DI,J) = STAPREIN
    END DO
    DO I = 1,DI-1
        VX(I,DJ) = VX(I,DJ-1)-2.0D0*(VX(I,DJ-1)*FAIXC(I,DJ-1)+VY(I,DJ-1)*FAIYC(I,DJ-1))*FAIXC(I,DJ-1)/(LIC(I,DJ-1)**2)
        VY(I,DJ) = VY(I,DJ-1)-2.0D0*(VX(I,DJ-1)*FAIXC(I,DJ-1)+VY(I,DJ-1)*FAIYC(I,DJ-1))*FAIYC(I,DJ-1)/(LIC(I,DJ-1)**2)
        DEN(I,DJ) = DEN(I,DJ-1)
        STAPRE(I,DJ) = STAPRE(I,DJ-1)
    END DO
    DO I =1,DI-1
        VX(I,0) = VX(I,1)-2.0D0*(VX(I,1)*FAIXC(I,1)+VY(I,1)*FAIYC(I,1))*FAIXC(I,1)/(LIC(I,1)**2)
        VY(I,0) = VY(I,1)-2.0D0*(VX(I,1)*FAIXC(I,1)+VY(I,1)*FAIYC(I,1))*FAIYC(I,1)/(LIC(I,1)**2)
        DEN(I,0) = DEN(I,1)
        STAPRE(I,0) = STAPRE(I,1)        
    ENDDO
    
    RETURN
    END
小白求助,哪位老师帮忙看看
进入上述子程序,运行到RATE这一句之前都正常,相关参数大小见图




运行RATE这句之后,出现了这样的错误

想不明白,我的语法应该没有问题啊,为什么rate就是过不去,我试了,如果改成正常的数字如24**0.2是可以的

微信截图_20180725233318.jpg (17.68 KB, 下载次数: 266)

微信截图_20180725233318.jpg
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

63

帖子

9

主题

0

精华

专家

超凡脱俗

F 币
474 元
贡献
237 点
沙发
发表于 2018-7-26 14:39:43 | 只看该作者
你的截图里是RATE =REAL(RR**K)啊
天下英雄出我辈,一入江湖岁月催。

鸿图霸业谈笑间,不胜人生一场醉。

14

帖子

5

主题

0

精华

入门

F 币
103 元
贡献
58 点
板凳
 楼主| 发表于 2018-7-26 19:40:05 | 只看该作者
Jackdaw 发表于 2018-7-26 14:39
你的截图里是RATE =REAL(RR**K)啊

谢谢哈,这个问题我找到了点规律了,和kk没有关系,我改了,这是当时测试的时候随手截的图,我发现我的vs好像不能设置断点来进行调试,不然就会在sqrt处和**这样表达的地方报错,不知道是什么原因,但是你正常运行是没有事的
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 16:52

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表