Next: Subroutine UIDMAT
Up: FEMGEN Geometry User Routines
Previous: Subroutine FGVINI
SUBROUTINE UIBODY(IWHAT,INDEX,NAME,ISTYPE,
1 LREAL,RDATA,LINTG,IDATA,LPTR,IPTR,
2 IERROR)
C U I B O D Y
C ===========
C********************************************************************
C
C --- PURPOSE : USER INTERFACE TO BODY ENTITY IN FEMGEN DATA BASE
C
C --- IN : IWHAT : ACTION REQUESTED ON ENTITY
C : 1 : CREATE
C : 2 : FIND
C : 3 : REPLACE
C : 4 : READ
C : 5 : DELETE
C
C --- IN/OUT : INDEX : POINTER TO INSTANCE
C : NAME : ENTITY NAME
C : ISTYPE : ENTITY SUB-TYPE
C : LREAL : NUMBER OF REALS
C : RDATA : REAL DATA
C : LINTG : NUMBER OF INTEGERS
C : IDATA : INTEGER DATA
C : LPTR : NUMBER OF POINTERS
C : IPTR : POINTER DATA
C
C --- OUT : IERROR : 0 : OK
C : 1 : ILLEGAL ACTION REQUESTED
C : 2 : INCORRECT POINTER TO ENTITY
C : 3 : ILLEGAL SUB-TYPE
C : 5 : INCORRECT DATA
C
C********************************************************************
C
C --- METHOD : THE DATA PASSED TO OR OUTPUT FROM THIS ROUTINE IS
C DEPENDENT ON THE RELEVANT SUB-TYPE.
C
C ISTYPE = 1 : BOUNDARY INTERPOLATION
C : LINTG = 4
C : IDATA(1) = ELEMENT TYPE
C : IDATA(2) = ELEMENT VARIANT
C : IDATA(3) = ELEMENT GROUP
C : IDATA(4) = NUMBER OF BOUNDING SURFACES (NBS)
C : LPTR = NUMBER OF POINTERS
C : IPTR(1:NBS) = INDICES TO SURFACE INSTANCES
C : IPTR(NBS+1) = INDEX TO FIRST ELEMENT INSTANCE
C : IPTR(NBS+2) = INDEX TO LAST ELEMENT INSTANCE
C : IPTR(NBS+3) = INDEX TO COORDINATE SYSTEM INSTANCE
C : IPTR(NBS+4) = INDEX TO MATERIAL INSTANCE
C : IPTR(NBS+5) = INDEX TO PHYSICAL INSTANCE
C
C
C ISTYPE = 2 : PRISMATIC SWEPT BODY
C : LINTG = 4
C : IDATA(1) = ELEMENT TYPE
C : IDATA(2) = ELEMENT VARIANT
C : IDATA(3) = ELEMENT GROUP
C : IDATA(4) = NUMBER OF HOLES (NBS)
C : LPTR = NUMBER OF POINTERS
C : IPTR(1:2) = INDICES TO SURFACE INSTANCES
C : IPTR(3) = INDEX TO OUTER LOOP INSTANCE
C : IPTR(4:NBS+3) = INDICES TO INNER LOOPS (IF ANY)
C : IPTR(NBS+4) = INDEX TO FIRST ELEMENT INSTANCE
C : IPTR(NBS+5) = INDEX TO LAST ELEMENT INSTANCE
C : IPTR(NBS+6) = INDEX TO COORDINATE SYSTEM INSTANCE
C : IPTR(NBS+7) = INDEX TO MATERIAL INSTANCE
C : IPTR(NBS+8) = INDEX TO PHYSICAL INSTANCE
C
C********************************************************************
C
REAL RDATA(*)
INTEGER IWHAT,INDEX,ISTYPE,LREAL,LINTG,LPTR,IERROR
INTEGER IDATA(*),IPTR(*)
CHARACTER*(*) NAME
C