def __init__(self): Op2Codes.__init__(self) self.is_built = False # init value # None - static # int/float - transient/freq/load step/eigenvalue self.nonlinear_factor = None self.format_code = None self.sort_code = None self.table_code = None self.Title = None self.subtitle = None self.label = None self.num_wide = None self.device_code = None self.table_name = None
def __init__(self): Op2Codes.__init__(self) self.is_built = False
def __init__(self): Op2Codes.__init__(self) F06Writer.__init__(self) OP2Writer.__init__(self) #: flag for vectorization #: 0 - no vectorization #: 1 - first pass #: 2 - second pass self.read_mode = None #: the results self.result_names = set([]) #: bool self.is_vectorized = None #: the storage dictionary that is passed to OP2 objects (e.g. DisplacementObject) #: the key-value pairs are extracted and used to generate dynamic self #: variables for the OP2 objects self.data_code = {} # 'log': self.log, #: current subcase ID #: non-transient (SOL101) cases have isubcase set to None #: transient (or frequency/modal) cases have isubcase set to a int/float value self.isubcase = None #: the corresponding piece to isubcase #: used only for SORT2 (not supported) self.ID = None #: should the op2 debugging file be written self.debug = False #: op2 debug file or None (for self.debug=False) self.binary_debug = None #: the list of "words" on a subtable 3 self.words = [] #: The current table_name (e.g. OES1) #: None indicates no table_name has been read self.table_name = None # the date stamp used in the F06 self.date = (1, 1, 2000) #: set of all the subcases that have been found self.subcases = set() #: the list/set/tuple of times/modes/frequencies that should be read #: currently unused self.expected_times = None #: None -> all tables are read #: list/set/tuple : ['OES1'] -> only the specified tables ar read self.tables_to_read = None self.show_table3_map = [ #'OUGV1', #'OEF1X', #'OES1X1', ] self.show_table4_map = [ #'OUGV1', #'OEF1X', #'OES1X1', ] self.element_mapper = { # rods 1: 'CROD', 3: 'CTUBE', 10: 'CONROD', # beam 2: 'CBEAM', # springs 11: 'CELAS1', 12: 'CELAS2', 13: 'CELAS3', 14: 'CELAS4', # bar 34: 'CBAR', # solids 39: 'CTETRA', 67: 'CHEXA', 68: 'CPENTA', # triax 53: 'CTRIAX6', # centroidal plate 33: 'CQUAD4', # 1 node 74: 'CTRIA3', # 1 node # bilinear plate 144: 'CQUAD4', # 5 nodes # composite plates 95: 'CQUAD4', 96: 'CQUAD8', 97: 'CTRIA3', 98: 'CTRIA6', # unorganized None: '', 0: 'GRID', #1: 'ROD', #2: 'BEAM', #3: 'TUBE', 4: 'SHEAR', 5: 'FORMON12', 6: 'FORCE', 7: 'PLOAD4', 8: 'PLOADX1', 9: 'PLOAD/PLOAD2', #10: 'CONROD', #11: 'ELAS1', #12: 'ELAS2', #13: 'ELAS3', #14: 'ELAS4', 15: 'AEROT3', 16: 'AEROBEAM', 17: None, 18: None, 19: None, 20: 'DAMP1', 21: 'DAMP2', 22: 'DAMP3', 23: 'DAMP4', 24: 'VISC', 25: 'MASS1', 26: 'MASS2', 27: 'MASS3', 28: 'MASS4', 29: 'CONM1', 30: 'CONM2', 31: 'PLOTEL', 32: None, #33: 'QUAD4', #34: 'BAR', 35: 'CON', 36: None, 37: None, 38: 'GAP', #39: 'TETRA', 40: 'BUS1D', 41: None, 42: None, 43: 'FLUID2', 44: 'FLUID3', 45: 'FLUID4', 46: 'FLMASS', 47: 'AXIF2', 48: 'AXIF3', 49: 'AXIF4', 50: 'SLOT3', 51: 'SLOT4', 52: 'HBDY', #53: 'TRIAX6', 54: None, 55: 'DUM3', 56: 'DUM4', 57: 'DUM5', 58: 'DUM6', 59: 'DUM7', 60: 'DUM8', 61: 'DUM9', 62: None, 63: None, 64: 'CQUAD8', 65: None, 66: None, #67: 'HEXA', #68: 'PENTA', 69: 'CBEND', 70: 'CTRIAR', 71: None, 72: 'AEROQ4', 73: None, #74: 'TRIA3', 75: 'CTRIA6', 76: 'HEXPR', 77: 'PENPR', 78: 'TETPR', 79: None, 80: None, 81: None, 82: 'CQUADR', 83: 'HACAB', 84: 'HACBR', 85: 'TETRANL', 86: 'GAPNL', 87: 'TUBENL', 88: 'TRIA3NL', 89: 'RODNL', 90: 'QUAD4NL', 91: 'PENTANL', 92: 'CONRODNL', 93: 'HEXANL', 94: 'BEAMNL', #95: 'QUAD4LC', #96: 'QUAD8LC', #97: 'TRIA3LC', #98: 'TRIA6LC', 99: None, 100: 'BARS', 101: 'AABSF', 102: 'BUSH', 103: 'QUADP', 104: 'TRIAP', 105: 'BEAMP', 106: 'DAMP5', 107: 'CHBDYE', 108: 'CHBDYG', 109: 'CHBDYP', 110: 'CONV', 111: 'CONVM', 112: 'QBDY3', 113: 'QVECT', 114: 'QVOL', 115: 'RADBC', 116: 'SLIF1D', 117: 'WELDC', 118: 'WELDP', 119: 'GENEL', 120: 'DMIG', 121: None, 122: None, 123: None, 124: None, 125: None, 126: None, 127: None, 128: None, 129: None, 130: None, 131: None, 132: None, 133: None, 134: None, 135: None, 136: None, 137: None, 138: None, 139: 'QUAD4FD', 140: 'HEXA8FD', 141: 'HEXAP', 142: 'PENTAP', 143: 'TETRAP', #144: 'QUAD144', 145: 'VUHEXA', 146: 'VUPENTA', 147: 'VUTETRA', 148: None, 149: None, 150: None, 151: None, 152: None, 153: None, 154: None, 155: None, 156: None, 157: None, 158: None, 159: None, 160: 'PENTA6FD', 161: 'TETRA4FD', 162: 'TRIA3FD', 163: 'HEXAFD', 164: 'QUADFD', 165: 'PENTAFD', 166: 'TETRAFD', 167: 'TRIAFD', 168: 'TRIAX3FD', 169: 'TRIAXFD', 170: 'QUADX4FD', 171: 'QUADXFD', 172: 'QUADRNL', 173: 'TRIARNL', 174: None, 175: None, 176: None, 177: None, 178: None, 179: None, 180: None, 181: None, 182: None, 183: None, 184: None, 185: None, 186: None, 187: None, 188: None, 189: 'VUQUAD', 190: 'VUTRIA', 191: 'VUBEAM', 192: 'CVINT', 193: None, 194: None, 195: None, 196: None, 197: 'SFINT', 198: 'CNVPEL', 199: 'VUHBDY', 200: 'WELD', 201: 'QUAD4FD', 202: 'HEXA8FD', 203: 'SLIF1D?', 204: 'PENTA6FD', 205: 'TETRA4FD', 206: 'TRIA3FD', 207: 'HEXAFD', 208: 'QUADFD', 209: 'PENTAFD', 210: 'TETRAFD', 211: 'TRIAFD', 212: 'TRIAX3FD', 213: 'TRIAXFD', 214: 'QUADX4FD', 215: 'QUADXFD', 216: 'TETRA4FD', 217: 'TRIA3FD', 218: 'HEXAFD', 219: 'QUADFD', 220: 'PENTAFD', 221: 'TETRAFD', 222: 'TRIAX3FD', 223: 'QUADXFD', 224: 'ELAS1', 225: 'ELAS3', 226: 'BUSH', 227: 'RBAR', 228: 'RBE1', 229: 'RBE3', 230: 'RJOINT', 231: 'RROD', 232: 'QUADRLC', 233: 'TRIARLC', 234: '???', 235: 'CQUADR', # was blank in DMAP, found reference in OEF table 236: 'CTRIAR', # was blank in DMAP, found reference in OEF table } pass
def __init__(self): Op2Codes.__init__(self) F06Writer.__init__(self) OP2Writer.__init__(self) #: flag for vectorization #: 0 - no vectorization #: 1 - first pass #: 2 - second pass self.read_mode = None #: the results self.result_names = set([]) #: bool self.is_vectorized = None #: the storage dictionary that is passed to OP2 objects (e.g. DisplacementObject) #: the key-value pairs are extracted and used to generate dynamic self #: variables for the OP2 objects self.data_code = {} #: current subcase ID #: non-transient (SOL101) cases have isubcase set to None #: transient (or frequency/modal) cases have isubcase set to a int/float value self.isubcase = None #: the corresponding piece to isubcase #: used only for SORT2 (not supported) self.ID = None #: should the op2 debugging file be written self.debug = False #: op2 debug file or None (for self.debug=False) self.binary_debug = None #: the list of "words" on a subtable 3 self.words = [] #: The current table_name (e.g. OES1) #: None indicates no table_name has been read self.table_name = None # the date stamp used in the F06 self.date = (1, 1, 2000) #: set of all the subcases that have been found self.subcases = set() #: the list/set/tuple of times/modes/frequencies that should be read #: currently unused self.expected_times = None self.show_table3_map = [ #'OUGV1', #'OEF1X', #'OES1X1', ] self.show_table4_map = [ #'OUGV1', #'OEF1X', #'OES1X1', ] self.element_mapper = { # rods 1 : 'CROD', 3 : 'CTUBE', 10: 'CONROD', # beam 2 : 'CBEAM', # springs 11: 'CELAS1', 12: 'CELAS2', 13: 'CELAS3', 14: 'CELAS4', # bar 34 : 'CBAR', # solids 39: 'CTETRA', 67: 'CHEXA', 68: 'CPENTA', # triax 53 : 'CTRIAX6', # centroidal plate 33: 'CQUAD4', # 1 node 74: 'CTRIA3', # 1 node # bilinear plate 144: 'CQUAD4', # 5 nodes # composite plates 95 : 'CQUAD4', 96 : 'CQUAD8', 97 : 'CTRIA3', 98 : 'CTRIA6', # unorganized None: '', 0: 'GRID', #1: 'ROD', #2: 'BEAM', #3: 'TUBE', 4: 'SHEAR', 5: 'FORMON12', 6: 'FORCE', 7: 'PLOAD4', 8: 'PLOADX1', 9: 'PLOAD/PLOAD2', #10: 'CONROD', #11: 'ELAS1', #12: 'ELAS2', #13: 'ELAS3', #14: 'ELAS4', 15: 'AEROT3', 16: 'AEROBEAM', 17: None, 18: None, 19: None, 20: 'DAMP1', 21: 'DAMP2', 22: 'DAMP3', 23: 'DAMP4', 24: 'VISC', 25: 'MASS1', 26: 'MASS2', 27: 'MASS3', 28: 'MASS4', 29: 'CONM1', 30: 'CONM2', 31: 'PLOTEL', 32: None, #33: 'QUAD4', #34: 'BAR', 35: 'CON', 36: None, 37: None, 38: 'GAP', #39: 'TETRA', 40: 'BUS1D', 41: None, 42: None, 43: 'FLUID2', 44: 'FLUID3', 45: 'FLUID4', 46: 'FLMASS', 47: 'AXIF2', 48: 'AXIF3', 49: 'AXIF4', 50: 'SLOT3', 51: 'SLOT4', 52: 'HBDY', #53: 'TRIAX6', 54: None, 55: 'DUM3', 56: 'DUM4', 57: 'DUM5', 58: 'DUM6', 59: 'DUM7', 60: 'DUM8', 61: 'DUM9', 62: None, 63: None, 64: 'CQUAD8', 65: None, 66: None, #67: 'HEXA', #68: 'PENTA', 69: 'CBEND', 70: 'CTRIAR', 71: None, 72: 'AEROQ4', 73: None, #74: 'TRIA3', 75: 'CTRIA6', 76: 'HEXPR', 77: 'PENPR', 78: 'TETPR', 79: None, 80: None, 81: None, 82: 'CQUADR', 83: 'HACAB', 84: 'HACBR', 85: 'TETRANL', 86: 'GAPNL', 87: 'TUBENL', 88: 'TRIA3NL', 89: 'RODNL', 90: 'QUAD4NL', 91: 'PENTANL', 92: 'CONRODNL', 93: 'HEXANL', 94: 'BEAMNL', #95: 'QUAD4LC', #96: 'QUAD8LC', #97: 'TRIA3LC', #98: 'TRIA6LC', 99: None, 100: 'BARS', 101: 'AABSF', 102: 'BUSH', 103: 'QUADP', 104: 'TRIAP', 105: 'BEAMP', 106: 'DAMP5', 107: 'CHBDYE', 108: 'CHBDYG', 109: 'CHBDYP', 110: 'CONV', 111: 'CONVM', 112: 'QBDY3', 113: 'QVECT', 114: 'QVOL', 115: 'RADBC', 116: 'SLIF1D', 117: 'WELDC', 118: 'WELDP', 119: 'GENEL', 120: 'DMIG', 121: None, 122: None, 123: None, 124: None, 125: None, 126: None, 127: None, 128: None, 129: None, 130: None, 131: None, 132: None, 133: None, 134: None, 135: None, 136: None, 137: None, 138: None, 139: 'QUAD4FD', 140: 'HEXA8FD', 141: 'HEXAP', 142: 'PENTAP', 143: 'TETRAP', #144: 'QUAD144', 145: 'VUHEXA', 146: 'VUPENTA', 147: 'VUTETRA', 148: None, 149: None, 150: None, 151: None, 152: None, 153: None, 154: None, 155: None, 156: None, 157: None, 158: None, 159: None, 160: 'PENTA6FD', 161: 'TETRA4FD', 162: 'TRIA3FD', 163: 'HEXAFD', 164: 'QUADFD', 165: 'PENTAFD', 166: 'TETRAFD', 167: 'TRIAFD', 168: 'TRIAX3FD', 169: 'TRIAXFD', 170: 'QUADX4FD', 171: 'QUADXFD', 172: 'QUADRNL', 173: 'TRIARNL', 174: None, 175: None, 176: None, 177: None, 178: None, 179: None, 180: None, 181: None, 182: None, 183: None, 184: None, 185: None, 186: None, 187: None, 188: None, 189: 'VUQUAD', 190: 'VUTRIA', 191: 'VUBEAM', 192: 'CVINT', 193: None, 194: None, 195: None, 196: None, 197: 'SFINT', 198: 'CNVPEL', 199: 'VUHBDY', 200: 'WELD', 201: 'QUAD4FD', 202: 'HEXA8FD', 203: 'SLIF1D?', 204: 'PENTA6FD', 205: 'TETRA4FD', 206: 'TRIA3FD', 207: 'HEXAFD', 208: 'QUADFD', 209: 'PENTAFD', 210: 'TETRAFD', 211: 'TRIAFD', 212: 'TRIAX3FD', 213: 'TRIAXFD', 214: 'QUADX4FD', 215: 'QUADXFD', 216: 'TETRA4FD', 217: 'TRIA3FD', 218: 'HEXAFD', 219: 'QUADFD', 220: 'PENTAFD', 221: 'TETRAFD', 222: 'TRIAX3FD', 223: 'QUADXFD', 224: 'ELAS1', 225: 'ELAS3', 226: 'BUSH', 227: 'RBAR', 228: 'RBE1', 229: 'RBE3', 230: 'RJOINT', 231: 'RROD', 232: 'QUADRLC', 233: 'TRIARLC', 234: '???', 235: 'CQUADR', # was blank in DMAP, found reference in OEF table 236: 'CTRIAR', # was blank in DMAP, found reference in OEF table } pass