The true_stress_strain module#
Simple conversion functions from technical stress/strain to true stress/strain including fracture stress/strain.
Convert technical tensile-test quantities to true stress-strain values.
The helpers in this module implement the logarithmic strain and area-corrected stress quantities commonly used in the FKM nonlinear static assessment.
- pylife.materiallaws.true_stress_strain.true_fracture_strain(reduction_area_fracture)[source]#
Calculate true fracture strain from reduction of area.
- Parameters:
reduction_area_fracture (float) – Relative reduction of cross-sectional area at fracture, dimensionless. Use a value between
0.0and1.0.- Returns:
True fracture strain, dimensionless.
- Return type:
Notes
This quantity is used by the FKM nonlinear static assessment and is based on the measured reduction of area after fracture:
\[\varepsilon_\mathrm{f,true} = \ln \left(\frac{1}{1 - Z}\right)\]
- pylife.materiallaws.true_stress_strain.true_fracture_stress(fracture_force, initial_cross_section, reduction_area_fracture)[source]#
Calculate true fracture stress from force and reduced area.
- Parameters:
fracture_force (float) – Force at fracture in N or another consistent force unit.
initial_cross_section (float) – Initial cross-sectional area of the tensile specimen in mm² or another consistent area unit.
reduction_area_fracture (float) – Relative reduction of cross-sectional area at fracture, dimensionless. Use a value between
0.0and1.0.
- Returns:
True fracture stress in the force-per-area unit implied by
fracture_forceandinitial_cross_section.- Return type:
Notes
The FKM nonlinear static assessment uses the fracture force divided by the remaining area at fracture:
\[\sigma_\mathrm{f,true} = \frac{F_\mathrm{f}}{S_0 (1 - Z)}\]
- pylife.materiallaws.true_stress_strain.true_strain(tech_strain)[source]#
Calculate true strain from technical strain.
- Parameters:
tech_strain (array_like) – Technical strain (engineering strain), dimensionless.
- Returns:
True logarithmic strain, dimensionless.
- Return type:
array_like
Notes
The calculation follows the standard conversion used for tensile-test data before necking:
\[\varepsilon_\mathrm{true} = \ln(1 + \varepsilon_\mathrm{tech})\]Examples
>>> from pylife.materiallaws.true_stress_strain import true_strain >>> round(float(true_strain(0.1)), 6) 0.09531
- pylife.materiallaws.true_stress_strain.true_stress(tech_stress, tech_strain)[source]#
Calculate true stress from technical stress and strain.
- Parameters:
tech_stress (array_like) – Technical stress (engineering stress) in MPa or another consistent force-per-area unit.
tech_strain (array_like) – Technical strain (engineering strain), dimensionless.
- Returns:
True stress in the same unit as
tech_stress.- Return type:
array_like
Notes
The conversion assumes volume constancy and uniform elongation:
\[\sigma_\mathrm{true} = \sigma_\mathrm{tech} (1 + \varepsilon_\mathrm{tech})\]