This section explains the content of the element matrices file (jobname.emat).
See The Standard Header for Mechanical APDL Binary Files for a description of this set. File number (Item 1) is 2.
*comdeck,fdemat
c *** Copyright ANSYS. All Rights Reserved.
c *** ansys, inc.
c ********** description of element matrix file **********
c
character*8 EMATNM
parameter (EMATNM='emat ')
integer EMATHDLEN
parameter (EMATHDLEN=80)
LONGINT ematfpL, ematfp
integer ematbk, ematut, maxldset
common /fdemat/ ematfpL, ematbk, ematut, maxldset
equivalence (ematfp,ematfpL)
c ********** common variable descriptions ***********
co ematfpL file position on file emat
co ematbk block number for file emat
co ematut file unit for file emat
c See fddesc for documentation of how binary files are stored.
c
c ********** file format **********
c recid tells the identifier for this record. Not all records will have
c identifiers -- they are only indicated for those records whose
c record pointers are stored in the second file header.
c type tells what kind of information is stored in this record:
c i - integer
c dp - double precision
c cmp - complex
c nrec tells how many records of this description are found here
c lrec tells how long the records are (how many items are stored)
c recid type nrec lrec contents
c --- i 1 100 standard ANSYS file header (see binhed8 for
c details of header contents)
c --- i 1 80 .EMAT FILE HEADER
c
c fun02, nume, numdof, lenu, lenbac,
c maxn, nlgeEMA, sstEMAT, 0, lumpm,
c kygst, kygm, kycd, kygss, kygaf,
c kygrf, 0,Glblenbac, ptrGBkl, ptrGBkh,
c ptrElmh, 0, 0, ptrBITh, ptrEHDh,
c ptrIDXh, numCE, maxLeng, ptrCEl, ptrCEh,
c ptrDOF, ptrBAC, ptrELMl, 0, 0,
c ptrBITl, ptrEHDl, ptrIDXl, ptrendH, ptrendL,
c nldstp,maxldset, ptrLSIl, prtLSIh, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c each item in header is described below:
c fun02 - unit number (emat file is 2)
c nume - number of elements
c numdof - number of dofs per node
c lenu - total DOFs of model
c lenbac - number of nodes
c maxn - maximum node number
c nlgeEMA = 0 - nlgeom is OFF the time this Emat file is created
c 1 - nlgeom is ON the time this Emat file is created
c sstEMAT = 0 - sstif key is OFF the time this Emat file is created
c 1 - sstif key is ON the time this Emat file is created
c this key is for internal use only
c lumpm - lumped mass key
c = 0 - default matrix type
c = 1 - lumped
c kygst - global stiffness matrix calculate
c key
c = 0 - do not calculate
c = 1 - calculate
c kygm - global mass matrix calculate key
c = 0 - do not calculate
c = 1 - calculate
c kycd - global damping matrix calculate key
c = 0 - do not calculate
c = 1 - calculate
c kygss - global stress stiffening matrix
c calculate key
c = 0 - do not calculate
c = 1 - calculate
c kygaf - global applied force vector
c calculate key
c = 0 - do not calculate
c = 1 - calculate
c kygrf - global restoring force vector
c calculate key (Newton-Raphson only)
c = 0 - do not calculate
c = 1 - calculate
c 0 - position not used
c Glblenbac - global global number of nodes (== lenbac unless using
c Distributed Ansys)
c ptrGBkl- low pointer to global nodal equivalence table
c ptrGBkh- high pointer to global nodal equivalence table
c ptrELMh- high pointer to element equivalence table
c ptrBITh- high pointer to dof bits
c ptrEHDh- high pointer to the start of the
c element matrices
c ptrIDXh- high pointer to element matrices
c index table
c numCE - number of internal CEs
c maxLeng- maximum length of any internal CE
c ptrCEl - low pointer to internal CE list
c ptrCEh - high pointer to internal CE list
c ptrDOF - pointer to degrees of freedom per
c node used in model
c ptrBAC - pointer to nodal equivalence table
c ptrELMl- Low pointer to element equivalence
c table
c ptrBITl- Low pointer to dof bits
c ptrEHDl- Low pointer to the start of the
c element matrices
c ptrIDXl- Low pointer to element matrices
c index table
c ptrendH- High pointer to end of file
c ptrendL- Low pointer to end of file
c
c nldstp - number element load vector set
c maxldset- max eload vector set
c ptrLSIl - location of Load Step Index
c prtLSIh -
c Note: the analysis type sets the global calculate keys.
c --- dp 1 20 Time information
c
c timval, timinc, frqval, timbeg, timend,
c 0.0, 0.0, 0.0, 0.0, 0.0,
c 0.0, 0.0, 0.0, 0.0, 0.0,
c 0.0, 0.0, 0.0, 0.0, 0.0,
c each item is described below:
c timval - the current time
c timinc - the time increment
c frqval - the current frequency (from a
c harmonic analysis)
c timbeg - the start time for the analysis
c timend - the end time for the analysis
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c 0.0 - position not used
c DOF i 1 numdof Degrees of freedom per node
c DOF reference numbers are:
c UX = 1, UY = 2, UZ = 3, ROTX= 4, ROTY= 5, ROTZ= 6, AX = 7, AY = 8
c AZ = 9, VX =10, VY =11, VZ =12, GFV1=13, GFV2=14, GFV3=15, WARP=16
c CONC=17, HDSP=18, PRES=19, TEMP=20, VOLT=21, MAG =22, ENKE=23, ENDS=24
c EMF =25, CURR=26, SP01=27, SP02=28, SP03=29, SP04=30, SP05=31, SP06=32
c (curdof(i),i=1,numdof)
c BAC i 1 lenbac Nodal equivalence table. This table equates
c the number used for storage to the actual
c node number
c (Back(i),i=1,lenbac)
c ELM i 1 nume Element equivalence table. The ANSYS program
c stores all element data in the numerical
c order that the SOLUTION processor solves the
c elements. This table equates the order
c number used to the actual element number
c (Order(i),i=1,nume)
c GBK i 1 Glblenbac Global nodal equivalence table. This
c table equates the number used for storage
c to the actual node number. Only written
c by the master process in Distributed Ansys
c (GlbBack(i),i=1,Glblenbac)
c BIT i 1 lenu Bits set at a DOF table. This record
c has bits for constraints, forces, etc.
c (DofBits(i),i=1,lenu) (added at 10.0)
c IDX i 1 2*nume Element index table. This record specifies
c the file location for the beginning of the
c data for each element.
c (index(i),i=1,nume) Low part of pointer
c (index(i),i=1,nume) High part of pointer
c The records at the end of the file store element information and get written
c as a set for each element(nume sets of these records will appear on the file
c at this point) ptrEHD indicates the beginning of the element data.
c If substructure matrices are written to the EMAT file, they are written in a
c different format than is shown here. This alternate format is not documented
c at this time, as it is likely to change in the future.
c EHD i 1 10 Element matrix header
c
c stkey, mkey, dkey, sskey, akey,
c nrkey, ikey, kckey, 0, nmrow
c each item in header is described below:
c stkey - stiffness matrix key
c = 0 - matrix not present
c = 1 - matrix present
c mkey - mass matrix key
c = 0 - matirx not present
c = 1 - matrix present
c dkey - damping matrix key
c = 0 - matrix not present
c = 1 - matrix present
c sskey - stress stiffening matrix key
c = 0 - matrix not present
c = 1 - matrix present
c akey - applied load vector key
c = 0 - vector not used
c = 1 - vector used
c nrkey - newton-raphson(restoring) load
c vector key (for nonlinear analyses)
c = 0 - vector not used
c = 1 - vector used
c ikey - imaginary load vector key
c (for complex analyses)
c = 0 - vector not used
c = 1 - vector used
c kckey = 0 or 1 or 2 position for internal use or not in use
c = 3 complex number stiffness matrix key
c
c 0 - position not used
c nmrow - numbers/columns in matrices. If the
c number is negative, the matrices
c will be written in upper triangular
c form.
c --- i 1 nmrow DOF index table. This record specifies the
c DOF locations of this element matrix in
c relation to the global matrix. The index is
c calculated as (N-1)*NUMDOF+DOF, where N is
c the position number of the node in the nodal
c equivalence table and DOF is the DOF
c reference number given above
c --- dp varies varies Element matrices. This record is repeated
c for each stiffness, mass, damping,stress stiffening
c and complex stiffness matrice. If the matrix is
c diagonal, the length of the records will be
c nmrow. If the matrix is unsymmetric, the
c length of the records will be nmrow*nmrow.
c If the matrix is symmetric, only the upper
c triangular terms are written and the length
c of the records will be (nmrow)*(nmrow+1)/2.
c --- dp 1 2*nmrow Element force vectors. This record contains
c both the applied force vector and the
c (restoring or imaginary) load vector.
c
c
c *************** Internal CE information ***********************
c The following records repeat numCE times... one for each internal
c CE created during solution... these are stored here for the
c usage of a prestressed modal analysis such as the linear perturbation analysis
c
c CE i 3 numCE First part is the CE number, the second part is
c the number of terms in this internal CE, and
c the third part is the external element number
c of the element that created this internal CE
c
c --- i nTerms numCE integer info (list of node*32 + dof)
c
c --- dp nTerms numCE dp info (list of coefficients including constant term)
c
c
c kygst global stiffness matrix calculate key
c kygm global mass matrix calculate key
c kygd global damping matrix calculate key
c kygss global stress stiffening matrix calculate key
c kygaf global applied force matrix calculate key
c kygrf global restoring force matrix calculate key
c
c
c
c Additional element records stored to support topo optimization
c with multiple load steps. Currently only element load vectors are needed,
c but keep the same format of the original element matrices/load vectors
c for possible future need.
c
c header(41) - header(44) are all 0 unless it's topo opitimization analysis
c
c LSI i 1 2*maxldset Load index table. This record specifies
c the file location for the beginning of the
c load steps after load step 2. In each load
c steps, we have the following two records,
c TPIDX and element force vectors
c
c TPIDX i 1 2*nume Topo index table. This record specifies
c the file location for the beginning of the
c data for each element record, EHD.
c (index(i),i=1,nume) Low part of pointer
c (index(i),i=1,nume) High part of pointer
c same as IDX above
c
c EHD i 1 10 Element matrix header
c same as EHD above
c
c --- i 1 nmrow DOF index table
c
c --- dp 1 2*nmrow Element force vectors. This record contains
c both the applied force vector and the
c (restoring or imaginary) load vector.