tables Package¶
grid_point_weight Module¶
defines the GridPointWeight class
- class pyNastran.f06.tables.grid_point_weight.GridPointWeight[source]¶
Bases: object
- read_grid_point_weight(lines)[source]¶
- 0- REFERENCE POINT = 0 1- M O 2- * 2.338885E+05 2.400601E-13 -7.020470E-15 -1.909968E-11 2.851745E+06 -5.229834E+07 * 3- * 2.400601E-13 2.338885E+05 -2.520547E-13 -2.851745E+06 2.151812E-10 2.098475E+08 * 4- * -7.020470E-15 -2.520547E-13 2.338885E+05 5.229834E+07 -2.098475E+08 -1.960403E-10 * 5- * -1.909968E-11 -2.851745E+06 5.229834E+07 2.574524E+10 -5.566238E+10 -4.054256E+09 * 6- * 2.851745E+06 2.151812E-10 -2.098475E+08 -5.566238E+10 2.097574E+11 -2.060162E+09 * 7- * -5.229834E+07 2.098475E+08 -1.960403E-10 -4.054256E+09 -2.060162E+09 2.336812E+11 * 8- S 9- * 1.000000E+00 0.000000E+00 0.000000E+00 *
10- * 0.000000E+00 1.000000E+00 0.000000E+00 * 11- * 0.000000E+00 0.000000E+00 1.000000E+00 * 12- DIRECTION 13- MASS AXIS SYSTEM (S) MASS X-C.G. Y-C.G. Z-C.G. 14- X 2.338885E+05 -8.166148E-17 2.236038E+02 1.219276E+01 15- Y 2.338885E+05 8.972118E+02 9.200164E-16 1.219276E+01 16- Z 2.338885E+05 8.972118E+02 2.236038E+02 -8.381786E-16 17- I(S) 18- * 1.401636E+10 8.739690E+09 1.495636E+09 *
8.739690E+09 2.144496E+10 1.422501E+09 *
- 1.495636E+09 1.422501E+09 3.370946E+10 *
I(Q)
3.389001E+10 *
8.073297E+09 *
2.720748E+10 *
Q- -3.599259E-02 -8.305739E-01 5.557441E-01 *
- -8.850329E-02 -5.512702E-01 -8.296194E-01 *
- 9.954254E-01 -7.904533E-02 -5.366689E-02 *
Note
pyNastran’s BDF mass_properties method uses the following (not totally correct as there technically isn’t one xcg):
DIRECTION- MASS AXIS SYSTEM (S) MASS X-C.G. Y-C.G. Z-C.G.
- X mass 0.000000E+00 ycg zcg Y mass xcg 0.000000E+00 zcg Z nass xcg ycg 0.000000E+00
The inertias are close to I(S), but not exact as the method doesn’t use the mass matrix, but is close for sufficiently complex models. The terms are:
- Ixx Ixy Ixz *
- Iyx Iyy Iyz *
- Izz Izy Izz *
or inertia = [Ixx, Iyy, Izz, Ixy, Ixz, Iyz]
lama Module¶
- class pyNastran.f06.tables.lama.LAMA[source]¶
Bases: object
max_min Module¶
oef Module¶
- class pyNastran.f06.tables.oef.OEF[source]¶
Bases: object
- _forces_in_cquad4s_bilinear()[source]¶
F O R C E S I N Q U A D R I L A T E R A L E L E M E N T S ( Q U A D 4 ) OPTION = BILIN ELEMENT - MEMBRANE FORCES - - BENDING MOMENTS - - TRANSVERSE SHEAR FORCES - ID GRID-ID FX FY FXY MX MY MXY QX QY 1 CEN/4 0.0 0.0 0.0 -7.371223E+01 -4.023861E+02 -2.679984E+01 1.315875E+01 -7.356985E+01 1 0.0 0.0 0.0 -1.043592E+02 -3.888291E+02 -2.698050E+01 1.315875E+01 -7.356985E+01 2 0.0 0.0 0.0 -1.036512E+02 -4.152917E+02 -2.731157E+01 1.315875E+01 -7.356985E+01 8 0.0 0.0 0.0 -4.306526E+01 -4.159432E+02 -2.661917E+01 1.315875E+01 -7.356985E+01 7 0.0 0.0 0.0 -4.377329E+01 -3.894806E+02 -2.628810E+01 1.315875E+01 -7.356985E+01
element_type = 33 b/c not bilinear
oes Module¶
- class pyNastran.f06.tables.oes.OES[source]¶
Bases: object
- _get_rod_header(element_name, element_type, is_strain)[source]¶
- analysis_code = 1 (Statics)
- device_code = 1 (Print)
- table_code = 5 (Stress)
- sort_code = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0]
- format_code = 1 (Real)
- s_code = 0 (Stress)
- num_wide = 8 (???)
- _get_solid_header(element_name, element_type, n, is_strain=True)[source]¶
- analysis_code = 1 (Statics)
- device_code = 1 (Print)
- table_code = 5 (Stress/Strain)
- sort_code = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0]
- format_code = 1 (Real)
- s_code = 0 (Stress/Strain)
- num_wide = 8 (???)
- _get_tri_header(is_strain)[source]¶
- analysis_code = 1 (Statics)
- device_code = 1 (Print)
- table_code = 5 (Stress)
- sort_code = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0]
- format_code = 1 (Real)
- s_code = 0 (Stress)
- num_wide = 8 (???)
- _read_bar_stress()[source]¶
ELEMENT SA1 SA2 SA3 SA4 AXIAL SA-MAX SA-MIN M.S.-T ID. SB1 SB2 SB3 SB4 STRESS SB-MAX SB-MIN M.S.-C 12 0.0 0.0 0.0 0.0 1.020730E+04 1.020730E+04 1.020730E+04 0.0 0.0 0.0 0.0 1.020730E+04 1.020730E+04
- _read_rod_stress()[source]¶
S T R E S S E S I N R O D E L E M E N T S ( C R O D ) ELEMENT AXIAL SAFETY TORSIONAL SAFETY ELEMENT AXIAL SAFETY TORSIONAL SAFETY ID. STRESS MARGIN STRESS MARGIN ID. STRESS MARGIN STRESS MARGIN 14 2.514247E+04 1.758725E+02 15 2.443757E+04 2.924619E+01
- _read_spring_stress()[source]¶
S T R A I N S I N S C A L A R S P R I N G S ( C E L A S 2 ) ELEMENT STRAIN ELEMENT STRAIN ELEMENT STRAIN ELEMENT STRAIN ID. ID. ID. ID. 20001 0.0 20002 0.0 20003 0.0 20004 0.0 20005 0.0 20006 0.0
- _read_tri_stress(eType)[source]¶
ELEMENT FIBER STRESSES IN ELEMENT COORD SYSTEM PRINCIPAL STRESSES (ZERO SHEAR) ID. DISTANCE NORMAL-X NORMAL-Y SHEAR-XY ANGLE MAJOR MINOR VON MISES 8 -1.250000E-01 -1.303003E+02 1.042750E+04 -1.456123E+02 -89.2100 1.042951E+04 -1.323082E+02 1.049629E+04 1.250000E-01 -5.049646E+02 1.005266E+04 -2.132942E+02 -88.8431 1.005697E+04 -5.092719E+02 1.032103E+04
- _strain_in_composite_cquad4_elements()[source]¶
S T R E S S E S I N L A Y E R E D C O M P O S I T E E L E M E N T S ( Q U A D 4 ) ELEMENT PLY STRESSES IN FIBER AND MATRIX DIRECTIONS INTER-LAMINAR STRESSES PRINCIPAL STRESSES (ZERO SHEAR) MAX ID ID NORMAL-1 NORMAL-2 SHEAR-12 SHEAR XZ-MAT SHEAR YZ-MAT ANGLE MAJOR MINOR SHEAR 181 1 3.18013E+04 5.33449E+05 1.01480E+03 -7.06668E+01 1.90232E+04 89.88 5.33451E+05 3.17993E+04 2.50826E+05 181 2 1.41820E+05 1.40805E+05 1.25412E+05 -1.06000E+02 2.85348E+04 44.88 2.66726E+05 1.58996E+04 1.25413E+05
element_type = 33 b/c not bilinear
- _stress_in_cbar_elements()[source]¶
S T R E S S E S I N B A R E L E M E N T S ( C B A R ) ELEMENT SA1 SA2 SA3 SA4 AXIAL SA-MAX SA-MIN M.S.-T ID. SB1 SB2 SB3 SB4 STRESS SB-MAX SB-MIN M.S.-C 12 0.0 0.0 0.0 0.0 1.020730E+04 1.020730E+04 1.020730E+04 0.0 0.0 0.0 0.0 1.020730E+04 1.020730E+04
- analysis_code = 1 (Statics)
- device_code = 1 (Print)
- table_code = 5 (Stress)
- sort_code = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0]
- format_code = 1 (Real)
- s_code = 0 (Stress)
- num_wide = 8 (???)
- _stress_in_composite_cquad4_elements()[source]¶
S T R E S S E S I N L A Y E R E D C O M P O S I T E E L E M E N T S ( Q U A D 4 ) ELEMENT PLY STRESSES IN FIBER AND MATRIX DIRECTIONS INTER-LAMINAR STRESSES PRINCIPAL STRESSES (ZERO SHEAR) MAX ID ID NORMAL-1 NORMAL-2 SHEAR-12 SHEAR XZ-MAT SHEAR YZ-MAT ANGLE MAJOR MINOR SHEAR 181 1 3.18013E+04 5.33449E+05 1.01480E+03 -7.06668E+01 1.90232E+04 89.88 5.33451E+05 3.17993E+04 2.50826E+05 181 2 1.41820E+05 1.40805E+05 1.25412E+05 -1.06000E+02 2.85348E+04 44.88 2.66726E+05 1.58996E+04 1.25413E+05
element_type = 33 b/c not bilinear
- _stress_in_ctria3_elements()[source]¶
S T R E S S E S I N T R I A N G U L A R E L E M E N T S ( T R I A 3 ) ELEMENT FIBER STRESSES IN ELEMENT COORD SYSTEM PRINCIPAL STRESSES (ZERO SHEAR) ID. DISTANCE NORMAL-X NORMAL-Y SHEAR-XY ANGLE MAJOR MINOR VON MISES 8 -1.250000E-01 -1.303003E+02 1.042750E+04 -1.456123E+02 -89.2100 1.042951E+04 -1.323082E+02 1.049629E+04 1.250000E-01 -5.049646E+02 1.005266E+04 -2.132942E+02 -88.8431 1.005697E+04 -5.092719E+02 1.032103E+04
- analysis_code = 1 (Statics)
- device_code = 1 (Print)
- table_code = 5 (Stress)
- sort_code = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0]
- format_code = 1 (Real)
- s_code = 0 (Stress)
- num_wide = 8 (???)
- _stress_in_rod_elements(element_name, element_type, result_type)[source]¶
S T R E S S E S I N R O D E L E M E N T S ( C R O D ) ELEMENT AXIAL SAFETY TORSIONAL SAFETY ELEMENT AXIAL SAFETY TORSIONAL SAFETY ID. STRESS MARGIN STRESS MARGIN ID. STRESS MARGIN STRESS MARGIN 14 2.514247E+04 1.758725E+02 15 2.443757E+04 2.924619E+01
- _stress_strain_cquad4_bilinear_helper(element_type, element_num, is_strain=None)[source]¶
S T R E S S E S I N Q U A D R I L A T E R A L E L E M E N T S ( Q U A D 4 ) OPTION = BILIN ELEMENT FIBER STRESSES IN ELEMENT COORD SYSTEM PRINCIPAL STRESSES (ZERO SHEAR) ID GRID-ID DISTANCE NORMAL-X NORMAL-Y SHEAR-XY ANGLE MAJOR MINOR VON MISES 6 CEN/4 -1.250000E-01 -4.278394E+02 8.021165E+03 -1.550089E+02 -88.9493 8.024007E+03 -4.306823E+02 8.247786E+03 1.250000E-01 5.406062E+02 1.201854E+04 -4.174177E+01 -89.7916 1.201869E+04 5.404544E+02 1.175778E+04 4 -1.250000E-01 -8.871141E+02 7.576036E+03 -1.550089E+02 -88.9511 7.578874E+03 -8.899523E+02 8.060780E+03 1.250000E-01 -8.924081E+01 1.187899E+04 -4.174177E+01 -89.8002 1.187913E+04 -8.938638E+01 1.192408E+04
- pyNastran.f06.tables.oes.make_stress_bits(is_fiber_distance=False, is_max_shear=True, is_strain=True, is_rod_or_solid=False)[source]¶
Therefore, stress_code can be one of the following values: +——+———+———————————————-+ |Value | On bits | Description | +——+———+———————————————-+ | 0 | 0 0 0 0 | Stress maximum shear or octahedral | | 1 | 0 0 0 1 | Stress von Mises | | 10 | 1 0 1 0 | Strain Curvature maximum shear or octahedral | | 11 | 1 0 1 1 | Strain Curvature von Mises | | 14 | 1 1 1 0 | Strain Fibre maimum shear or octahedral | | 15 | 1 1 1 1 | Strain Fibre von Mises | +——+———+———————————————-+
oload_resultant Module¶
- class pyNastran.f06.tables.oload_resultant.OLOAD_Resultant[source]¶
Bases: object
- write_f06(f, page_stamp, page_num)[source]¶
- 0 OLOAD RESULTANT
- SUBCASE/ LOAD DAREA ID TYPE T1 T2 T3 R1 R2 R3
- 0 1 FX 2.300000E+04 —- —- —- 3.320987E+04 -2.280395E+04
- FY —- 0.000000E+00 —- 0.000000E+00 —- 0.000000E+00 FZ —- —- 0.000000E+00 0.000000E+00 0.000000E+00 —- MX —- —- —- 0.000000E+00 —- —- MY —- —- —- —- 0.000000E+00 —- MZ —- —- —- —- —- 0.000000E+00
TOTALS 2.300000E+04 0.000000E+00 0.000000E+00 0.000000E+00 3.320987E+04 -2.280395E+04
#1 MSC.NASTRAN JOB CREATED ON 28-JAN-12 AT 12:52:32 OCTOBER 22, 2014 MSC.NASTRAN 6/17/05 PAGE 8
oqg Module¶
oug Module¶
- class pyNastran.f06.tables.oug.OUG[source]¶
Bases: object
- _complex_displacement_vector()[source]¶
BACKWARD WHIRL SUBCASE 2 POINT-ID = 101 C O M P L E X D I S P L A C E M E N T V E C T O R (MAGNITUDE/PHASE) FREQUENCY TYPE T1 T2 T3 R1 R2 R3 2.000000E+01 G 3.242295E-16 1.630439E-01 1.630439E-01 1.691497E-17 1.362718E-01 1.362718E-01 196.0668 90.0000 180.0000 63.4349 180.0000 270.0000
- table_code = 1 (Displacement)
- format_code = 3 (Magnitude/Phase)
- sort_bits = [0,1,1] (Sort1,Real/Imaginary,RandomResponse)
- analysis_code = 5 (Frequency)
- sort_code = 2 (Random Response)
- _displacement_vector()[source]¶
- ::
- 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 (???)
- _real_eigenvectors(marker)[source]¶
Reads real eigenvector table accounting for blank entries
Parameters: self – the object pointer - ::
- SUBCASE 1
- EIGENVALUE = 6.158494E+07
- CYCLES = 1.248985E+03 R E A L E I G E N V E C T O R N O . 1
- POINT ID. TYPE T1 T2 T3 R1 R2 R3
- 1 G 2.547245E-17 -6.388945E-16 2.292728E+00 -1.076928E-15 2.579163E-17 0.0
2002 G -6.382321E-17 -1.556607E-15 3.242408E+00 -6.530917E-16 1.747180E-17 0.0 2003 G -6.382321E-17 -1.556607E-15 3.242408E+00 2004 S -6.382321E-17 -1.556607E-15 3.242408E+00
- analysis_code = 2 (Normal modes)
- table_code = 7 (Eigenvector)
- device_code = 1 (Print)
- sort_code = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0]
- format_code = 1 (Real)
- #s_code = 0 (Stress)
- num_wide = 8 (???)
- _real_f06_table_data(allow_blanks=False)[source]¶
Reads real displacement/velocity/spc forces/mpc forces Handles GRIDs and SPOINTs.
Parameters: - self – the object pointer
- allow_blanks – Accounting for blank entries (e.g. on eigenvector) default=False
Returns data: the parsed data
Todo
support L, H, and R points
- _temperature_vector()[source]¶
LOAD STEP = 1.00000E+00 T E M P E R A T U R E V E C T O R POINT ID. TYPE ID VALUE ID+1 VALUE ID+2 VALUE ID+3 VALUE ID+4 VALUE ID+5 VALUE 1 S 1.300000E+03 1.300000E+03 1.300000E+03 1.300000E+03 1.300000E+03 1.300000E+03 7 S 1.300000E+03 1.300000E+03 1.300000E+03 1.300000E+03 analysis_code = 1 (Statics) device_code = 1 (Print) table_code = 1 (Displacement/Temperature) sort_code = 0 (Sort2,Real,Sorted Results) => sort_bits = [0,0,0] format_code = 1 (Real) s_code = 0 (Stress) num_wide = 8 (???)