有偿!如何在umat中调用txt文件,并在后续过程中一直使用? 10
浏览:433
我想在umat第一次调用的时候读取txt文件中的数据并且保存,方便后续的调用,我的代码如下:
OPEN(UNIT=91, FILE=TRIM(FNAME1), STATUS='OLD', ACTION='READ', 1 ACCESS='SEQUENTIAL', FORM='FORMATTED', IOSTAT=IOS) IF (IOS .NE. 0) THEN WRITE(*,*) '*** ERROR: could not open file: ', TRIM(FNAME1) CALL XIT END IF READ(91,*,IOSTAT=IOS) BUF7 IF (IOS /= 0) THEN WRITE(*,*) '*** ERROR: failed to read line, IOSTAT=', IOS CLOSE(91) CALL XIT END IF DO I = 1, 7 BASE_out(I) = BUF7(I) END DO CLOSE(91) OPEN(UNIT=UDBG, FILE='F:\abaqus_database\Multi-ML\test1\BASE_out_debug.txt', 1 STATUS='REPLACE', ACTION='WRITE', IOSTAT=IOS) IF (IOS .NE. 0) THEN WRITE(6,*) 'DBG: cannot open debug file, IOS=', IOS CALL FLUSH(6) ELSE WRITE(UDBG,*) '==== BASE_out values from ====' WRITE(UDBG,*) TRIM(FNAME1) DO I = 1, 7 WRITE(UDBG,'(A,I2,A,E15.6)') 1 'BASE_out(',I,') = ',BASE_out(I) END DO CALL FLUSH(UDBG) CLOSE(UDBG) END IF
读取的结果正确,如下:

但是会报错:

当把上述的代码中的一部分注释之后
C IF (IOS /= 0) THEN C WRITE(*,*) '*** ERROR: failed to read line, IOSTAT=', IOS C CLOSE(91) C CALL XIT C END IF
就会随机出现数字:
