def _read_rload1_msc(self, data, n): """ RLOAD1(5107,51,131) - Record 26 MSC 1 SID I Load set identification number 2 DAREA I DAREA Bulk Data entry identification number 3 DPHASE RS DPHASE Bulk Data entry identification number 4 DELAY RS DELAY Bulk Data entry identification number 5 TC I TABLEDi Bulk Data entry identification number for C(f) 6 TD I TABLEDi Bulk Data entry identification number for D(f) 7 TYPE I Nature of the dynamic excitation 8 T RS Time delay 9 PH RS Phase lead """ dloads = [] ntotal = 36 nentries = (len(data) - n) // ntotal for i in range(nentries): edata = data[n:n+ntotal] out = unpack('2i 2f 3i 2f', edata) sid, darea, dphaser, delayr, tci, tdi, Type, tau, phi = out # 36 if self.is_debug_file: self.binary_debug.write(' RLOAD1=%s\n' % str(out)) tc = tci td = tdi delay = delayr dphase = dphaser dload = RLOAD1(sid, darea, delay=delay, dphase=dphase, tc=tc, td=td, Type=Type, comment='') dloads.append(dload) n += ntotal return n, dloads
def _read_rload1_nx(self, data, n): """ RLOAD1(5107,51,131) - Record 26 NX 1 SID I Load set identification number 2 DAREA I DAREA Bulk Data entry identification number 3 DELAYI I DELAY Bulk Data entry identification number 4 DPHASEI I DPHASE Bulk Data entry identification number 5 TCI I TABLEDi Bulk Data entry identification number for C(f) 6 TDI I TABLEDi Bulk Data entry identification number for D(f) 7 TYPE I Nature of the dynamic excitation 8 DELAYR RS If DELAYI = 0, constant value for delay 9 DPHASER RS If DPHASEI = 0, constant value for phase 10 TCR RS If TCI = 0, constant value for C(f) 11 TDR RS If TDI = 0, constant value for D(f) """ dloads = [] ntotal = 44 nentries = (len(data) - n) // ntotal struc = Struct(self._endian + b'7i 4f') for unused_i in range(nentries): edata = data[n:n + ntotal] out = struc.unpack(edata) sid, darea, delayi, dphasei, tci, tdi, load_type, delayr, dphaser, tcr, tdr = out # 44 if self.is_debug_file: self.binary_debug.write(' RLOAD1=%s\n' % str(out)) tc = tci td = tdi delay = delayi dphase = dphasei if delayi == 0: delay = delayr if dphasei == 0: dphase = dphaser if tci == 0: tc = tcr if tdi == 0: td = tdr dload = RLOAD1(sid, darea, delay=delay, dphase=dphase, tc=tc, td=td, Type=load_type, comment='') dloads.append(dload) n += ntotal return n, dloads