写入后,读取,再写入对不上,总差一个时间增量
我先使用子程序URDFILWRITE写入到一个文件F1.txt中(实时写入,只显示一个时间增量的),之后再在DLOAD子程序读取F1.txt中的数据,再写入到另一个文件F2.txt中,但数据竟然不同步,而且,F1与F2中第一个数据不对应,请问这是怎么回事?TXT文件中,F1.TXT的每四个数据的前两行是F2.TXT的前两列数据
希望可以得到帮助,真的不理解,也看过帮助文档,没有解决问题
只有数据,没有代码。什么信息也得不到~~
正确的代码可能只有几种写法,但错误的写法成千上万种。 fcode 发表于 2019-12-23 21:35
只有数据,没有代码。什么信息也得不到~~
正确的代码可能只有几种写法,但错误的写法成千上万种。 ...
感谢雪球。这就把代码弄来
SUBROUTINE URDFIL(LSTOP,LOVRWRT,KSTEP,KINC,DTIME,TIME)
C
INCLUDE'ABA_PARAM.INC'
C
DIMENSION ARRAY(513),JRRAY(NPRECD,513),TIME(2),LRUNIT(2,1)
1,COORD(3)
EQUIVALENCE(ARRAY(1),JRRAY(1,1))
CALL POSFIL(KSTEP,KINC,ARRAY,JRCD)
OPEN(UNIT=18,FILE='E:\tempabaqus\1224WX\F11.txt')
DO 1000 K2=1,10
DO 100 K1=1,9999999
C
CALL DBFILE(0,ARRAY,JRCD)
IF(JRCD.NE.0)GO TO 110
KEY=JRRAY(1,2)
C
IF(KEY.EQ.101)THEN
WRITE(18,160)ARRAY(6)
ELSE IF(KEY.EQ.102)THEN
WRITE(18,160)ARRAY(6)
160 FORMAT(F20.10,5X)
END IF
C
100 CONTINUE
1000CONTINUE
110 CONTINUE
CLOSE(18)
RETURN
END
SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS
1,JLTYP,SNAME)
C
INCLUDE'ABA_PARAM.INC'
C
DIMENSION TIME(2),COORDS(3)
CHARACTER*80 SNAME
C
REAL UB,UT,VB,VT,U,V
OPEN(UNIT=18,FILE='E:\tempabaqus\1224WX\F11.txt')
OPEN(UNIT=101,FILE='E:\tempabaqus\1224WX\F12.txt')
READ(18,*)UB,UT,VB,VT
U=UT-UB
V=VT-VB
F=-100000
WRITE(101,180)UB,UT,U
180 FORMAT(F20.10,5X,F20.10,5X,F20.10,5X)
CLOSE(18)
RETURN
END 这个是CODE ①在ABAQUS中,我一共三个分析步,前两个静力分析步(共1S),第三个是动力分析步(共20S)。设置的输出是从第3分析步开始。
②在URDFIL中,输出到F11.TXT中数据和ABAQUS每一个增量步的数据可以对上。
③之后DLOAD读取F11.TXT中的数据,之后再写入F12.TXT中,开头和结尾都对不上:DLOAD最后写入F12.TXT中的数据,是URDFIL的倒数第二个数据,对不上。好几天了,一直不明白为什么?
页:
[1]