Fortran Coder

查看: 14797|回复: 9
打印 上一主题 下一主题

[求助] 求助,Fortran77有延时函数吗?

[复制链接]

9

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
31 点
跳转到指定楼层
楼主
发表于 2019-10-20 21:50:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
各位老哥,小弟才学不久的Fortran,主要做abaqus的二次开发,现在需要让我的子程序暂停60秒,网上查到了sleep函数,但经过试验,不行。实在是没有办法了,希望有知道的老哥指点一二。抱拳了

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
沙发
发表于 2019-10-21 15:26:29 | 只看该作者
如果是ivf,可以用sleep

QQ截图20191021112109.png (58.79 KB, 下载次数: 328)

QQ截图20191021112109.png

9

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
31 点
板凳
 楼主| 发表于 2019-10-21 15:46:22 | 只看该作者
li913 发表于 2019-10-21 15:26
如果是ivf,可以用sleep

感谢老哥的热心回复,abaqus编译器是IVF,但我按照您说的这种方法尝试了下,还是会出错。
这是我的代码,编的很菜
[Fortran] 纯文本查看 复制代码
      USE IFPORT
      subroutine vexternaldb(lOp, i_Array, niArray, r_Array, nrArray)
C
      include 'vaba_param.inc'

C     Contents of i_Array
      parameter( i_int_nTotalNodes     = 1,
     *           i_int_nTotalElements  = 2,
     *           i_int_kStep           = 3,
     *           i_int_kInc            = 4,
     *           i_int_iStatus         = 5,
     *           i_int_lWriteRestart   = 6  )

C     Possible values for the lOp argument
      parameter( j_int_StartAnalysis    = 0,      
     *           j_int_StartStep        = 1,      
     *           j_int_SetupIncrement   = 2,      
     *           j_int_StartIncrement   = 3,      
     *           j_int_EndIncrement     = 4,      
     *           j_int_EndStep          = 5,      
     *           j_int_EndAnalysis      = 6 )     


C     Possible values for i_Array(i_int_iStatus)
      parameter( j_int_Continue = 0,      
     *                j_int_TerminateStep = 1,      
     *                j_int_TerminateAnalysis = 2)      

C     Contents of r_Array
      parameter( i_flt_TotalTime = 1,
     *           i_flt_StepTime = 2,
     *           i_flt_dTime = 3 )
C
      parameter(i=0)
      integer limit
      integer counter
      character( len = 512 ) :: cFile
      character( len = 512 ) :: cHile
      parameter(limit=2)
      dimension i_Array(niArray),      
     *   r_Array(nrArray)

      kStep = i_Array(i_int_kStep)
      kInc  = i_Array(i_int_kInc)

C     Start of the analysis      
      if (lop .eq. j_int_EndStep) then 
          i_Array(i_int_iStatus) = 2   !stop 
          open(unit= 1, file = 'H:\keti\Fortrantest\A1.CSV')
          call SLEEP(120)
          i_Array(i_int_iStatus) = 0   !start
          open(unit= 2, file = 'H:\keti\Fortrantest\A2.CSV')
      end if 
      return
      end


798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
地板
发表于 2019-10-21 15:48:39 | 只看该作者
给错误提示。

9

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
31 点
5#
 楼主| 发表于 2019-10-21 16:25:48 | 只看该作者

Error in job Job-66: Problem during compilation - H:\keti\Fortrantest\VEXTERNALDB1021.for
Job Job-66 aborted due to errors.     老哥这是abaqus给出的提示,其他的一点都没有

9

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
31 点
6#
 楼主| 发表于 2019-10-21 16:40:07 | 只看该作者

应该是abaqus软件中识别不了这个

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
7#
发表于 2019-10-21 20:11:37 | 只看该作者
这两句交换位置
     USE IFPORT
      subroutine vexternaldb(lOp, i_Array, niArray, r_Array, nrArray)

9

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
31 点
8#
 楼主| 发表于 2019-10-21 20:34:01 | 只看该作者
li913 发表于 2019-10-21 20:11
这两句交换位置
     USE IFPORT
      subroutine vexternaldb(lOp, i_Array, niArray, r_Array, nrArray) ...

已经试过了,老哥。还是会报一样的错

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
9#
发表于 2019-10-21 20:56:23 | 只看该作者
没有更多信息,无能为力

9

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
31 点
10#
 楼主| 发表于 2019-10-22 20:24:58 | 只看该作者
li913 发表于 2019-10-21 20:56
没有更多信息,无能为力

非常感谢老哥
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-4-27 03:03

Powered by Tencent X3.4

© 2013-2024 Tencent

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