This section explains the content of the modal results file (jobname.mode).
See The Standard Header for Mechanical APDL Binary Files for a description of this set. File number (Item 1) is 9.
*comdeck,fdmode c *** Copyright ANSYS. All Rights Reserved. c *** ansys, inc. c ********** description of modal result file ********** character*8 MODENM parameter (MODENM='mode ') character*8 MODENM_LEFT parameter (MODENM_LEFT='lmode ') c *** NOTE: if this variable is changed in the future it should be c *** updated in spdefines.h also for symbolic assembly (jrb) integer MODEHDLEN parameter (MODEHDLEN=100) LONGINT modefpL integer modebk, modeut LONGINT modeLeftfpL integer modeLeftbk, modeLeftut common /fdmode/ modefpL, modebk, modeut, x modeLeftfpL, modeLeftbk, modeLeftut c ********** common variable descriptions *********** co modefpL file position on file mode co modebk block number for file mode co modeut file unit for file mode co modeLeftfpL file position on file .lmode co modeLeftbk block number for file .lmode co modeLeftut file unit for file .lmode 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 100 .MODE FILE HEADER c c fun09, nmrow, 0, nmode, numdof, < 5 c maxn, wfmax, lenbac, nEnfGrp, neqns, < 10 c lumpms, extopt, SvCode, kan, ldstep, < 15 c numitr, expbeg, expend, nspect, nSPdat, < 20 c 0, ptrFRQ, kPerturb, ptrSHP, ptrLOD, < 25 c ptrNAR, ptrNARh, ptrDMP,nrkeyPert, nrigid, < 30 c ptrLPM, ptrSP1, ptrSHPh, ptrLODh, 0, < 35 c 0, ptrDMPh, ptrLPMh, ptrSP1h, ptrIRHSl, < 40 c ptrIRHSh, 0, ptrRES, ptrRESh,Glblenbac, < 45 c KeyStress, ptrELD, ptrELDh, ptrGBk, ptrGBkh, < 50 c modlstp, nresi, ptrEf1, ptrEf1h, sstif, < 55 c ptrFSTA, ptrEf2, ptrEf2h, ptrEf3, ptrEf3h, < 60 c qrDampKey,cycMSUPkey,cycnmode, ptrHI, ptrKUNS, < 65 c ptrKUNSh, mrestart, LPrestls, LPrestss, cpxmod, < 70 c keyLeft, cpxlv, ptrSCL, sparseLV, udfrqkey, < 75 c ptrUDFRQl,ptrUDFRQh, ptrKCPX, ptrKCPXh,ptrGDAMPl, < 80 c ptrGDAMPh, ptrECRl, ptrECRh, moddirF,ptrRESMODl, < 85 c ptrRESMODh,ptrPSIREDl,ptrPSIREDh, modcmb, keyNscop, < 90 c numNscop, ptrNSCOPl, ptrNSCOPh, 0, 0, < 95 c 0, 0, 0, 0, 0, < 100 c each item in header is described below: c fun09 - unit number (mode file is 9) c nmrow - number of rows/columns in matrices c (maxn*numdof) c nmode - number of modes extracted c numdof - number of dof per node c maxn - maximum node number (if extopt=3 c or 4, the actual number of nodes is c referenced.) c wfmax - maximum wavefront (does not apply c if extopt=3 or 4) c lenbac - number of nodes c nEnfGrp - numbre of enforced group c neqns - number of equations on the .LN22 c file c lumpms - lumped mass key c = 0 - default matrix type c = 1 - lumped c (does not apply if extopt=3 or 4) c extopt - mode extraction method c = 3 - unsymmetric Lanczos c = 4 - damped Lanczos c = 6 - block Lanczos c = 8 - SuperNode c = 9 - PCG Lanczos c SvCode - Solver assembly code path c = 1 Symbolic assembly c kan - analysis type c = 1 - buckling c = 2 - modal c ldstep - load step number - also number of load vectors c numitr - total number of cumulative c iterations done during analysis c (does not apply if extopt=3 or 4) c expbeg - beginning of the frequency range of c interest c expend - end of the frequency range of c interest c nspect - number of spectra; if -6, these are c the 6 default unit spectra c nSPdat - number of data items per spectrum c ptrFRQ - pointer to the frequencies c kPerturb - Linear Perturbation key c ptrSHP - pointer to the mode shapes c (eigenvectors) c ptrLOD, ptrLODh - pointer to the load vectors c ptrNAR, ptrNARh - pointer to the nodal averaged result records c ptrDMP, ptrDMPh - pointer to the modal damping matrix c ptrKUNS, ptrKUNSh - pointer to the modal stiffness c matrix (unsymmetric part) c ptrKCPX, ptrKCPXh - pointer to the modal complex stiffness c matrix (structural damping) c ptrGDAMPl,ptrGDAMPh - pointer to global damping values c nrkeyPert - nrkey setting of base analysis (Linear Perturbation) c nrigid - number of rigid body modes c ptrLPM - pointer to the diagonal mass vector c ptrSP1 - pointer to the the spectrum data c ptrIRHSl,h - pointer to imaginary part of RHS vector c ptrRES,ptrRESh - pointer to residual vectors c Glblenbac - global number of nodes (for D-ANSYS) c ptrGBk,ptrGBkh - pointer to global nodal equivalence table c modlstp - multiple load step key c nresi - number of residual vectors in file c KeyStress - key set if mode stresses on file c ptrELD,ptrELDh - pointer to element records c ptrEf1,ptrEf1h - pointer to enforced motion dof information c sstif - key denoting prestress effects are included, c this key is for internal usage only. SSTIF,on c or off is controlled by NLGEOM on or off now. c ptrFSTA - pointer to fstacm data c ptrEf2,ptrEf2h - pointer to enforced motion modes c ptrEf3,ptrEf3h - pointer to enforced motion force c qrDampKey - QR damped calcaulations key c cycMSUPkey - mode file format is for subsequent cyclic MSUP c (only base results on file) c cycnmode - total number of cyclic modes extracted c (sum of all harmonic indices) c ptrHI - pointer to harmonic indices c mrestart - key for modal restart (=0 none, =1 modal restart) c LPrestls - restarted load step (from linear perturbation) c LPrestss - restarted substep (from linear perturbation) c cpxmod - key for complex frequencies/shapes (0=no 1=yes) c keyLeft - key for LMODE writing (0=no 1=yes) c cpxlv - key for RHS vector in complex form (0=no 1=yes) c = 0 no (before version 17.0) c = 1 yes (since version 17.0) ; ptrIRHSl,h is 0 c ptrSCL - pointer to cyclic mode scale factors c (if scaled to unity, modnrm on modopt) c sparseLV - key if load vectors have been sparsified c 0 - position not used c udfrqkey - Key for format and writing of undamped frequency record c ptrUDFRQl,ptrUDFRQh - pointer to undamped frequency record c ptrECRl, ptrECRh - pointer to the element centroidal result records c moddirF - 1 = this file was created in an analysis using c remote files (see MODDIR command). c There are no mode shapes (SHP). c ptrRESMODl,ptrRESMODh - pointer to residual vectors c (only if moddirF = 1 and nresi > 0) c ptrPSIREDl,ptrPSIREDh - mode shapes of a reduced system c (only if moddirF = 1 and nresi > 0) c modcmb - > 0 - if spectrum has been created with a c mode combination command (srss/grp/cqc/etc.) c keyNscop - key for node scoping (0/1) c numNscop - number of scoped nodes c ptrNSCOPl, ptrNSCOPh - pointer to table of scoping node numbers c --- 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 --- i 1 lenbac Nodal equivalence table c This table equates the number used for c storage to the actual node number. c (Back(i),i=1,lenbac) c GBK i 1 Glblenbac Global nodal equivalence table c This table equates the number used for c storage to the actual global node number. c (GlbBack(i),i=1,Glblenbac) c FSTA dp 1 30 fstacm.inc information (mass and MofI) c HI i 1 cycnmode Signed harmonic index for each extracted frequency. c Only present if cycMSUPkey=1. c FRQ dp/cmp 1 nf Frequencies (eigenvalues). c Frequencies are complex if cpxmod=1 or qrdampKey=1. c If frequencies are real, numbers stored are c the squares of the natural circular c frequencies (w**2, where w=radians/time). c You can obtain the natural frequencies, f c (in cycles/time), using the equation f=w/2pi c If frequencies are complex, numbers stored are c the natural frequencies (Hz) c (freq(i),i=1,nf) c nf = nmode+nresi c if cycMSUPkey=1 then c nf = cycnmode c UDFRQ dp 1 nf Undamped Eigenvalues for a QRDAMP Modal Analysis. c Record only exists when udfrqkey=1. c Numbers are stored as the squares of the natural c circular frequencies. c This record is directly written to the mode file and might c not be present in the .modesym file c SHP dp/cmp ns nmrow[1] Mode shapes (eigenvectors). Mode shapes are c complex if cpxmod=1. The order corresponds c to the nodal equivalence table c (psi(i,j),i=1,nmrow) c ns = nmode c if cycMSUPkey=1 then c ns = cycnmode c RES dp nresi nmrow[1] Residual vectors c LOD cmp ldstep nmrow[2] Load vectors in complex form (since version 17.0) c (f(i),i=1,nmrow) c Before version 17.0, records were (cpxlv=0): c LOD dp ldstep nmrow Load vectors c (f(i),i=1,nmrow) c IRHS dp ldstep nmrow Imaginary Load vectors c (fimag(i),i=1,nmrow) c LPM dp 1 nmrow Lumped mass vector. This record is present c only if lumpms=1 and nmatrix=0. It is a c vector containing the mass at each node in c the system. c (mass(i),i=1,nmrow) c DMP dp nmrow nmrow Modal damping matrix. Each row of the matrix c matrix is stored as a record. c (dmp(i,j),i=1,nmrow) c KUNS dp nmrow nmrow Modal unsymmetric stiffness matrix. Each row of the c matrix is stored as a record. c (kuns(i,j),i=1,nmrow) c KCPX dp nmrow nmrow Modal complex stiffness matrix. Each row of the c matrix is stored as a record. c (kcpx(i,j),i=1,nmrow) c GDAMP dp 1 5 Global damping values c alphad, betad, dmpstr, 0, 0 c RESMOD dp nresi nmrow[1] Residual vectors if moddirF = 1 and nresi > 0 c PSIRED dp nmode+nresi nmode+nresi Mode shapes of a reduced system c if moddirF = 1 and nresi > 0 c EF1 int 1 nEnfGrp (groupID(i),i=1,nEnfGrp) c int 1 nEnfGrp (grpdof(i),i=1,nEnfGrp) c dp nEnfGrp grpdof(i) dofIndx(i,j) i=1,grpdof(j) c The above records contain information about each c enforced motion group. c EF2 dp nEnfGrp nmrow[2] Enforced static modes c EF3 dp nEnfGrp nmrow[2] Enforced forced vector c c NSCOP int 1 numNscop Table of node numbers for which solution c vectors [1] are on file. If this table exists c (numNscop>0 and keyNscop=1) the size of the solution c vectors [1] is smaller than nmrow. c c [2] If keyNscop = 1, vector is in modal subspace. c for each spectrum (|nspect| records): c SP1 dp 1 nmode+nresi Participation factors for this spectra c --- dp 1 nmode+nresi Mode coefficients for this spectra c --- dp 1 nmode+nresi Modal damping values c --- dp 1 ndsvc* (*) see svcom.inc c --- int 1 nisvc* c --- dp 1 20 misc. spectra data c ELD int 1 15 nelm, maskl, nItems, ptrELM, ptrERS, c ptrCERl,ptrCERh, ptrESLl,ptrESLh, nRF, (10) c ptrRFl, 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 ptrCERl,h - pointer to constant element records c ptrESLl,h - pointer to element index c nRF - number of reaction forces c ptrRFl,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): 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