Element stress xfmn arrays, etc. (unformatted)
AAMAIN For each element type, write NPAR(14) TPLATE, etc.: Write 1 record/element, including Nd, Ns LM (Nd x 1) Connection array SA (Ns x Nd) Stress/displacement transformation array SF (Ns x 4) Loads
CALBAN: Write Nd, Ns, (LM(i), i=1,Nd) (if MODEX = 1, data-check mode)
Element stiffness matrices (unformatted)
CALBAN: Write (if MODEX not = 1)
Load vectors (unformatted) (direct integration)
LOADV: WRITE (KT) B SOLSTP: READ (KT) B
Control information for restart option (unformatted)
SOLEIG: Write Neq,Nblock,Neqb,Mband,N1,Nf,(At(i),i=1,Nf)
Master index array
INPUTJ: WRITE (2) ID PLOAD: READ (2) ID
Function multipliers (FF) and arrival time steps (IFF). Overwritten with load vectors B in LOADV.
PLOAD: READ (2) ID PLOAD: WRITE (NT) FF,IFF INDLY: READ (KT) FF,IFF (input-delay processing) INDLY: WRITE (KT) FF,IFF GMTN: READ (IT) FF,IFF (also writes FF,IFF to 4) GROUND: READ (IT) FF,IFF GROUND: WRITE (IT) FF,IFF LOAD1: WRITE (NT) FF,IFF (in 2 places) LOAD2: READ (MT) FF,IFF (MT=4 if NGM.NE.0) LOADV: READ (KT) FF,IFF LOADV: WRITE (KT) B
Nodal loads and masses (unformatted)
INL: Write B(NEQB,LL),TMASS(NEQB) ADDSTF: READ (3) ((B(I,L),I=1,NEQB),L=1,LL),(TMASS(I),I=1,NEQB) READ (3) ((B(I,L),I=K,NE2B),L=1,LL),(TMASS(I),I=K,NE2B) ADDMAS: WRITE (NT3) TMASS
Blocks of system matrix during decomposition (unformatted)
TRIFAC: Write A,MAXA
System stiffness matrix (unformatted)
ADDSTF: Write Nblock records each containing STIFF -- Neqb by Mband B -- Neqb by no. load cases
After subspace iteration, SCHECK applies a shift to the stiffness matrix.
For step-by-step, the diagonals of the stiffness matrix are modified by effective damping & mass terms, and the B vector is omitted.
? (unformatted) (note that SCHECK interchanges NSTIF and NRED just before DECOMP is called, so the unit that was the stiffness is written onto)
DECOMP: Write records each containing A -- length NWA = NEQB * MBAND MAXA -- length MI = MBAND + NEQB - 1
GMTN: WRITE (JT) FF,IFF (also reads FF,IFF from 2)
LOAD2: WRITE (MT) PD
Displacement history (unformatted) (direct integration)
SOLSTP: WRITE (JT) ((SDIS(II1,II2),II1=1,MM),II2=1,NSD)
SBLOCK: Write (((Vnewk(i,j), i=1,Neqb), j=1,Nv), k=1,Nblock)
Stress history (unformatted) (direct integration)
SOLSTP: WRITE (IT) ((SSTR(II1,II2),II1=1,MM),II2=1,NSS)
Data porthole save (data-check mode, MODEX not = 0) (unformatted)
SETUP: Write INPUTJ: Write (((ID(n,i), i=1,6), n=1,NUMNP) (equation numbers) Write (X(n), n=1,NUMNP) Write (Y(n), n=1,NUMNP) Write (Z(n), n=1,NUMNP) Write (T(n), n=1,NUMNP)
(solution mode, MODEX = 0) (unformatted)
INPUTJ: Write ID (NUMNP x 6 equation numbers) ADDSTF: Write STR (4 x LL, element load multipliers)
STRESS: Read STR
Stress-displacement transformations for element stresses which are requested for output, for time histories, written by INOUT.
INOUT: write ND,((SSA(II,JJ),II=1,8),JJ=1,ND), ((KLM(II,JJ),II=1,8),JJ=1,ND)
System mass matrix (unformatted)
ADDSTF: Write ((mik, i=1,Neqb), k=1,Nblock) ADDMAS: READ (NT9) BLKMAS
'Stress porthole' if N10SV = 1 (unformatted)
STRESS: Write NELTYP,NT NT = (LL-1)/LB+1 Write LT,LH Write NPAR SHELL: Write MM,L,(SIG(I),I=1,6) shell element stresses
system displacement, velocity & acceleration vectors in SOLSPT, also controlled by N10SV.
= 2*pi/sqrt(A(i)), i = 1,Nf ( = 1/f ) (set in SSPCEB) = A(i), i = Nf+1, 2*Nf
Read in from Master Control Card in .SAP file by SETUP. If = 1, things are saved to tape #10 ('stress porthole') by BEAM, BOUND, SHELL, SOL21, STRESS & THREED. In SOLSTP, the 100's, 10's & 1's digits of N10SV are separated and stored in ISAVE(i), i=1,3, respectively, corresponding to displacement, velocity & acceleration system vectors; then, in the main time-marching loop, whenever the time step counter K is a multiple of ISAVE(i), the corresponding system vector is saved on tape #10.
Read from 1st card for each element type. NPAR(1) is set to 0 by STRESS to force element routines to calculate stresses.
1: Element type 2: No. elements of this type 3-14: Different for different element types
Stress-displacement transformation matrix evaluated at the element centroid, computed for shell element in STRETR: dimensions (12,24)
Calculates element stresses for the static case: SOLEQ calls STRESS, which for each element type forces NPAR(1)=0 as a flag then calls ELTYPE, which calls the appropriate element routine, which calls STRSC.
Args: STR(4,1) IN element load multipliers D(NEQ,1) IN displacements NEQ IN dimension of D NTAG IN if = 0, read ND,NS,LM,B,TI from unit 1 Common: SG(20) OUT stresses L IN LT IN NS ND B(42,63) stress/displacement xfmn array TI(42,4) loads LM(63) connection array
For a set of load cases for 1 element, STRSC is called once with
NTAG=0 which causes it to read things from unit 1 for that element;
it is then called once for each load case with NTAG=1, which causes
it to compute the stresses.
Stresses = loads*load_multipliers + xfmn_array*displacements
(1976 Aug 9)
MAIN ERRSET STIME, TTIME ERROR (also called by BEAM, HISTRY, INTHIS, LOAD2, PIPE, PLANE, RESPEC, SHELL, SOL21, STEP, THREED, THREEDT, TRUSS) INPUTJ ELTYPE ... INL ADDSTF SOLEQ STRESS ELTYPE ... PRINTD SESOL SOLEIG MODES SSPCEB DECOMP EIGSOL JACOBI INVECT REDBAK SCHECK SECNTD BANDET MULT [REALLY?] SBLOCK PRINTD HISTRY DISPLR DISPLY ELOUTH PPLOT GMTN STRSD1 DISPLY ELOUTH PPLOT EMID LOAD1 LOAD2 RESPON RESPEC EMIDR STRESR ELOUTR PRINTD SPECTR SD STEP ADDMAS PLOAD EMIDS GROUND INDLY INTHIS LOADV INOUT TRIFAC SOLSTP REDVK SDSPLY ELOUTS SPLOT ELTYPE TRUSS RUSS CALBAN STRSC BEAM TEAM NEWBM SLAVE CALBAN STRSC PLANE PLNAX CALBAN CROSS DOT ELAW POSINV QUAD FORMB VECTOR VECTOR STRSC THREED BRICK8 CALBAN DERIV LOAD DERIV LOSTR PRIST STRSC SHELL TPLATE CALBAN QTSHEL QDCOS TDCOS TRFPRD SLST LSTSTR SLCCT LCTMOM STRETR CSTSTR LCT9ST QDCOS TDCOS TRFPRD STRSC BOUND CLAMP CALBAN STRSC SOL21 THDFE DER3DS FACEPR FNCT INP21 CROSS2 VECTR2 SSLAW ST8R21 DER3DS CALBAN STRSC PIPE PIPEK BENDDC BENDKS PINVER TANGKS PINVER PIPES2 PIPES3 TANGDC SELECT CALBAN STRSC ??? ELST3D CALBAN