Beispiel #1
0
    def getDisplacement(self):
        """
        ::
                                               D I S P L A C E M E N T   V E C T O R
  
          POINT ID.   TYPE          T1             T2             T3             R1             R2             R3
                 1      G      9.663032E-05   0.0           -2.199001E-04   0.0           -9.121119E-05   0.0
                 2      G      0.0            0.0            0.0            0.0            0.0            0.0
                 3      G      0.0            0.0            0.0            0.0            0.0            0.0

        * analysis_code = 1 (Statics)
        * device_code   = 1 (Print)
        * table_code    = 1 (Displacement)
        * sort_code     = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0]
        * num_wide      = 8 (???)
        """
        (subcaseName, isubcase, transient, dt, analysis_code,
            is_sort1) = self.readSubcaseNameID()
        headers = self.skip(2)
        data_code = {'log': self.log, 'analysis_code': analysis_code,
                    'device_code': 1, 'table_code': 1,
                    'sort_code': 0, 'sort_bits': [0, 0, 0], 'num_wide': 8,
                    'table_name': 'OUG', 'nonlinear_factor': dt}
        #print "headers = %s" %(headers)
        dataTypes = [int, str, float, float, float, float, float, float]
        data = self.readTable(dataTypes)

        if isubcase in self.displacements:
            self.displacements[isubcase].add_f06_data(data, transient)
        else:
            is_sort1 = True
            disp = DisplacementObject(data_code, is_sort1, isubcase)
            disp.add_f06_data(data, transient)
            self.displacements[isubcase] = disp
        self.iSubcases.append(isubcase)