class TRIA3(ResultTable, ShellElementForceStressResultTable): result_type = 'ELEMENT FORCES 74 TRIA3 REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/TRIA3', result_type) table_def.add_index_option('MATERIAL', None) result_data_cols = ['MX', 'MY', 'MXY', 'BMX', 'BMY', 'BMXY', 'TX', 'TY'] result_data_group_by = ['EID', 'DOMAIN_ID']
class STRAIN_ELEM(ResultTable): result_type = [ 'ELEMENT STRAIN ENERGIES %s REAL' % etype for etype in ['BAR', 'BEAM', 'QUAD4', 'TRIA3'] ] table_def = TableDef.create('/NASTRAN/RESULT/ELEMENTAL/ENERGY/STRAIN_ELEM', result_type, indices=DataGetter(indices=[0, 2, 3, 4], indices_len=5), validator=_validator)
class GridForce(ResultTable): result_type = 'GRID POINT FORCE BALANCE REAL' table_def = TableDef.create('/NASTRAN/RESULT/NODAL/GRID_FORCE', result_type, indices=DataGetter(indices=[0, 2, 3, 5, 6, 7, 8, 9, 10]), validator=_validator ) def search(self, data_ids, domains=(), convert_to_basic=False): _data = super(GridForce, self).search(data_ids, domains) if not convert_to_basic: return _data _nid = _data.loc[:, 'ID'] _f1 = _data.loc[:, 'F1'] _f2 = _data.loc[:, 'F2'] _f3 = _data.loc[:, 'F3'] _m1 = _data.loc[:, 'M1'] _m2 = _data.loc[:, 'M2'] _m3 = _data.loc[:, 'M3'] data = _data.copy() f1 = data.loc[:, 'F1'] f2 = data.loc[:, 'F2'] f3 = data.loc[:, 'F3'] m1 = data.loc[:, 'M1'] m2 = data.loc[:, 'M2'] m3 = data.loc[:, 'M3'] get_grid = self._h5n.input.node.grid.get_grid vector_to_basic = self._h5n.input.coordinate_system.h5n_transformation.vector_to_basic for i in range(_nid.shape[0]): cid = get_grid(_nid[i])[3] f = [_f1[i], _f2[i], _f3[i]] m =[_m1[i], _m2[i], _m3[i]] if cid != 0: f = vector_to_basic(f, cid) m = vector_to_basic(m, cid) f1[i] = f[0] f2[i] = f[1] f3[i] = f[2] m1[i] = m[0] m2[i] = m[1] m3[i] = m[2] return data
class GAP(ResultTable): result_type = 'ELEMENT FORCES 38 GAP REAL' table_def = TableDef.create('/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/GAP', result_type)
class TRIAR(ResultTable, ShellElementForceStressResultTable): result_type = 'ELEMENT FORCES 70 TRIAR REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/TRIAR', result_type)
class AppliedLoad(ResultTable): result_type = 'OLOADS REAL' table_def = TableDef.create('/NASTRAN/RESULT/NODAL/APPLIED_LOAD', result_type)
class Displacement(ResultTable): result_type = 'DISPLACEMENTS REAL' table_def = TableDef.create('/NASTRAN/RESULT/NODAL/DISPLACEMENT', result_type)
class VISC_CPLX(ResultTable): result_type = 'ELEMENT FORCES 24 VISC COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/VISC_CPLX', result_type)
class WELD_CPLX(ResultTable): result_type = 'ELEMENT FORCES 200 WELD COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/WELD_CPLX', result_type)
class RADINT(ResultTable): result_type = 'ELEMENT FORCES 155 RADINT REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/RADINT', result_type)
class TUBE_CPLX(ResultTable): result_type = 'ELEMENT FORCES 3 TUBE COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/TUBE_CPLX', result_type)
class QUAD8_COMP(ResultTable): result_type = 'ELEMENT FORCES 96 QUAD8LC REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/QUAD8_COMP', result_type)
class QUAD8_CPLX(ResultTable): result_type = 'ELEMENT FORCES 64 QUAD8 COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/QUAD8_CPLX', result_type)
class QUAD8(ResultTable): result_type = 'ELEMENT FORCES 64 QUAD8 REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/QUAD8', result_type)
class QUAD4_CN(ResultTable): result_type = 'ELEMENT FORCES 144 QUAD4C REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/QUAD4_CN', result_type)
class HBDYP(ResultTable): result_type = 'ELEMENT FORCES 109 HBDYP REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/HBDYP', result_type)
class TRIAR_CPLX(ResultTable, ShellElementForceStressResultTableComplex): result_type = 'ELEMENT FORCES 70 TRIAR COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/TRIAR_CPLX', result_type)
class ROD(ResultTable): result_type = 'ELEMENT FORCES 1 ROD REAL' table_def = TableDef.create('/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/ROD', result_type)
class TUBE(ResultTable): result_type = 'ELEMENT FORCES 3 TUBE REAL' table_def = TableDef.create('/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/TUBE', result_type)
class SEAM(ResultTable): result_type = 'ELEMENT FORCES 119 SEAM REAL' table_def = TableDef.create('/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/SEAM', result_type)
class VISC(ResultTable): result_type = 'ELEMENT FORCES 24 VISC REAL' table_def = TableDef.create('/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/VISC', result_type)
class SHEAR(ResultTable): result_type = 'ELEMENT FORCES 4 SHEAR REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/SHEAR', result_type)
class WELDP(ResultTable): result_type = 'ELEMENT FORCES 118 WELDP REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/WELDP', result_type)
class SHEAR_CPLX(ResultTable): result_type = 'ELEMENT FORCES 4 SHEAR COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/SHEAR_CPLX', result_type)
class FAST(ResultTable): result_type = 'ELEMENT FORCES 126 FAST REAL' table_def = TableDef.create('/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/FAST', result_type)
class ELAS4_CPLX(ResultTable): result_type = 'ELEMENT FORCES 14 ELAS4 COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/ELAS4_CPLX', result_type)
class SPCForce(ResultTable): result_type = 'SPCF REAL' table_def = TableDef.create('/NASTRAN/RESULT/NODAL/SPC_FORCE', result_type)
class TRIA6_COMP(ResultTable): result_type = 'ELEMENT FORCES 98 TRIA6LC REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/TRIA6_COMP', result_type)
class ELAS4(ResultTable): result_type = 'ELEMENT FORCES 14 ELAS4 REAL' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/ELAS4', result_type)
class FAST_CPLX(ResultTable): result_type = 'ELEMENT FORCES 126 FAST COMPLEX' table_def = TableDef.create( '/NASTRAN/RESULT/ELEMENTAL/ELEMENT_FORCE/FAST_CPLX', result_type)