def _write_sort2_as_sort2(self, f, page_num, page_stamp, header, words): nodes = self.node_gridtype[:, 0] gridtypes = self.node_gridtype[:, 1] times = self._times for inode, (node_id, gridtypei) in enumerate(zip(nodes, gridtypes)): t1 = self.data[inode, :, 0] t2 = self.data[inode, :, 1] t3 = self.data[inode, :, 2] r1 = self.data[inode, :, 3] r2 = self.data[inode, :, 4] r3 = self.data[inode, :, 5] header[1] = ' POINT-ID = %10i\n' % node_id f.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip(times, t1, t2, t3, r1, r2, r3): sgridtype = self.recast_gridtype_as_string(gridtypei) vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_floats_13e(vals) (dx, dy, dz, rx, ry, rz) = vals2 if sgridtype == 'G': f.write('%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % ( write_float_12e(dt), sgridtype, dx, dy, dz, rx, ry, rz)) elif sgridtype == 'S': f.write('%14s %6s %s\n' % (node_id, sgridtype, dx)) elif sgridtype == 'H': f.write('%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % ( write_float_12e(dt), sgridtype, dx, dy, dz, rx, ry, rz)) elif sgridtype == 'L': f.write('%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % ( write_float_12e(dt), sgridtype, dx, dy, dz, rx, ry, rz)) else: raise NotImplementedError(sgridtype) f.write(page_stamp % page_num) page_num += 1 return page_num
def _write_sort2_as_sort2(self, f, page_num, page_stamp, header, words): nodes = self.node_gridtype[:, 0] gridtypes = self.node_gridtype[:, 1] times = self._times for inode, (node_id, gridtypei) in enumerate(zip(nodes, gridtypes)): t1 = self.data[inode, :, 0] header[1] = ' POINT-ID = %10i\n' % node_id f.write(''.join(header + words)) for dt, t1i in zip(times, t1): sgridtype = self.recast_gridtype_as_string(gridtypei) vals = [t1i] vals2 = write_floats_13e(vals) dx = vals2[0] if sgridtype == 'G': f.write('%14s %6s %s\n' % (write_float_12e(dt), sgridtype, dx)) elif sgridtype == 'S': f.write('%14s %6s %s\n' % (node_id, sgridtype, dx)) elif sgridtype == 'H': f.write('%14s %6s %s\n' % (write_float_12e(dt), sgridtype, dx)) elif sgridtype == 'L': f.write('%14s %6s %s\n' % (write_float_12e(dt), sgridtype, dx)) else: raise NotImplementedError(sgridtype) f.write(page_stamp % page_num) page_num += 1 return page_num
def _write_sort2_as_sort2(self, f06_file, page_num, page_stamp, header, words): nodes = self.node_gridtype[:, 0] gridtypes = self.node_gridtype[:, 1] times = self._times for inode, (node_id, gridtypei) in enumerate(zip(nodes, gridtypes)): t1 = self.data[inode, :, 0] header[1] = ' POINT-ID = %10i\n' % node_id f06_file.write(''.join(header + words)) for dt, t1i in zip(times, t1): sgridtype = self.recast_gridtype_as_string(gridtypei) vals = [t1i] vals2 = write_floats_13e(vals) dx = vals2[0] if sgridtype == 'G': f06_file.write('%14s %6s %s\n' % (write_float_12e(dt), sgridtype, dx)) elif sgridtype == 'S': f06_file.write('%14s %6s %s\n' % (node_id, sgridtype, dx)) elif sgridtype == 'H': f06_file.write('%14s %6s %s\n' % (write_float_12e(dt), sgridtype, dx)) elif sgridtype == 'L': f06_file.write('%14s %6s %s\n' % (write_float_12e(dt), sgridtype, dx)) else: raise NotImplementedError(sgridtype) f06_file.write(page_stamp % page_num) page_num += 1 return page_num
def _write_sort2_as_sort2(self, f, page_num, page_stamp, header, words): element = self.element element_type = self.element_data_type times = self._times for ieid, (element_id, etypei) in enumerate(zip(element, element_type)): t1 = self.data[inode, :, 0] t2 = self.data[inode, :, 1] t3 = self.data[inode, :, 2] r1 = self.data[inode, :, 3] r2 = self.data[inode, :, 4] r3 = self.data[inode, :, 5] header[1] = ' POINT-ID = %10i\n' % node_id f.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip( times, t1, t2, t3, r1, r2, r3): vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_floats_13e(vals) (dx, dy, dz, rx, ry, rz) = vals2 f.write( '%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (write_float_12e(dt), etypei, dx, dy, dz, rx, ry, rz)) f.write(page_stamp % page_num) page_num += 1 return page_num
def _write_sort1_as_sort2(self, f, page_num, page_stamp, header, words): element = self.element element_type = self.element_data_type times = self._times node_id = 0 ## TODO: fix the node id for inode, (eid, etypei) in enumerate(zip(element, element_type)): t1 = self.data[:, inode, 0].ravel() t2 = self.data[:, inode, 1].ravel() t3 = self.data[:, inode, 2].ravel() r1 = self.data[:, inode, 3].ravel() r2 = self.data[:, inode, 4].ravel() r3 = self.data[:, inode, 5].ravel() header[1] = ' POINT-ID = %10i\n' % node_id f.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip( times, t1, t2, t3, r1, r2, r3): vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_floats_13e(vals) (dx, dy, dz, rx, ry, rz) = vals2 f.write( '%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (write_float_12e(dt), etypei, dx, dy, dz, rx, ry, rz)) f.write(page_stamp % page_num) page_num += 1 return page_num
def _write_sort1_as_sort2(self, f06_file, page_num, page_stamp, header, words): nodes = self.node_gridtype[:, 0] gridtypes = self.node_gridtype[:, 1] times = self._times for inode, (node_id, gridtypei) in enumerate(zip(nodes, gridtypes)): t1 = self.data[:, inode, 0].ravel() t2 = self.data[:, inode, 1].ravel() t3 = self.data[:, inode, 2].ravel() r1 = self.data[:, inode, 3].ravel() r2 = self.data[:, inode, 4].ravel() r3 = self.data[:, inode, 5].ravel() header[1] = ' POINT-ID = %10i\n' % node_id f06_file.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip( times, t1, t2, t3, r1, r2, r3): sgridtype = self.recast_gridtype_as_string(gridtypei) vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_floats_13e(vals) (dx, dy, dz, rx, ry, rz) = vals2 if sgridtype in ['G', 'H', 'L']: f06_file.write( '%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % (write_float_12e(dt), sgridtype, dx, dy, dz, rx, ry, rz)) elif sgridtype == 'S': f06_file.write('%14s %6s %s\n' % (node_id, sgridtype, dx)) else: raise NotImplementedError(sgridtype) f06_file.write(page_stamp % page_num) page_num += 1 return page_num
def _write_sort1_as_sort2(self, f, page_num, page_stamp, header, words): element = self.element element_type = self.element_data_type times = self._times node_id = 0 ## TODO: fix the node id for inode, (eid, etypei) in enumerate(zip(element, element_type)): t1 = self.data[:, inode, 0].ravel() t2 = self.data[:, inode, 1].ravel() t3 = self.data[:, inode, 2].ravel() r1 = self.data[:, inode, 3].ravel() r2 = self.data[:, inode, 4].ravel() r3 = self.data[:, inode, 5].ravel() header[1] = ' POINT-ID = %10i\n' % node_id f.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip(times, t1, t2, t3, r1, r2, r3): vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_floats_13e(vals) (dx, dy, dz, rx, ry, rz) = vals2 f.write('%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % ( write_float_12e(dt), etypei, dx, dy, dz, rx, ry, rz)) f.write(page_stamp % page_num) page_num += 1 return page_num
def write_sort1_as_sort2(self, f06_file, page_num, page_stamp, header, words, is_mag_phase): node = self.node_gridtype[:, 0] gridtype = self.node_gridtype[:, 1] times = self._times # print(self.data.shape) for inode, (node_id, gridtypei) in enumerate(zip(node, gridtype)): # TODO: for SORT1 pretending to be SORT2 #t1 = self.data[:, inode, 0].ravel() t1 = self.data[:, inode, 0].ravel() t2 = self.data[:, inode, 1].ravel() t3 = self.data[:, inode, 2].ravel() r1 = self.data[:, inode, 3].ravel() r2 = self.data[:, inode, 4].ravel() r3 = self.data[:, inode, 5].ravel() if len(r3) != len(times): raise RuntimeError('len(d)=%s len(times)=%s' % (len(r3), len(times))) header[2] = ' POINT-ID = %10i\n' % node_id f06_file.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip( times, t1, t2, t3, r1, r2, r3): sgridtype = self.recast_gridtype_as_string(gridtypei) vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_imag_floats_13e(vals, is_mag_phase) [dxr, dyr, dzr, rxr, ryr, rzr, dxi, dyi, dzi, rxi, ryi, rzi] = vals2 sdt = write_float_12e(dt) #if not is_all_zeros: if sgridtype == 'G': f06_file.write( '0 %12s %6s %-13s %-13s %-13s %-13s %-13s %-s\n' ' %13s %6s %-13s %-13s %-13s %-13s %-13s %-s\n' % (sdt, sgridtype, dxr, dyr, dzr, rxr, ryr, rzr, '', '', dxi, dyi, dzi, rxi, ryi, rzi)) elif sgridtype == 'S': f06_file.write('0 %12s %6s %-13s\n' ' %12s %6s %-13s\n' % (sdt, sgridtype, dxr, '', '', dxi)) else: msg = 'nid=%s dt=%s type=%s dx=%s dy=%s dz=%s rx=%s ry=%s rz=%s' % ( node_id, dt, sgridtype, t1i, t2i, t3i, r1i, r2i, r3i) raise NotImplementedError(msg) f06_file.write(page_stamp % page_num) page_num += 1 return page_num
def write_sort1_as_sort2(self, f, page_num, page_stamp, header, words, is_mag_phase): node = self.node_gridtype[:, 0] gridtype = self.node_gridtype[:, 1] times = self._times # print(self.data.shape) for inode, (node_id, gridtypei) in enumerate(zip(node, gridtype)): # TODO: for SORT1 pretending to be SORT2 #t1 = self.data[:, inode, 0].ravel() t1 = self.data[:, inode, 0].ravel() t2 = self.data[:, inode, 1].ravel() t3 = self.data[:, inode, 2].ravel() r1 = self.data[:, inode, 3].ravel() r2 = self.data[:, inode, 4].ravel() r3 = self.data[:, inode, 5].ravel() if len(r3) != len(times): raise RuntimeError('len(d)=%s len(times)=%s' % (len(r3), len(times))) header[2] = ' POINT-ID = %10i\n' % node_id f.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip(times, t1, t2, t3, r1, r2, r3): sgridtype = self.recast_gridtype_as_string(gridtypei) vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_imag_floats_13e(vals, is_mag_phase) [dxr, dyr, dzr, rxr, ryr, rzr, dxi, dyi, dzi, rxi, ryi, rzi] = vals2 sdt = write_float_12e(dt) #if not is_all_zeros: if sgridtype == 'G': f.write('0 %12s %6s %-13s %-13s %-13s %-13s %-13s %-s\n' ' %13s %6s %-13s %-13s %-13s %-13s %-13s %-s\n' % ( sdt, sgridtype, dxr, dyr, dzr, rxr, ryr, rzr, '', '', dxi, dyi, dzi, rxi, ryi, rzi)) elif sgridtype == 'S': f.write('0 %12s %6s %-13s\n' ' %12s %6s %-13s\n' % (sdt, sgridtype, dxr, '', '', dxi)) else: msg = 'nid=%s dt=%s type=%s dx=%s dy=%s dz=%s rx=%s ry=%s rz=%s' % ( node_id, dt, sgridtype, t1i, t2i, t3i, r1i, r2i, r3i) raise NotImplementedError(msg) f.write(page_stamp % page_num) page_num += 1 return page_num
def _write_sort2_as_sort2(self, f, page_num, page_stamp, header, words): element = self.element element_type = self.element_data_type times = self._times for ieid, (element_id, etypei) in enumerate(zip(element, element_type)): t1 = self.data[inode, :, 0] t2 = self.data[inode, :, 1] t3 = self.data[inode, :, 2] r1 = self.data[inode, :, 3] r2 = self.data[inode, :, 4] r3 = self.data[inode, :, 5] header[1] = ' POINT-ID = %10i\n' % node_id f.write(''.join(header + words)) for dt, t1i, t2i, t3i, r1i, r2i, r3i in zip(times, t1, t2, t3, r1, r2, r3): vals = [t1i, t2i, t3i, r1i, r2i, r3i] vals2 = write_floats_13e(vals) (dx, dy, dz, rx, ry, rz) = vals2 f.write('%14s %6s %-13s %-13s %-13s %-13s %-13s %s\n' % ( write_float_12e(dt), etypei, dx, dy, dz, rx, ry, rz)) f.write(page_stamp % page_num) page_num += 1 return page_num
iline = 1 pch_filename = 'test.pch' with open(pch_filename, 'w') as pch_file: for case_line in cases: (obj, nids, comps, output) = case_line title = obj.subtitle times = obj._times for nid in nids: for comp in comps: for outputi in output: msg = '%-59s %20i\n' % (title, iline) iline += 1 nid = [nid] data = obj.extract_xyplot(nid, comp, outputi) data = data.reshape(len(data)) for idata, (time, datai) in enumerate(zip(times, data)): msg += '%10i %12s %12s%20i\n' % ( idata + 1, write_float_12e(time), write_float_12e(datai), iline) iline += 1 pch_file.write(msg) # print(msg) # break # break # break #acc.extract_xyplot(nids, 1, 'real') #acc.extract_xyplot(nids, 1, 'imag') #acc.extract_xyplot(nids, 1, 'mag') #acc.extract_xyplot(nids, 1, 'phase')