1.8. Description of the Component Mode Synthesis Matrices (CMS) File

This section explains the contents of the CMS matrices file (jobname.cms).

1.8.1. Standard Mechanical APDL File Header

See The Standard Header for Mechanical APDL Binary Files for a description of this set. File number (Item 1) is 8.

1.8.2. CMS File Format

*comdeck,fdcms

c *** Copyright ANSYS.  All Rights Reserved.
c *** ansys, inc.

c     **********  description of CMS (component mode synthesis) transformation file  **********

      character*8  CMSNM 
      parameter   (CMSNM='cms     ')

      LONGINT         cmsfpL, cmsfp
      integer         cmsbk, cmsut

      common /fdcms/  cmsfpL, cmsbk, cmsut
      equivalence (cmsfp,cmsfpL)

c   ********** common variable descriptions ***********
co  cmsfp       file position on file cms
co  cmsbk       block number for file cms
co  cmsut       file unit for file cms


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       40      .CMS FILE HEADER
c                                     
c                                  fun45,    neqn,   nirfm,   nnorm,   ncstm,
c                                  nrsdm, cmsMeth, kStress,  lenbac,  numdof,
c                                cmsMixF,    disF,       0,       0,       0,
c                                      0,       0,       0,       0,       0,
c                                      0,       0,       0,       0,       0,
c                                      0, ptrECRl, ptrECRh, ptrNARl, ptrNARh,
c                                ptrIRFl, ptrNORl, ptrCSTl, ptrRSDl, ptrIRFh,
c                                ptrNORh, ptrCSTh, ptrRSDh, ptrELDl, ptrELDh

c                                  each item in header is described below:
c                                   fun45  - unit number
c                                    neqn  - number of equations (DOF)
c                                   nirfm  - number of inertia relief modes
c                                   nnorm  - number of normal modes
c                                   ncstm  - number of constraint modes
c                                          > 0 available in file
c                                          < 0 not available in file
c                                   nrsdm  - number of residual modes
c                                 cmsMeth  - CMS method key
c                                              0 = fixed interface method
c                                              1 = free interface method
c                                              3 = residual-flexible free interface method
c                                              4 = user defined method
c                                 cmsMixF  - flags mixed interface method derived from
c                                              1 = free interface method
c                                              3 = Residual-flexible free interface method
c                                              0 = default
c                                    disF  - 1 = this file is a distributed .CMS file
c                                                that contains only modal element results                            
c                                  kStress - key if modal element results are on file
c                         ptrECRl,ptrECRh  - 64 bit pointer to element centroidal results
c                         ptrNARl,ptrNARh  - 64 bit pointer to nodal averaged result records
c                         ptrIRFl,ptrIRFh  - 64 bit pointer to inertia relief modes
c                         ptrNORl,ptrNORh  - 64 bit pointer to normal modes
c                         ptrCSTl,ptrCSTh  - 64 bit pointer to constraint modes
c                         ptrRSDl,ptrRSDh  - 64 bit pointer to residual modes
c                         ptrELDl,ptrELDh  - 64 bit pointer to element records
c                                   0      - position not used

c  ---       i       1    neqn      SOLVER-to-ANSYS mapping vector (lSOLVtoANS(i), i=1,neqn)

c                                   Note: When using the residual-flexible free interface method
c                                         the modes are written in ANSYS internal equation ordering
c                                         and the SOLVER-to-ANSYS mapping is not available.  For
c                                         other methods the modes are written in solver equation
c                                         ordering and the SOLVER-to-ANSYS mapping is available.

c  ---      i        1    lenbac    Nodal equivalence table. This table equates the number used
c                                   for storage to the actual node number.
c                                   (Back(i),i=1,lenbac)

c  NOR      dp   nnorm    neqn      Normal Modes
c
c  IRF      dp   nirfm    neqn      Inertia Relief Modes
c
c  CST      dp   ncstm    neqn      Constraint Modes     
c
c  RSD      dp   nrsdm    neqn      Residual modes

c modal element results if kStress = 1:
c  ELD      int     1     15        nelm,   maskl,  nItems,  ptrELM, ptrERS,
c                                 ptrCER, ptrCERh,  ptrESL, ptrESLh,    nRF,    (10)
c                                  ptrFR,  ptrRFh, PrecKey,   maskh,      0

c                                  each item in header is described below:

c                                    nelm - number of elements
c                                 maskl,h - output mask (OUTRES)
c                                  nItems - number of element records (7, VOL
c                                           not included)
c                                  ptrELM - pointer to element equivalence table
c                                  ptrERS - pointer to element record sizes
c                                ptrCER,h - pointer to constant element records
c                                ptrESL,h - pointer to element index
c                                     nRF - number of reaction forces
c                                 ptrRF,h - pointer to reaction forces
c                                 PrecKey - 0, double precision 1, single
c                      above pointers are relative to ptrELD

c  ---      int     1   2*nItems   Total size of each element record (LONGINT)

c  ELM      int     1     nelm     Element equivalence table
c                                   This table equates the order number used to
c                                   the actual element number

c  ERS      int   nItems  nelm     Sizes of the nItem element results sets for
c                                   each element

c  CER      int     1     5       ptrVOL, ptrEPT, ptrEUL,      0,      0
c                      above pointers are relative to ptrCER

c     constant element records (do not vary by mode):
c   VOL     dp      1  nelm*1       Element volume
c   EPT     dp      1  nelm*size    Element structural nodal temperatures
c   EUL     dp      1  nelm*size    Element Euler angles

c   ESL     int     1     10      ptrENS, ptrEEL, ptrEMS, ptrENF, ptrENG,
c                                 ptrENSh,ptrEELh,ptrEMSh,ptrENFh,ptrENGh
c                      above pointers are relative to ptrESL

c     non-constant element records (do vary by mode). Modes order is:
c     --- nmode = [NOR CST (BCLV)]       for fix interface method
c     --- nmode = [NOR (IRF) CST (BCLV)] for free interface method
c     --- nmode = [NOR RSD]              for RFFB method
c     --- () = if any
c     --- BCLV = static correction vectors stored in .BCLV file
c
c   ENS     dp   nelm  nmode*size   Element nodal component stresses
c   EEL     dp   nelm  nmode*size   Element nodal component elastic strains
c   EMS     dp   nelm  nmode*size   Element summable miscellaneous data
c   ENF     dp   nelm  nmode*size   Element nodal forces
c   ENG     dp   nelm  nmode*3      Element energies

c     see fdresu.inc for more information on the element results

c  NAR      int     1      7         nnod, ptrNCTl, ptrNCTh, ptrNSTl, ptrNSTh,
c                                    ptrNELl, ptrNELh

c                                  each item in header is described below:

c                                    nnod - number of nodes
c                               ptrNCTl,h - pointer to Node Contributions
c                               ptrNSTl,h - pointer to NAR stress record
c                               ptrNELl,h - pointer to NAR elastic strain record
c                      above pointers are relative to ptrNAR

c     NAR records (do vary by mode):
c   NCT      i   nnod  2            Node Contributions
c   NST     dp   nnod  nmode*6      Nodal component stresses
c   NEL     dp   nnod  nmode*7      Nodal component elastic strains

c     see fdresu.inc for more information on the NAR records

c  ECR      int     1      40         nelms,       0,       0,       0,       0,
c                                         0,       0,       0,       0,       0,  (10)
c                                     nECSl,   nECSh,pECSidxl,pECSidxh, ptrECSl,
c                                   ptrECSh,   nCELl,   nCELh,pCELidxl,pCELidxh,  (20)
c                                   ptrCELl, ptrCELh,       0,       0,       0,
c                                         0,       0,       0,       0,       0,  (30)
c                                         0,       0,       0,       0,       0,
c                                         0,       0,       0,       0,       0,  (40)
c                                  each item in header is described below:

c                                   nelms - number of elements
c                                 nECSl,h - num values for element centroid stress data
c                              pECSidxl,h - pointer to the element centroid stress index table
c                               ptrECSl,h - pointer to elmement centroid stress data
c                                 nCELl,h - num values for element centroid elastic strain data
c                              pCELidxl,h - pointer to the element centroid elastic strain index table
c                               ptrCELl,h - pointer to elmement centroid elastic strain data
c                      above pointers are relative to ptrECR

c     ECR records (do vary by mode):
c   ECS     dp   1   nECS*nmode*6      Element centroidal stresses
c   CEL     dp   1   nCEL*nmode*7      Element centroidal elastic strains

c     see fdresu.inc for more information on the ECR records

1.8.3. TCMS File Format

*comdeck,fdtcms

c *** Copyright ANSYS.  All Rights Reserved.
c *** ansys, inc.

c     **********  description of CMS (component mode synthesis) transformation file  **********

      character*8  TCMSNM 
      parameter   (TCMSNM='tcms     ')

      LONGINT         tcmsfpL, tcmsfp
      integer         tcmsbk, tcmsut

      common /fdtcms/ tcmsfpL, tcmsbk, tcmsut
      equivalence (tcmsfp,tcmsfpL)

c   ********** common variable descriptions ***********
co  tcmsfp       file position on file tcms
co  tcmsbk       block number for file tcms
co  tcmsut       file unit for file tcms


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       40      .TCMS FILE HEADER
c                                     
c                                  fun48,  nNodes,    neqn,  numdof,  nirfm,  
c                                  nnorm,   ncstm,       0,       0,       0,
c                                ptrNORl, ptrCSTl, ptrIRFl,       0,       0,
c                                      0,       0,       0,       0,       0,
c                                ptrNORh, ptrCSTh, ptrIRFh,       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                                   fun48  - unit number 
c                                  nNodes  - number of nodes in file
c                                    neqn  - number of equations (nNodes*numdof)
c                                  numdof  - number of dofs per node 
c                                   nirfm  - number of inertia relief modes
c                                   nnorm  - number of normal modes
c                                   ncstm  - number of constraint modes
c                         ptrIRFl,ptrIRFh  - 64 bit pointer to inertia relief modes
c                         ptrNORl,ptrNORh  - 64 bit pointer to normal modes
c                         ptrCSTl,ptrCSTh  - 64 bit pointer to constraint modes
c                                   0      - position not used

c   ---      i       1  nNodes      Nodal equivalence table. This table equates
c                                   the number used for storage to the actual
c                                   node number

c   NOR     dp   nnorm    neqn      Normal Modes

c   IRF     dp   nirfm    neqn      Inertia Relief Modes

c   CST     dp   ncstm    neqn      Constraint Modes