예제 #1
0
    def readTable_LAMA_4(self, iTable):  # iTable=-4
        bufferWords = self.getMarker()  # 70*4=280
        if self.makeOp2Debug:
            self.op2Debug.write('bufferWords=%s\n' % (str(bufferWords)))
        #print "2-bufferWords = ",bufferWords,bufferWords*4,'\n'

        data = self.getData(4)  # dummy - 70*4=280
        #print self.printBlock(data)
        #print "280/3 = ",280/4
        nModes = bufferWords // 7

        lama = RealEigenvalues(self.iSubcase)
        self.eigenvalues[self.iSubcase] = lama
        for i in xrange(nModes):
            data = self.getData(28)  # 4*7
            out = unpack('iifffff', data)
            #(iMode,order,eigen,omega,freq,mass,stiff) = out
            #(modeNum,extractOrder,eigenvalue,radian,cycle,genM,genK) = line
            #print out
            lama.addF06Line(out)
            #print "mode=%s order=%s eigen=%s omega=%s freq=%s mass=%s stiff=%s" %(mode,order,eigen,omega,freq,mass,stiff)
        #print ""
        #print ''.join(msg)
        #print "self.iSubcase = ",self.iSubcase
        #print lama.writeF06([],'PAGE',1)[0]
        #sys.exit()
#                       '        1         1        8.232776E+06        2.869281E+03        4.566603E+02        8.719168E-03        7.178296E+04
#                       '        2         2        8.232776E+06        2.869281E+03        4.566603E+02        8.719168E-03        7.178296E+04

        data = self.getData(4)
예제 #2
0
 def _read_real_eigenvalue_4(self, data):
     if self.read_mode == 1:
         return len(data)
     #self.show_data(data)
     nModes = len(data) // 28
     n = 0
     ntotal = 28
     #assert self.isubcase != 0, self.isubcase
     lama = RealEigenvalues(self.Title)
     self.eigenvalues[self.Title] = lama
     s = Struct('ii5f')
     for i in range(nModes):
         edata = data[n:n+28]
         out = s.unpack(edata)
         if self.debug4():
             self.binary_debug.write('  eigenvalue%s - %s\n' % (i, str(out)))
         #(iMode, order, eigen, omega, freq, mass, stiff) = out
         (modeNum, extractOrder, eigenvalue, radian, cycle, genM, genK) = out
         #print(out)
         lama.addF06Line(out)
         n += ntotal
     return n