Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

132 lines
4.3 KiB

C --Open the GENESIS database file
NDB = 9
OPEN (UNIT=NDB, ..., STATUS='OLD', FORM='UNFORMATTED')
C --Read the title
READ (NDB) TITLE
C --TITLE - the title of the database (CHARACTER*80)
C --Read the database sizing parameters
READ (NDB) NUMNP, NDIM, NUMEL, NELBLK,
& NUMNPS, LNPSNL, NUMESS, LESSEL, LESSNL
C --NUMNP - the number of nodes
C --NDIM - the number of coordinates per node
C --NUMEL - the number of elements
C --NELBLK - the number of element blocks
C --NUMNPS - the number of node sets
C --LNPSNL - the length of the node sets node list
C --NUMESS - the number of side sets
C --LESSEL - the length of the side sets element list
C --LESSNL - the length of the side sets node list
C --Read the nodal coordinates
READ (NDB) ((CORD(INP,I), INP=1,NUMNP), I=1,NDIM)
C --Read the element order map (each element must be listed once)
READ (NDB) (MAPEL(IEL), IEL=1,NUMEL)
C --Read the element blocks
DO 100 IEB = 1, NELBLK
C --Read the sizing parameters for this element block
READ (NDB) IDELB, NUMELB, NUMLNK, NATRIB
C --IDELB - the element block identification (must be unique)
C --NUMELB - the number of elements in this block
C -- (the sum of NUMELB for all blocks must equal NUMEL)
C --NUMLNK - the number of nodes defining the connectivity
C -- for an element in this block
C --NATRIB - the number of element attributes for an element
C -- in this block
C --Read the connectivity for all elements in this block
READ (NDB) ((LINK(J,I), J=1,NUMLNK, I=1,NUMELB)
C --Read the attributes for all elements in this block
READ (NDB) ((ATRIB(J,I), J=1,NATRIB, I=1,NUMELB)
100 CONTINUE
C --Read the node sets
READ (NDB) (IDNPS(I), I=1,NUMNPS)
C --IDNPS - the ID of each node set
READ (NDB) (NNNPS(I), I=1,NUMNPS)
C --NNNPS - the number of nodes in each node set
READ (NDB) (IXNNPS(I), I=1,NUMNPS)
C --IXNNPS - the index of the first node in each node set
C -- (in LTNNPS and FACNPS)
READ (NDB) (LTNNPS(I), I=1,LNPSNL)
C --LTNNPS - the nodes in all the node sets
READ (NDB) (FACNPS(I), I=1,LNPSNL)
C --FACNPS - the factor for each node in LTNNPS
C --Read the side sets
READ (NDB) (IDESS(I), I=1,NUMESS)
C --IDESS - the ID of each side set
READ (NDB) (NEESS(I), I=1,NUMESS)
C --NEESS - the number of elements in each side set
READ (NDB) (NNESS(I), I=1,NUMESS)
C --NNESS - the number of nodes in each side set
READ (NDB) (IXEESS(I), I=1,NUMESS)
C --IXEESS - the index of the first element in each side set
C -- (in LTEESS)
READ (NDB) (IXNESS(I), I=1,NUMESS)
C --IXNESS - the index of the first node in each side set
C -- (in LTNESS and FACESS)
READ (NDB) (LTEESS(I), I=1,LESSEL)
C --LTEESS - the elements in all the side sets
READ (NDB) (LTNESS(I), I=1,LESSNL)
C --LTNESS - the nodes in all the side sets
READ (NDB) (FACESS(I), I=1,LESSNL)
C --FACESS - the factor for each node in LTNESS
C ...A valid GENESIS database may end at this point or after any point
C ...described below.
C --Read the QA header information
READ (NDB, END=...) NQAREC
C --NQAREC - the number of QA records (must be at least 1)
DO 110 IQA = 1, MAX(1,NQAREC)
READ (NDB) (QATITL(I,IQA), I=1,4)
C --QATITL - the QA title records; each record contains:
C -- 1) analysis code name (CHARACTER*8)
C -- 2) analysis code qa descriptor (CHARACTER*8)
C -- 3) analysis date (CHARACTER*8)
C -- 4) analysis time (CHARACTER*8)
110 CONTINUE
C --Read the optional header text
READ (NDB, END=...) NINFO
C --NINFO - the number of information records
DO 120 I = 1, NINFO
READ (NDB) INFO(I)
C --INFO - extra information records (optional) that contain
C -- any supportive documentation that the analysis code
C -- developer wishes (CHARACTER*80)
120 CONTINUE
C --Read the coordinate names
READ (NDB, END=...) (NAMECO(I), I=1,NDIM)
C --NAMECO - the coordinate names (CHARACTER*8)
C --Read the element type names
READ (NDB, END=...) (NAMELB(I), I=1,NELBLK)
C --NAMELB - the element type names (CHARACTER*8)