有偿!如何在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

 读取的结果正确,如下:

有偿!如何在umat中调用txt文件,并在后续过程中一直使用?的图1



但是会报错:

有偿!如何在umat中调用txt文件,并在后续过程中一直使用?的图2



当把上述的代码中的一部分注释之后

C       IF (IOS /= 0) THEN
C           WRITE(*,*) '*** ERROR: failed to read line, IOSTAT=', IOS
C           CLOSE(91)
C           CALL XIT
C       END IF

就会随机出现数字:

有偿!如何在umat中调用txt文件,并在后续过程中一直使用?的图3




有没有大佬知道怎么办?



邀请回答 我来回答

当前暂无回答

回答可获赠 200金币

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP