next up previous
Next: Subroutine UIDMAT Up: FEMGEN Geometry User Routines Previous: Subroutine FGVINI

Subroutine UIBODY

      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



Femsys Limited
8/18/1999