|
现在想请教:在DLOAD如何读取指定节点编号、位移、速度
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=17,FILE='E:\tempabaqus\2.DAT')
WRITE(17,*)KINC,KSTEP
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.107)THEN
KEL=JRRAY(1,3)
COORD(1)=ARRAY(4)
COORD(2)=ARRAY(5)
COORD(3)=ARRAY(6)
WRITE(17,120)KEL,COORD(1),COORD(2),COORD(3)
120 FORMAT(5X,'NODE',I5,5X,'X',F20.14,5X,'Y',F20.14,5X,'Z'
1,F20.14,5X)
ELSE IF(KEY.EQ.101)THEN
KEL=JRRAY(1,3)
COORD(1)=ARRAY(4)
COORD(2)=ARRAY(5)
COORD(3)=ARRAY(6)
WRITE(17,140)KEL,COORD(1),COORD(2),COORD(3)
140 FORMAT(5X,'NODE',I5,5X,'UX',F20.14,5X,'UY',F20.14,5X
1,'UZ',F20.14,5X)
ELSE IF(KEY.EQ.102)THEN
WRITE(17,130)ARRAY(3),ARRAY(4),ARRAY(5),ARRAY(6)
130 FORMAT(5X,'NODE',I5,5X,'VX',F20.14,5X,'VY',F20.14,5X,'VZ'
1,F20.14,5X)
END IF
C
100 CONTINUE
1000 CONTINUE
110 CONTINUE
CLOSE(17)
RETURN
END
以上的代码是我在书上看到然后自己抄了一遍,用来输出坐标、位移和速度的代码。
接下来的是DLOAD程序,我想要读取.DAT文件中的数据,然后写入另一个.DAT文件中。
但此时,不知道该如何读取。
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 C
OPEN(UNIT=17,FILE='E:\tempabaqus\2.DAT')
READ(17,*)NODE,X
OPEN(UNIT=18,FILE='E:\tempabaqus\10.DAT')
WRITE(18,150)NODE,X
图片是生成的2.DAT文件中的内容。
file:///C:/Users/DELL/AppData/Roaming/Tencent/Users/519771355/QQ/WinTemp/RichOle/Y3%7DH9(%7BWW%60CKTLW0KSAVMVR.png
|
-
1.jpg
(40.12 KB, 下载次数: 224)
2.DAT
|