oes_solids Module

Inheritance diagram of pyNastran.op2.tables.oes_stressStrain.real.oes_solids
class pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray(data_code, is_sort1, isubcase, dt)[source]

Bases: pyNastran.op2.tables.oes_stressStrain.real.oes_objects.OES_Object

add_eid_sort1(unused_etype, cid, dt, eid, unused_node_id, oxx, oyy, ozz, txy, tyz, txz, o1, o2, o3, unused_acos, unused_bcos, unused_ccos, unused_pressure, ovm)[source]
add_eid_sort2(unused_etype, cid, dt, eid, unused_node_id, oxx, oyy, ozz, txy, tyz, txz, o1, o2, o3, unused_acos, unused_bcos, unused_ccos, unused_pressure, ovm)[source]
add_node_sort1(dt, eid, unused_inode, node_id, oxx, oyy, ozz, txy, tyz, txz, o1, o2, o3, unused_acos, unused_bcos, unused_ccos, unused_pressure, ovm)[source]
add_node_sort2(dt, eid, unused_inode, node_id, oxx, oyy, ozz, txy, tyz, txz, o1, o2, o3, unused_acos, unused_bcos, unused_ccos, unused_pressure, ovm)[source]
build()[source]

sizes the vectorized attributes of the RealSolidArray

build_dataframe()[source]

creates a pandas dataframe

eid_to_element_node_index(eids)[source]
get_element_index(eids)[source]
get_headers()[source]
get_stats(short: bool = False) → List[str][source]
property is_complex
property is_real
property nnodes_per_element
property nnodes_per_element_no_centroid
update_data_components()[source]
write_f06(f06_file, header=None, page_stamp: str = 'PAGE %s', page_num: int = 1, is_mag_phase: bool = False, is_sort1: bool = True)[source]
write_op2(op2_file, op2_ascii, itable, new_result, date, is_mag_phase=False, endian='>')[source]

writes an OP2

class pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStrainArray(data_code, is_sort1, isubcase, dt)[source]

Bases: pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray, pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StrainObject

get_headers() → List[str][source]
class pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStressArray(data_code, is_sort1, isubcase, dt)[source]

Bases: pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray, pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject

get_headers() → List[str][source]
pyNastran.op2.tables.oes_stressStrain.real.oes_solids.calculate_ovm_shear(oxx, oyy, ozz, txy, tyz, txz, o1, o3, is_von_mises: bool, is_stress: bool)[source]
pyNastran.op2.tables.oes_stressStrain.real.oes_solids.calculate_principal_components(ntimes: int, nelements_nnodes: int, oxx, oyy, ozz, txy, tyz, txz, is_stress: bool) → Tuple[Any, Any, Any][source]

TODO: scale by 2 for strain

pyNastran.op2.tables.oes_stressStrain.real.oes_solids.calculate_principal_eigenvectors4(ntimes: int, nnodes: int, oxx: numpy.ndarray, oyy: numpy.ndarray, ozz: numpy.ndarray, txy: numpy.ndarray, txz: numpy.ndarray, tyz: numpy.ndarray, dtype)[source]

For 10 CTETRA elements (5 nodes) with 2 times, the shape would be: >>> (ntimes, nelements*nnodes, 3, 3) >>> (2, 10*5, 3, 3)

TODO: scale by 2 for strain

Parameters
oxx(ntimes, nnodes) np.ndarray
Returns
——-
eigenvalues(ntimes, nnodes, 3)

the eigenvalues

eigenvectors(ntimes, nnodes, 3, 3)

the eigenvectors

pyNastran.op2.tables.oes_stressStrain.real.oes_solids.calculate_principal_eigenvectors5(ntimes: int, nelements: int, nnodes: int, oxx: numpy.ndarray, oyy: numpy.ndarray, ozz: numpy.ndarray, txy: numpy.ndarray, txz: numpy.ndarray, tyz: numpy.ndarray, dtype)[source]

For 10 CTETRA elements (5 nodes) with 2 times, the shape would be: >>> (ntimes, nelements, nnodes, 3, 3) >>> (2, 10, 5, 3, 3)

TODO: scale by 2 for strain