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

abs_principal() ndarray[source]
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: int, modes: ndarray, eigns: ndarray, cycles: ndarray, is_sort1: bool = True, is_random: bool = False, is_msc: bool = True, random_code: int = 0, title: str = '', subtitle: str = '', label: str = '')[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: int, modes: ndarray, eigrs: ndarray, eigis: ndarray, is_sort1: bool = True, is_random: bool = False, is_msc: bool = True, random_code: int = 0, title: str = '', subtitle: str = '', label: str = '')[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

check_stress(itime: int = 0)[source]
check_update(check_code: bool = False)[source]
eid_to_element_node_index(eids)[source]
envelope(eids: ndarray, result_name: str, consider_corner_nodes: bool = False) ndarray[source]
get_element_index(eids)[source]
get_stats(short: bool = False) list[str][source]
property is_complex: bool
property is_real: bool
linear_combination(factor: tuple[int, int32, int64, float, float32], data: ndarray | None = None, update: bool = True)[source]

[A] * b

max_shear() ndarray[source]
property nnodes_per_element: int
property nnodes_per_element_no_centroid: int
slice_data(slice_elements: ndarray) int[source]
update_data_components()[source]
von_mises() ndarray[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

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

Bases: RealSolidArray, StressObject

property headers: list[str]
pyNastran.op2.tables.oes_stressStrain.real.oes_solids.calculate_principal_eigenvectors4(ntimes: int, nelements: int, oxx: ndarray, oyy: ndarray, ozz: ndarray, txy: ndarray, txz: ndarray, tyz: ndarray, is_stress: bool, 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(self, 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.o123_to_max_mid_min(o1, o2, o3)[source]
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]