oes_stressStrain Package¶
oes Module¶
Contains the OES class that is used to read stress/strain data
- class pyNastran.op2.tables.oes_stressStrain.oes.OES[source]¶
Bases: pyNastran.op2.op2_common.OP2Common
Defines the OES class that is used to read stress/strain data
- _create_oes_object2(nelements, result_name, result_vector_name, slot, slot_vector, obj, obj_vector)[source]¶
Creates the self.obj parameter based on if this is vectorized or not. :param self: the object pointer :param nelements: the number of elements to preallocate for vectorization :type nelements: integer :param result_name: unused :type result_name: string :param result_vector_name: unused :type result_vector_name: string :param slot: the self dictionary that will be filled with a
non-vectorized resultParameters: - slot_vector – the self dictionary that will be filled with a vectorized result
- obj – a pointer to the non-vectorized class
- obj_vector – a pointer to the vectorized class
Returns auto_return: a flag indicating a return n should be called
Returns result_name: string of result_name or result_vector_name
Since that’s confusing, let’s say we have real CTETRA stress data. We’re going to fill self.solidStress with the class RealSolidStress. If it were vectorized, we’d fill self.ctetra_stress. with RealSolidStressArray. So we call:
- if self._is_vectorized(RealSolidStressArray, self.ctetra_stress):
- if result_vector_name not in self._saved_results:
- return len(data)
- else:
- if result_name not in self._saved_results:
- return len(data)
- auto_return = self._create_oes_object2(self, nelements,
- ‘solidStress’, ‘ctetra_stress’, self.solidStress, self.ctetra_stress, RealSolidStress, RealSolidStressArray)
- if auto_return:
- return nelements * ntotal
- _parse_stress_code()[source]¶
s_code = 0 -> stress_bits = [0,0,0,0,0] s_code = 1 -> stress_bits = [0,0,0,0,1] s_code = 2 -> stress_bits = [0,0,0,1,0] s_code = 3 -> stress_bits = [0,0,0,1,1] etc. s_code = 32 -> stress_bits = [1,1,1,1,1]
stress_bits[0] = 0 -> isMaxShear=True isVonMises=False stress_bits[0] = 1 -> isMaxShear=False isVonMises=True
stress_bits[1] = 0 -> isStress=True isStrain=False stress_bits[2] = 0 -> isFiberCurvature=True isFiberDistance=False stress_bits[3] = 0 -> duplicate of Bit[1] (stress/strain) stress_bits[4] = 0 -> material coordinate system flag
oes_nonlinear Module¶
- class pyNastran.op2.tables.oes_stressStrain.oes_nonlinear.HyperelasticQuad(data_code, is_sort1, isubcase, dt)[source]¶
Bases: pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject
- class pyNastran.op2.tables.oes_stressStrain.oes_nonlinear.NonlinearQuad(data_code, is_sort1, isubcase, dt)[source]¶
Bases: pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject
- class pyNastran.op2.tables.oes_stressStrain.oes_nonlinear.NonlinearRod(data_code, is_sort1, isubcase, dt)[source]¶
Bases: pyNastran.op2.tables.oes_stressStrain.real.oes_objects.StressObject
- write_f06(header, page_stamp, page_num=1, f=None, is_mag_phase=False)[source]¶
ELEMENT-ID = 102 N O N L I N E A R 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 ) TIME AXIAL STRESS EQUIVALENT TOTAL STRAIN EFF. STRAIN EFF. CREEP LIN. TORSIONAL STRESS PLASTIC/NLELAST STRAIN STRESS 2.000E-02 1.941367E+01 1.941367E+01 1.941367E-04 0.0 0.0 0.0 3.000E-02 1.941367E+01 1.941367E+01 1.941367E-04 0.0 0.0 0.0