- 积分
- 16
- 注册时间
- 2003-9-19
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2003-11-18 10:56:51
|
显示全部楼层
来自 江西南昌
回复: 回复: 【讨论】如何加子程序?
Apple-tree wrote:
我现在用abaqus j=your_input_file user=your_subroutine 加了以后,dat里面老是报错,还请哪位热心的师兄帮个忙!
检查你的input file and subs,我粘一个urdfil给你,这个sub应该没有问题,只要在
input file中确保有如下语法:
*node file
urdfil文件如下:
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='D:\TEMP\F3.DAT')
WRITE(17,*) KINC,KSTEP
DO 1000 K2=1,10
DO 100 K1=1,99999
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,'COORD',F20.14,5X,F20.14,5X,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,'UCOORD',F20.14,5X,F20.14,5X,F20.14,5X)
ELSE IF(KEY.EQ.102)THEN
WRITE(17,130) ARRAY(3),ARRAY(4),ARRAY(5),ARRAY(6),ARRAY(7),
1 ARRAY(8),ARRAY(9)
130 FORMAT(5X,'NODE',I5,5X,'VELOVITY',F20.10,5X,F20.10,5X,F20.10,
1 5X,F20.10,5X,F20.10,5X,F20.10,5X)
END IF
C
100 CONTINUE
1000 CONTINUE
110 CONTINUE
CLOSE(17)
RETURN
END |
|