Fortran Coder

标题: 求助,Fortran77有延时函数吗? [打印本页]

作者: Jack-Ma    时间: 2019-10-20 21:50
标题: 求助,Fortran77有延时函数吗?
各位老哥,小弟才学不久的Fortran,主要做abaqus的二次开发,现在需要让我的子程序暂停60秒,网上查到了sleep函数,但经过试验,不行。实在是没有办法了,希望有知道的老哥指点一二。抱拳了


作者: li913    时间: 2019-10-21 15:26
如果是ivf,可以用sleep

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

QQ截图20191021112109.png

作者: Jack-Ma    时间: 2019-10-21 15:46
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



作者: li913    时间: 2019-10-21 15:48
给错误提示。
作者: Jack-Ma    时间: 2019-10-21 16:25
li913 发表于 2019-10-21 15:48
给错误提示。

Error in job Job-66: Problem during compilation - H:\keti\Fortrantest\VEXTERNALDB1021.for
Job Job-66 aborted due to errors.     老哥这是abaqus给出的提示,其他的一点都没有
作者: Jack-Ma    时间: 2019-10-21 16:40
li913 发表于 2019-10-21 15:48
给错误提示。

应该是abaqus软件中识别不了这个
作者: li913    时间: 2019-10-21 20:11
这两句交换位置
     USE IFPORT
      subroutine vexternaldb(lOp, i_Array, niArray, r_Array, nrArray)
作者: Jack-Ma    时间: 2019-10-21 20:34
li913 发表于 2019-10-21 20:11
这两句交换位置
     USE IFPORT
      subroutine vexternaldb(lOp, i_Array, niArray, r_Array, nrArray) ...

已经试过了,老哥。还是会报一样的错
作者: li913    时间: 2019-10-21 20:56
没有更多信息,无能为力
作者: Jack-Ma    时间: 2019-10-22 20:24
li913 发表于 2019-10-21 20:56
没有更多信息,无能为力

非常感谢老哥




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2