感谢老哥的热心回复,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
|