This section explains the contents of the substructure displacement file (jobname.dsub).
See The Standard Header for Mechanical APDL Binary Files for a description of this set. File number (Item 1) is 13.
*comdeck,fddsub
c *** Copyright ANSYS. All Rights Reserved.
c *** ansys, inc.
c ********** description of substructure displacement file ****
character*8 DSUBNM
parameter (DSUBNM='dsub ')
LONGINT dsubfpL, dsubfp
integer dsubbk, dsubut
common /fddsub/ dsubfpL, dsubbk, dsubut
equivalence (dsubfp,dsubfpL)
c ***********************************************************
c * CAUTION *
c * Please update proc getDSUBInfo in SEManagement.eui *
c * if the file format changes or GUI read of the DSUB *
c * file will fail. *
c ***********************************************************
c ********** common variable descriptions ***********
co dsubfpL file position on file dsub
co dsubbk block number for file dsub
co dsubut file unit for file dsub
c open: slvstr
c write: setdis,eostrt,eofini,ranbasPCG,ranbwvPCG,slvstr,slvend,supsr1,supidx,supscl
c close: slvend
c read: matstr as .usub
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 1 i 1 20 .DSUB FILE HEADER
c fun13, fpeofS, fpeofL, kcxp, nmode,
c knum, kCXFM, senres, cpxeng, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c
c fun13 - file unit number
c fpeofS, fpeofL - pointer to the eof
c kcxp - = 1 if complex results
c nmode - number of extracted modes if use pass modal
c knum - number of expanded modes if use pass modal
c senres - = 1: expand only displacements
c (all type of analysis)
c = 2: expand real and then imaginary part
c of displacements (harmonic analysis)
c = 3: expand displacements, velocities,
c accelerations (transient analysis)
c cpxeng - = 1: after use pass = harmonic or modal damp
c compute average, amplitude, peak energies
c *** these records are repeated each iteration ***
c 2 i 1 50 fun13, kan, lenbac, numdof, kcmplx,
c itime, itter, ncumit, nitter,curdof(i), (10)
c (curdof(i),i=1,numdof)
c (curdof(i),i=1,numdof) (20)
c (curdof(i),i=1,numdof)
c (curdof(i),i=1,numdof) (30)
c (curdof(i),i=1,numdof)
c (curdof(i),i=1,numdof) (40)
c curdof(i), 0, 0, 0, 0,
c 0, extopt,qrDmpKy,Glblenbac, timint, (50)
c
c extopt - mode extraction option
c qrDmpKy - QR damped calculations key
c 3 dp 1 20 time/freq,acel(1),acel(2),acel(3), frqenr,
c frqud, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c 0, 0, 0, 0, 0,
c *** the following records are repeated for each superelement ***
c 4 i 1 20 iel, nrow, nvect, ntrans, name1,
c name2, trok, lrok, name3, name4,
c name5, name6, name7, name8, kCXFM,
c kdamp, 0, 0, 0, 0,
c
c iel - (iel=0 signals end of superelements
c for this iteration)
c nrow - number of dofs
c nvect - number of load vectors
c ntrans - number of transformations
c name* - name1/2/3/4/5/6/7/8 are the
c inexc4 representation of the
c 32 character filename.
c name3/4/5/6/7/8 will be "0"
c for pre rev 5.2 files - cwa
c trok - flag if transformations can be applied
c lrok - flag if large deformation transformation
c can be applied
c kCXFM - key if CXFM transformations are present on file
c kdamp - key if ratios:
c rdamp(1),rdamp(2),dmprat,dmpst,spin,mscalm
c are present on file
c
c
c 5 dp 1 125 ntrans sets of transformations 15x5
c 6 dp 1 250 ntrans sets of transformations (CS) 50x5 - present if kCXFM = 1
c 7 LONG 1 nrow (lL(i),i=1,nrow) - global dofs
c (made LONGINT in version 14.0)
c 8 dp 1 nvect (scalf(i),i=1,nvect)
c 9 dp 1 10 rdamp(1),rdamp(2),dmprat,dmpstr,spin, - present if kdamp = 1
c mscalm , 0, 0, 0, 0,
c 10 dp 1 nrow (disp(i),i=1,nrow)
c 11 dp 1 nrow (vel(i),i=1,nrow) - present if senres >= 2
c 12 dp 1 nrow (acel(i),i=1,nrow) - present if senres = 3