Fortran Coder

查看: 11524|回复: 4
打印 上一主题 下一主题

[输入输出] 写入后,读取,再写入对不上,总差一个时间增量

[复制链接]

19

帖子

5

主题

0

精华

入门

F 币
98 元
贡献
62 点
跳转到指定楼层
楼主
发表于 2019-12-23 17:28:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我先使用子程序URDFILWRITE写入到一个文件F1.txt中(实时写入,只显示一个时间增量的),之后再在DLOAD子程序读取F1.txt中的数据,再写入到另一个文件F2.txt中,但数据竟然不同步,而且,F1与F2中第一个数据不对应,请问这是怎么回事?
TXT文件中,F1.TXT的每四个数据的前两行是F2.TXT的前两列数据
希望可以得到帮助,真的不理解,也看过帮助文档,没有解决问题


F1.txt

111.44 KB, 下载次数: 2

URDFIL子程序输出正常的样子

F2.txt

844.59 KB, 下载次数: 2

DLOAD读取再写入的样子

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

19

帖子

5

主题

0

精华

入门

F 币
98 元
贡献
62 点
5#
 楼主| 发表于 2019-12-24 13:22:13 | 只看该作者
①在ABAQUS中,我一共三个分析步,前两个静力分析步(共1S),第三个是动力分析步(共20S)。设置的输出是从第3分析步开始。
②在URDFIL中,输出到F11.TXT中数据和ABAQUS每一个增量步的数据可以对上。
③之后DLOAD读取F11.TXT中的数据,之后再写入F12.TXT中,开头和结尾都对不上DLOAD最后写入F12.TXT中的数据,是URDFIL的倒数第二个数据,对不上。好几天了,一直不明白为什么?

19

帖子

5

主题

0

精华

入门

F 币
98 元
贡献
62 点
地板
 楼主| 发表于 2019-12-24 13:12:20 | 只看该作者
这个是CODE

code.txt

1.22 KB, 下载次数: 0

19

帖子

5

主题

0

精华

入门

F 币
98 元
贡献
62 点
板凳
 楼主| 发表于 2019-12-24 13:07:29 | 只看该作者
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
1000  CONTINUE
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

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2019-12-23 21:35:16 | 只看该作者

回帖奖励 +1

只有数据,没有代码。什么信息也得不到~~

正确的代码可能只有几种写法,但错误的写法成千上万种。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-22 15:31

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表