oes_solids Module

digraph inheritance18f4280bd0 { bgcolor=transparent; rankdir=LR; size=""; "pyNastran.op2.op2_interface.op2_codes.Op2Codes" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "pyNastran.op2.result_objects.op2_objects.BaseElement" [URL="../../../result_objects/pyNastran.op2.result_objects.html#pyNastran.op2.result_objects.op2_objects.BaseElement",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.op2.result_objects.op2_objects.ScalarObject" -> "pyNastran.op2.result_objects.op2_objects.BaseElement" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [URL="../../../result_objects/pyNastran.op2.result_objects.html#pyNastran.op2.result_objects.op2_objects.BaseScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="The base scalar class is used by:"]; "pyNastran.op2.op2_interface.op2_codes.Op2Codes" -> "pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.result_objects.op2_objects.ScalarObject" [URL="../../../result_objects/pyNastran.op2.result_objects.html#pyNastran.op2.result_objects.op2_objects.ScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Used by all vectorized objects including:"]; "pyNastran.op2.result_objects.op2_objects.BaseScalarObject" -> "pyNastran.op2.result_objects.op2_objects.ScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.OES_Object" [URL="../pyNastran.op2.tables.oes_stress_strain.html#pyNastran.op2.tables.oes_stressStrain.real.oes_objects.OES_Object",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.op2.result_objects.op2_objects.BaseElement" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.OES_Object" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StrainObject" [URL="../pyNastran.op2.tables.oes_stress_strain.html#pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StrainObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.OES_Object" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StrainObject" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject" [URL="../pyNastran.op2.tables.oes_stress_strain.html#pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.OES_Object" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray" [URL="#pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.OES_Object" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStrainArray" [URL="#pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStrainArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStrainArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StrainObject" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStrainArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStressArray" [URL="#pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStressArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStressArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject" -> "pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidStressArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
class pyNastran.op2.tables.oes_stressStrain.real.oes_solids.RealSolidArray(data_code, is_sort1, isubcase, dt)[source]

Bases: 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]
classmethod add_modal_case(table_name, element_name: str, element_node, element_cid, data, isubcase, modes, eigns, cycles, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[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]
classmethod add_post_buckling_case(table_name, element_name, element_node, element_cid, data, isubcase, modes, eigrs, eigis, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[source]
classmethod add_static_case(table_name, element_name, element_node, element_cid, data, isubcase, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[source]
classmethod add_transient_case(table_name, element_name, element_node, element_cid, data, isubcase, times, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[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: bool
property is_real: bool
property nnodes_per_element: int
property nnodes_per_element_no_centroid: int
update_data_components()[source]
write_csv(csv_file: TextIO, is_exponent_format: bool = False, is_mag_phase: bool = False, is_sort1: bool = True, write_header: bool = True)[source]
write_f06(f06_file: TextIO, 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: RealSolidArray, StrainObject

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

Bases: RealSolidArray, 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: ndarray, oyy: ndarray, ozz: ndarray, txy: ndarray, txz: ndarray, tyz: 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: ndarray, oyy: ndarray, ozz: ndarray, txy: ndarray, txz: ndarray, tyz: 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

pyNastran.op2.tables.oes_stressStrain.real.oes_solids.set_element_cid_case(cls: RealSolidArray, data_code, is_sort1, isubcase, element_node, element_cid, data, times)[source]