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