You are on page 1of 2

C UEXTERNALDB is directory dependent!!

C
C ABA_PARAM.INC helps define precision/naming conventions of ABAQUS variables:
contents are following
C for ABAQUS standard 6.7-1...implicit real*8(a-h,o-z) parameter (nprecd=2)
C
C This subroutine defines initial stresses at the element integration points
C in a new mesh. See ABAQUS Analysis Manual, Version 6.4, Section 25.2.17. This
C is mainly done by reading in N points from a direct access data file.
C
SUBROUTINE SIGINI(SIGMA,COORDS,NTENS,NCRDS,NOEL,NPT,LAYER,
1 KSPT,LREBAR,NAMES)
INCLUDE 'ABA_PARAM.INC'
DIMENSION SIGMA(NTENS),COORDS(NCRDS)
CHARACTER NAMES(2)*80
C
C OBJECTIVE: Define SIGMA(NTENS)
C
INTEGER MPTEMP,RECNO
C
C Calculate and read in correct record number
C
RECNO=(NOEL-1)*4+NPT+1
READ(150,FMT='(I6,4(E22.14))',REC=RECNO) MPTEMP, SIGMA(1), SIGMA(2),
1 SIGMA(3), SIGMA(4)
C WRITE(*,*) NOEL, NPT, SIGMA(1), SIGMA(2), SIGMA(3), SIGMA(4)
RETURN
END SUBROUTINE SIGINI
C
C
C This subroutine defines initial voids ratios at the element integration points
C in a new mesh. See ABAQUS Analysis Manual, Version 6.4, Section 25.2.43. This
C is mainly done by reading in N points from a direct access data file.
C
SUBROUTINE VOIDRI(EZERO,COORDS,NOEL)
INCLUDE 'ABA_PARAM.INC'
DIMENSION COORDS(3)
INTEGER MPTEMP, NPT, RECNO
C
C OBJECTIVE: Define EZERO
C
C REWIND AND READ THE REQUIRED IP NUMBER FROM STORAGE FILE
REWIND(UNIT=210)
READ(210,*) NPT
C
C Calculate and read in correct record number
C
RECNO=(NOEL-1)*4+NPT+1
READ(170,FMT='(I6,E22.14)',REC=RECNO) MPTEMP, EZERO
C WRITE(*,*) NOEL, NPT, EZERO
C REWIND AND WRITE TO THE NEXT IP NUMBER REQUIRED TO STORAGE FILE
IF (NPT.EQ.4) THEN
NPT=1
ELSE
NPT=NPT+1
ENDIF
REWIND(UNIT=210)
WRITE(210,*) NPT
RETURN
END SUBROUTINE VOIDRI

You might also like