Skip to content

[IMPL] Implement stress-life prediction function based on the ASME mean-stress correction #50

@MartinNesladek

Description

@MartinNesladek

ℹ️ General Information

Component Name: ASME

Component Location: core/stress_life/damage_params/uniaxial_stress_eq_amp/

Suggested Python Name: calc_stress_eq_amp_asme

FABER WG Relation: 4.1

Brief Description: Uniaxial equivalent stress amplitude based on ASME

Priority: 1

Technical Complexity: 2

Estimated Effort: 2

Dependencies: -


Implementation Details

📋 Specification

Using the ASME mean stress correction, compute the value of equivalent stress amplitude, $\sigma_{aeq}$, in MPa for given stress values $\sigma_a$ and $\sigma_m$ representing a single load cycle.

Mathematical Formulation

$$ \displaystyle\sigma_{aeq}=\frac{\sigma_a}{\left[1-\left(\frac{\sigma_m}{R_e}\right)^2\right]^{1/2} } $$

$$  \displaystyle\sigma_{aeq}=\frac{\sigma_a}{\left[1-\left(\frac{\sigma_m}{R_e}\right)^2\right]^{1/2} } $$

Inputs

  1. Static tensile parameters
Parameter Symbol Type Description Units Constraints
yield_strength $R_{e}$ array of floats Tensile yield strength MPa $>0$
  1. Stress / Strain values
Parameter Symbol Type Description Units Range
stress_amp $\sigma_a$ array of floats stress amplitude MPa $(0; \infty)$
mean_stress $\sigma_m$ array of floats mean stress MPa $(-\infty;\infty)$

Outputs

Parameter Type Description Units Range
$\sigma_{aeq}$ array of floats Equivalent stress amplitude by ASME - $(0;\infty)$

Expected Behavior

🔧 Implementation Guidelines

Function Signature

# Suggested function signature
def calc_stress_eq_amp_asme(
    stress_amp: ArrayLike,
    mean_stress: ArrayLike,
    yield_strength: ArrayLike,
) -> NDArray[np.float64]:

Code Structure

Error Handling

✅ Validation & Testing

Test Cases

Test Case Inputs Expected Outputs Notes
Example 1 $R_{e} = 500 MPa; \sigma_a = 180 MPa, \sigma_m = 100 MPa$ $\sigma_{aeq} = 183.7 MPa$

Validation Criteria

  • Mathematical accuracy verified against literature
  • Edge cases handled appropriately
  • Output format matches specification

📚 References & Resources

J. Papuga, I. Vízková, M. Lutovinov, M. Nesládek: Mean stress effect in stress-life fatigue prediction re-evaluated, MATEC Web of Conferences 165, 10018, 2018.
https://www.matec-conferences.org/articles/matecconf/pdf/2018/24/matecconf_fatigue2018_10018.pdf

📝 Technical Notes

Performance Considerations

Edge Cases to Handle

An error handling should be implemented for $\left| \sigma_m \right|\geq R_e$.

Special Requirements

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions